Atom feed of this document
Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse - 

 Chapter 10. Telemetry

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 (

The following tables provide a comprehensive list of the Telemetry configuration options.

Table 10.1. Description of configuration options for alarm
Configuration option = Default value Description
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.

Table 10.2. Description of configuration options for amqp
Configuration option = Default value Description
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

Table 10.3. Description of configuration options for api
Configuration option = Default value Description
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.
host = (StrOpt) The listen IP for the ceilometer API server.
port = 8777 (IntOpt) The port for the ceilometer API server.

Table 10.4. Description of configuration options for auth
Configuration option = Default value Description
auth_strategy = keystone (StrOpt) The strategy to use for auth: noauth or keystone.
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 = (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.
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.

Table 10.5. Description of configuration options for cells
Configuration option = Default value Description
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

Table 10.6. Description of configuration options for collector
Configuration option = Default value Description
collector_workers = 1 (IntOpt) Number of workers for collector service. A single collector is enabled by default.
udp_address = (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.
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.

Table 10.7. Description of configuration options for common
Configuration option = Default value Description
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.

Table 10.8. Description of configuration options for database
Configuration option = Default value Description
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
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).

Table 10.9. Description of configuration options for events
Configuration option = Default value Description
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)
ack_on_event_error = True (BoolOpt) Acknowledge message when event persistence fails.
store_events = False (BoolOpt) Save event details.

Table 10.10. Description of configuration options for exchange
Configuration option = Default value Description
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.

Table 10.11. Description of configuration options for inspector
Configuration option = Default value Description
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).

Table 10.12. Description of configuration options for logging
Configuration option = Default value Description
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).
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

Table 10.13. Description of configuration options for qpid
Configuration option = Default value Description
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

Table 10.14. Description of configuration options for rabbitmq
Configuration option = Default value Description
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

Table 10.15. Description of configuration options for redis
Configuration option = Default value Description
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.
host = (StrOpt) Host to locate redis
password = None (StrOpt) Password for Redis server. (optional)
port = 6379 (IntOpt) Use this port to connect to redis host.
ringfile = /etc/oslo/matchmaker_ring.json (StrOpt) Matchmaker ring file (JSON)

Table 10.16. Description of configuration options for rpc
Configuration option = Default value Description
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.
metering_secret = change this or be hacked (StrOpt) Secret value for signing metering messages.
metering_topic = metering (StrOpt) The topic that ceilometer uses for metering messages.
topics = notifications (ListOpt) AMQP topic(s) used for OpenStack notifications

Table 10.17. Description of configuration options for ssl
Configuration option = Default value Description
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

Table 10.18. Description of configuration options for swift
Configuration option = Default value Description
reseller_prefix = AUTH_ (StrOpt) Swift reseller prefix. Must be on par with reseller_prefix in proxy-server.conf.

Table 10.19. Description of configuration options for vmware
Configuration option = Default value Description
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

Questions? Discuss on
Found an error? Report a bug against this page

loading table of contents...