The Telemetry service collects measurements within OpenStack. Its
various agents and services are configured in the
/etc/ceilometer/ceilometer.conf
file.
To install Telemetry, see the OpenStack Installation Guide for your distribution (docs.openstack.org).
The following tables provide a comprehensive list of the Telemetry configuration options.
Configuration option = Default value | Description |
---|---|
[alarm] | |
evaluation_interval = 60 | (IntOpt) Period of evaluation cycle, should be >= than configured pipeline interval for collection of underlying metrics. |
evaluation_service = ceilometer.alarm.service.SingletonAlarmService | (StrOpt) Class to launch as alarm evaluation service. |
notifier_rpc_topic = alarm_notifier | (StrOpt) The topic that ceilometer uses for alarm notifier messages. |
partition_rpc_topic = alarm_partition_coordination | (StrOpt) The topic that ceilometer uses for alarm partition coordination messages. |
record_history = True | (BoolOpt) Record alarm change events. |
rest_notifier_certificate_file = | (StrOpt) SSL Client certificate for REST notifier. |
rest_notifier_certificate_key = | (StrOpt) SSL Client private key for REST notifier. |
rest_notifier_ssl_verify = True | (BoolOpt) Whether to verify the SSL Server certificate when calling alarm action. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
amqp_auto_delete = False | (BoolOpt) Auto-delete queues in amqp. |
amqp_durable_queues = False | (BoolOpt) Use durable queues in amqp. |
notification_driver = [] | (MultiStrOpt) Driver or drivers to handle sending notifications |
notification_topics = notifications | (ListOpt) AMQP topic used for OpenStack notifications |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
enable_v1_api = True | (BoolOpt) Deploy the deprecated v1 API. |
max_request_body_size = 114688 | (IntOpt) The maximum body size per request, in bytes |
pipeline_cfg_file = pipeline.yaml | (StrOpt) Configuration file for pipeline definition. |
policy_default_rule = default | (StrOpt) Rule enforced when requested rule is not found |
policy_file = policy.json | (StrOpt) JSON file containing policy |
reserved_metadata_length = 256 | (IntOpt) Limit on length of reserved metadata values. |
reserved_metadata_namespace = metering. | (ListOpt) List of metadata prefixes reserved for metering use. |
[api] | |
host = 0.0.0.0 | (StrOpt) The listen IP for the ceilometer API server. |
port = 8777 | (IntOpt) The port for the ceilometer API server. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
auth_strategy = keystone | (StrOpt) The strategy to use for auth: noauth or keystone. |
[keystone_authtoken] | |
admin_password = None | (StrOpt) Keystone account password |
admin_tenant_name = admin | (StrOpt) Keystone service account tenant name to validate user tokens |
admin_token = None | (StrOpt) Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. |
admin_user = None | (StrOpt) Keystone account username |
auth_admin_prefix = | (StrOpt) Prefix to prepend at the beginning of the path |
auth_host = 127.0.0.1 | (StrOpt) Host providing the admin Identity API endpoint |
auth_port = 35357 | (IntOpt) Port of the admin Identity API endpoint |
auth_protocol = https | (StrOpt) Protocol of the admin Identity API endpoint(http or https) |
auth_uri = None | (StrOpt) Complete public Identity API endpoint |
auth_version = None | (StrOpt) API version of the admin Identity API endpoint |
cache = None | (StrOpt) Env key for the swift cache |
cafile = None | (StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None | (StrOpt) Required if Keystone server requires client certificate |
delay_auth_decision = False | (BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components |
enforce_token_bind = permissive | (StrOpt) Used to control the use and type of token binding. Can be set to: "disabled" to not check token binding. "permissive" (default) to validate binding information if the bind type is of a form known to the server and ignore it if not. "strict" like "permissive" but if the bind type is unknown the token will be rejected. "required" any form of token binding is needed to be allowed. Finally the name of a binding method that must be present in tokens. |
http_connect_timeout = None | (BoolOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3 | (IntOpt) How many times are we trying to reconnect when communicating with Identity API Server. |
include_service_catalog = True | (BoolOpt) (optional) indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header. |
insecure = False | (BoolOpt) Verify HTTPS connections. |
keyfile = None | (StrOpt) Required if Keystone server requires client certificate |
memcache_secret_key = None | (StrOpt) (optional, mandatory if memcache_security_strategy is defined) this string is used for key derivation. |
memcache_security_strategy = None | (StrOpt) (optional) if defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. If MAC, token data is authenticated (with HMAC) in the cache. If ENCRYPT, token data is encrypted and authenticated in the cache. If the value is not one of these options or empty, auth_token will raise an exception on initialization. |
memcached_servers = None | (ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
revocation_cache_time = 300 | (IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None | (StrOpt) Directory used to cache files related to PKI tokens |
token_cache_time = 300 | (IntOpt) In order to prevent excessive effort spent validating tokens, the middleware caches previously-seen tokens for a configurable duration (in seconds). Set to -1 to disable caching completely. |
[service_credentials] | |
insecure = False | (BoolOpt) Disables X.509 certificate validation when an SSL connection to Identity Service is established. |
os_auth_url = http://localhost:5000/v2.0 | (StrOpt) Auth URL to use for OpenStack service access. |
os_cacert = None | (StrOpt) Certificate chain for SSL validation. |
os_endpoint_type = publicURL | (StrOpt) Type of endpoint in Identity service catalog to use for communication with OpenStack services. |
os_password = admin | (StrOpt) Password to use for OpenStack service access. |
os_region_name = None | (StrOpt) Region name to use for OpenStack service endpoints. |
os_tenant_id = | (StrOpt) Tenant ID to use for OpenStack service access. |
os_tenant_name = admin | (StrOpt) Tenant name to use for OpenStack service access. |
os_username = ceilometer | (StrOpt) User name to use for OpenStack service access. |
Configuration option = Default value | Description |
---|---|
[cells] | |
bandwidth_update_interval = 600 | (IntOpt) Seconds between bandwidth updates for cells. |
call_timeout = 60 | (IntOpt) Seconds to wait for response from a call to a cell. |
capabilities = hypervisor=xenserver;kvm, os=linux;windows | (ListOpt) Key/Multi-value list with the capabilities of the cell |
cell_type = compute | (StrOpt) Type of cell: api or compute |
enable = False | (BoolOpt) Enable cell functionality |
manager = nova.cells.manager.CellsManager | (StrOpt) Manager for cells |
mute_child_interval = 300 | (IntOpt) Number of seconds after which a lack of capability and capacity updates signals the child cell is to be treated as a mute. |
name = nova | (StrOpt) Name of this cell |
reserve_percent = 10.0 | (FloatOpt) Percentage of cell capacity to hold in reserve. Affects both memory and disk utilization |
topic = cells | (StrOpt) The topic cells nodes listen on |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
collector_workers = 1 | (IntOpt) Number of workers for collector service. A single collector is enabled by default. |
[collector] | |
udp_address = 0.0.0.0 | (StrOpt) Address to which the UDP socket is bound. Set to an empty string to disable. |
udp_port = 4952 | (IntOpt) Port to which the UDP socket is bound. |
[dispatcher_file] | |
backup_count = 0 | (IntOpt) The max number of the files to keep. |
file_path = None | (StrOpt) Name and the location of the file to record meters. |
max_bytes = 0 | (IntOpt) The max size of the file. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
backdoor_port = None | (StrOpt) Enable eventlet backdoor. Acceptable values are 0, <port>, and <start>:<end>, where 0 results in listening on a random tcp port number; <port> results in listening on the specified port number (and not enabling backdoor if that port is in use); and <start>:<end> results in listening on the smallest unused port number within the specified range of port numbers. The chosen port is displayed in the service's log file. |
disable_process_locking = False | (BoolOpt) Whether to disable inter-process locks. |
fatal_deprecations = False | (BoolOpt) Make deprecations fatal |
lock_path = None | (StrOpt) Directory to use for lock files. |
memcached_servers = None | (ListOpt) Memcached servers or None for in process cache. |
notification_workers = 1 | (IntOpt) Number of workers for notification service. A single notification agent is enabled by default. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
database_connection = None | (StrOpt) DEPRECATED - Database connection string. |
mysql_engine = InnoDB | (StrOpt) MySQL engine to use. |
sqlite_db = ceilometer.sqlite | (StrOpt) The file name to use with SQLite |
sqlite_synchronous = True | (BoolOpt) If True, SQLite uses synchronous mode |
[database] | |
backend = sqlalchemy | (StrOpt) The backend to use for db |
connection = sqlite:////usr/lib/python/site-packages/ceilometer/openstack/common/db/$sqlite_db | (StrOpt) The SQLAlchemy connection string used to connect to the database |
connection_debug = 0 | (IntOpt) Verbosity of SQL debugging information. 0=None, 100=Everything |
connection_trace = False | (BoolOpt) Add python stack traces to SQL as comment strings |
idle_timeout = 3600 | (IntOpt) Timeout before idle sql connections are reaped |
max_overflow = None | (IntOpt) If set, use this value for max_overflow with sqlalchemy |
max_pool_size = None | (IntOpt) Maximum number of SQL connections to keep open in a pool |
max_retries = 10 | (IntOpt) Maximum db connection retries during startup. (setting -1 implies an infinite retry count) |
min_pool_size = 1 | (IntOpt) Minimum number of SQL connections to keep open in a pool |
pool_timeout = None | (IntOpt) If set, use this value for pool_timeout with sqlalchemy |
retry_interval = 10 | (IntOpt) Interval between retries of opening a sql connection |
slave_connection = | (StrOpt) The SQLAlchemy connection string used to connect to the slave database |
time_to_live = -1 | (IntOpt) Number of seconds that samples are kept in the database for (<= 0 means forever). |
Configuration option = Default value | Description |
---|---|
[event] | |
definitions_cfg_file = event_definitions.yaml | (StrOpt) Configuration file for event definitions. |
drop_unmatched_notifications = False | (BoolOpt) Drop notifications if no event definition matches. (Otherwise, we convert them with just the default traits) |
[notification] | |
ack_on_event_error = True | (BoolOpt) Acknowledge message when event persistence fails. |
store_events = False | (BoolOpt) Save event details. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
cinder_control_exchange = cinder | (StrOpt) Exchange name for Cinder notifications. |
control_exchange = openstack | (StrOpt) AMQP exchange to connect to if using RabbitMQ or Qpid |
default_publisher_id = None | (StrOpt) Default publisher_id for outgoing notifications |
glance_control_exchange = glance | (StrOpt) Exchange name for Glance notifications. |
heat_control_exchange = heat | (StrOpt) Exchange name for Heat notifications |
http_control_exchanges = ['nova', 'glance', 'neutron', 'cinder'] | (MultiStrOpt) Exchanges name to listen for notifications. |
neutron_control_exchange = neutron | (StrOpt) Exchange name for Neutron notifications. |
nova_control_exchange = nova | (StrOpt) Exchange name for Nova notifications. |
sample_source = openstack | (StrOpt) Source for samples emitted on this instance. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
hypervisor_inspector = libvirt | (StrOpt) Inspector to use for inspecting the hypervisor layer. |
libvirt_type = kvm | (StrOpt) Libvirt domain type (valid options are: kvm, lxc, qemu, uml, xen). |
libvirt_uri = | (StrOpt) Override the default libvirt URI (which is dependent on libvirt_type). |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
debug = False | (BoolOpt) Print debugging output (set logging level to DEBUG instead of default WARNING level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN | (ListOpt) List of logger=LEVEL pairs |
default_notification_level = INFO | (StrOpt) Default notification level for outgoing notifications |
instance_format = "[instance: %(uuid)s] " | (StrOpt) If an instance is passed with the log message, format it like this |
instance_uuid_format = "[instance: %(uuid)s] " | (StrOpt) If an instance UUID is passed with the log message, format it like this |
log_config_append = None | (StrOpt) The name of logging configuration file. It does not disable existing loggers, but just appends specified logging configuration to any other existing logging options. Please see the Python logging module documentation for details on logging configuration files. |
log_date_format = %Y-%m-%d %H:%M:%S | (StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s |
log_dir = None | (StrOpt) (Optional) The base directory used for relative --log-file paths |
log_file = None | (StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
log_format = None | (StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Please use logging_context_format_string and logging_default_format_string instead. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s | (StrOpt) Format string to use for log messages with context |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d | (StrOpt) Data to append to log format when level is DEBUG |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s | (StrOpt) Format string to use for log messages without context |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s | (StrOpt) Prefix each line of exception output with this format |
publish_errors = False | (BoolOpt) Publish error events |
syslog_log_facility = LOG_USER | (StrOpt) Syslog facility to receive log lines |
use_stderr = True | (BoolOpt) Log output to standard error |
use_syslog = False | (BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and then will be changed in J to honor RFC5424 |
use_syslog_rfc_format = False | (BoolOpt) (Optional) Use syslog rfc5424 format for logging. If enabled, will add APP-NAME (RFC5424) before the MSG part of the syslog message. The old format without APP-NAME is deprecated in I, and will be removed in J. |
verbose = False | (BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
[audit] | |
api_audit_map = api_audit_map.conf | (StrOpt) File containing mapping for api paths and service endpoints |
namespace = openstack | (StrOpt) namespace prefix for generated id |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
qpid_heartbeat = 60 | (IntOpt) Seconds between connection keepalive heartbeats |
qpid_hostname = localhost | (StrOpt) Qpid broker hostname |
qpid_hosts = $qpid_hostname:$qpid_port | (ListOpt) Qpid HA cluster host:port pairs |
qpid_password = | (StrOpt) Password for qpid connection |
qpid_port = 5672 | (IntOpt) Qpid broker port |
qpid_protocol = tcp | (StrOpt) Transport to use, either 'tcp' or 'ssl' |
qpid_sasl_mechanisms = | (StrOpt) Space separated list of SASL mechanisms to use for auth |
qpid_tcp_nodelay = True | (BoolOpt) Disable Nagle algorithm |
qpid_topology_version = 1 | (IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username = | (StrOpt) Username for qpid connection |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
fake_rabbit = False | (BoolOpt) If passed, use a fake RabbitMQ provider |
kombu_ssl_ca_certs = | (StrOpt) SSL certification authority file (valid only if SSL enabled) |
kombu_ssl_certfile = | (StrOpt) SSL cert file (valid only if SSL enabled) |
kombu_ssl_keyfile = | (StrOpt) SSL key file (valid only if SSL enabled) |
kombu_ssl_version = | (StrOpt) If SSL is enabled, the SSL version to use. Valid values are TLSv1, SSLv23 and SSLv3. SSLv2 might be available on some distributions. |
rabbit_ha_queues = False | (BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost | (StrOpt) The RabbitMQ broker address where a single node is used |
rabbit_hosts = $rabbit_host:$rabbit_port | (ListOpt) RabbitMQ HA cluster host:port pairs |
rabbit_max_retries = 0 | (IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count) |
rabbit_password = guest | (StrOpt) The RabbitMQ password |
rabbit_port = 5672 | (IntOpt) The RabbitMQ broker port where a single node is used |
rabbit_retry_backoff = 2 | (IntOpt) How long to backoff for between retries when connecting to RabbitMQ |
rabbit_retry_interval = 1 | (IntOpt) How frequently to retry connecting with RabbitMQ |
rabbit_use_ssl = False | (BoolOpt) Connect over SSL for RabbitMQ |
rabbit_userid = guest | (StrOpt) The RabbitMQ userid |
rabbit_virtual_host = / | (StrOpt) The RabbitMQ virtual host |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
host = oslo | (StrOpt) Name of this node, which must be valid in an AMQP key. Can be an opaque identifier. For ZeroMQ only, must be a valid host name, FQDN, or IP address. |
matchmaker_heartbeat_freq = 300 | (IntOpt) Heartbeat frequency |
matchmaker_heartbeat_ttl = 600 | (IntOpt) Heartbeat time-to-live. |
[matchmaker_redis] | |
host = 127.0.0.1 | (StrOpt) Host to locate redis |
password = None | (StrOpt) Password for Redis server. (optional) |
port = 6379 | (IntOpt) Use this port to connect to redis host. |
[matchmaker_ring] | |
ringfile = /etc/oslo/matchmaker_ring.json | (StrOpt) Matchmaker ring file (JSON) |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
allowed_rpc_exception_modules = nova.exception, cinder.exception, exceptions | (ListOpt) Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call. |
dispatcher = ['database'] | (MultiStrOpt) Dispatcher to process data. |
rpc_backend = ceilometer.openstack.common.rpc.impl_kombu | (StrOpt) The messaging module to use, defaults to kombu. |
rpc_cast_timeout = 30 | (IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool |
rpc_response_timeout = 60 | (IntOpt) Seconds to wait for a response from call or multicall |
rpc_thread_pool_size = 64 | (IntOpt) Size of RPC thread pool |
rpc_zmq_bind_address = * | (StrOpt) ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The "host" option should point or resolve to this address. |
rpc_zmq_contexts = 1 | (IntOpt) Number of ZeroMQ contexts, defaults to 1 |
rpc_zmq_host = oslo | (StrOpt) Name of this node. Must be a valid hostname, FQDN, or IP address. Must match "host" option, if running Nova. |
rpc_zmq_ipc_dir = /var/run/openstack | (StrOpt) Directory for holding IPC sockets |
rpc_zmq_matchmaker = ceilometer.openstack.common.rpc.matchmaker.MatchMakerLocalhost | (StrOpt) MatchMaker driver |
rpc_zmq_port = 9501 | (IntOpt) ZeroMQ receiver listening port |
rpc_zmq_topic_backlog = None | (IntOpt) Maximum number of ingress messages to locally buffer per topic. Default is unlimited. |
[publisher] | |
metering_secret = change this or be hacked | (StrOpt) Secret value for signing metering messages. |
[publisher_rpc] | |
metering_topic = metering | (StrOpt) The topic that ceilometer uses for metering messages. |
[rpc_notifier2] | |
topics = notifications | (ListOpt) AMQP topic(s) used for OpenStack notifications |
Configuration option = Default value | Description |
---|---|
[ssl] | |
ca_file = None | (StrOpt) CA certificate file to use to verify connecting clients |
cert_file = None | (StrOpt) Certificate file to use when starting the server securely |
key_file = None | (StrOpt) Private key file to use when starting the server securely |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
reseller_prefix = AUTH_ | (StrOpt) Swift reseller prefix. Must be on par with reseller_prefix in proxy-server.conf. |
Configuration option = Default value | Description |
---|---|
[vmware] | |
api_retry_count = 10 | (IntOpt) Number of times a VMware Vsphere API must be retried |
host_ip = | (StrOpt) IP address of the VMware Vsphere host |
host_password = | (StrOpt) Password of VMware Vsphere |
host_username = | (StrOpt) Username of VMware Vsphere |
task_poll_interval = 0.5 | (FloatOpt) Sleep time in seconds for polling an ongoing async task |