Chapter 2. ceilometer

The following chapter contains information about the configuration options in the ceilometer service.

2.1. ceilometer.conf

This section contains options for the /etc/ceilometer/ceilometer.conf file.

2.1.1. DEFAULT

The following table outlines the options available under the [DEFAULT] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.1. DEFAULT

Configuration option = Default valueTypeDescription

backdoor_port = None

string value

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.

backdoor_socket = None

string value

Enable eventlet backdoor, using the provided path as a unix socket that can receive connections. This option is mutually exclusive with backdoor_port in that only one should be provided. If both are provided then the existence of this option overrides the usage of that option.

batch_polled_samples = True

boolean value

To reduce polling agent load, samples are sent to the notification agent in a batch. To gain higher throughput at the cost of load set this to False.

conn_pool_min_size = 2

integer value

The pool size limit for connections expiration policy

conn_pool_ttl = 1200

integer value

The time-to-live in sec of idle connections in the pool

control_exchange = openstack

string value

The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.

debug = False

boolean value

If set to true, the logging level will be set to DEBUG instead of the default INFO level.

default_log_levels = [u'amqp=WARN', u'amqplib=WARN', u'boto=WARN', u'qpid=WARN', u'sqlalchemy=WARN', u'suds=INFO', u'oslo.messaging=INFO', u'oslo_messaging=INFO', u'iso8601=WARN', u'requests.packages.urllib3.connectionpool=WARN', u'urllib3.connectionpool=WARN', u'websocket=WARN', u'requests.packages.urllib3.util.retry=WARN', u'urllib3.util.retry=WARN', u'keystonemiddleware=WARN', u'routes.middleware=WARN', u'stevedore=WARN', u'taskflow=WARN', u'keystoneauth=WARN', u'oslo.cache=INFO', u'dogpile.core.dogpile=INFO']

list value

List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.

event_pipeline_cfg_file = event_pipeline.yaml

string value

Configuration file for event pipeline definition.

executor_thread_pool_size = 64

integer value

Size of executor thread pool when executor is threading or eventlet.

fatal_deprecations = False

boolean value

Enables or disables fatal status of deprecations.

graceful_shutdown_timeout = 60

integer value

Specify a timeout after which a gracefully shutdown server will exit. Zero value means endless wait.

host = ccsosp-undercloud.usersys.redhat.com

unknown value

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.

http_timeout = 600

integer value

Timeout seconds for HTTP requests. Set it to None to disable timeout.

hypervisor_inspector = libvirt

string value

Inspector to use for inspecting the hypervisor layer. Known inspectors are libvirt, hyperv, vsphere and xenapi.

`instance_format = [instance: %(uuid)s] `

string value

The format for an instance that is passed with the log message.

`instance_uuid_format = [instance: %(uuid)s] `

string value

The format for an instance UUID that is passed with the log message.

libvirt_type = kvm

string value

Libvirt domain type.

`libvirt_uri = `

string value

Override the default libvirt URI (which is dependent on libvirt_type).

log-config-append = None

string value

The name of a logging configuration file. This file is appended to any existing logging configuration files. For details about logging configuration files, see the Python logging module documentation. Note that when logging configuration files are used then all logging configuration is set in the configuration file and other logging configuration options are ignored (for example, logging_context_format_string).

log-date-format = %Y-%m-%d %H:%M:%S

string value

Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set.

log-dir = None

string value

(Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.

log-file = None

string value

(Optional) Name of log file to send logging output to. If no default is set, logging will go to stderr as defined by use_stderr. This option is ignored if log_config_append is set.

log_options = True

boolean value

Enables or disables logging values of all registered options when starting a service (at DEBUG level).

logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s

string value

Format string to use for log messages with context.

logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

string value

Additional data to append to log message when logging level for the message is DEBUG.

logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

string value

Format string to use for log messages when context is undefined.

logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

string value

Prefix each line of exception output with this format.

logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s

string value

Defines the format string for %(user_identity)s that is used in logging_context_format_string.

max_parallel_requests = 64

integer value

Maximum number of parallel requests for services to handle at the same time.

pipeline_cfg_file = pipeline.yaml

string value

Configuration file for pipeline definition.

publish_errors = False

boolean value

Enables or disables publication of error events.

rate_limit_burst = 0

integer value

Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level = CRITICAL

string value

Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or empty string. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.

rate_limit_interval = 0

integer value

Interval, number of seconds, of log rate limiting.

reseller_prefix = AUTH_

string value

Swift reseller prefix. Must be on par with reseller_prefix in proxy-server.conf.

reserved_metadata_keys = []

list value

List of metadata keys reserved for metering use. And these keys are additional to the ones included in the namespace.

reserved_metadata_length = 256

integer value

Limit on length of reserved metadata values.

reserved_metadata_namespace = [u'metering.']

list value

List of metadata prefixes reserved for metering use.

rootwrap_config = /etc/ceilometer/rootwrap.conf

string value

Path to the rootwrap configuration file to use for running commands as root

rpc_ack_timeout_base = 15

integer value

Number of seconds to wait for an ack from a cast/call. After each retry attempt this timeout is multiplied by some specified multiplier.

rpc_ack_timeout_multiplier = 2

integer value

Number to multiply base ack timeout by after each retry attempt.

rpc_backend = rabbit

string value

The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq.

rpc_conn_pool_size = 30

integer value

Size of RPC connection pool.

rpc_message_ttl = 300

integer value

Expiration timeout in seconds of a sent/received message after which it is not tracked anymore by a client/server.

rpc_poll_timeout = 1

integer value

The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired.

rpc_response_timeout = 60

integer value

Seconds to wait for a response from a call.

rpc_retry_attempts = 3

integer value

Default number of message sending attempts in case of any problems occurred: positive value N means at most N retries, 0 means no retries, None or -1 (or any other negative values) mean to retry forever. This option is used only if acknowledgments are enabled.

rpc_thread_pool_size = 100

integer value

Maximum number of (green) threads to work concurrently.

rpc_use_acks = False

boolean value

Wait for message acknowledgements from receivers. This mechanism works only via proxy without PUB/SUB.

rpc_zmq_bind_address = *

string value

ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The "host" option should point or resolve to this address.

rpc_zmq_bind_port_retries = 100

integer value

Number of retries to find free port number before fail with ZMQBindError.

rpc_zmq_contexts = 1

integer value

Number of ZeroMQ contexts, defaults to 1.

rpc_zmq_host = ccsosp-undercloud.usersys.redhat.com

string value

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

string value

Directory for holding IPC sockets.

rpc_zmq_matchmaker = redis

string value

MatchMaker driver.

rpc_zmq_max_port = 65536

integer value

Maximal port number for random ports range.

rpc_zmq_min_port = 49153

port value

Minimal port number for random ports range.

rpc_zmq_serialization = json

string value

Default serialization mechanism for serializing/deserializing outgoing/incoming messages

rpc_zmq_topic_backlog = None

integer value

Maximum number of ingress messages to locally buffer per topic. Default is unlimited.

sample_source = openstack

string value

Source for samples emitted on this instance.

subscribe_on = []

list value

List of publisher hosts SubConsumer can subscribe on. This option has higher priority then the default publishers list taken from the matchmaker.

syslog-log-facility = LOG_USER

string value

Syslog facility to receive log lines. This option is ignored if log_config_append is set.

transport_url = None

string value

The network address and optional user credentials for connecting to the messaging backend, in URL format. The expected format is:

driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query

Example: rabbit://rabbitmq:password@127.0.0.1:5672//

For full details on the fields in the URL see the documentation of oslo_messaging.TransportURL at https://docs.openstack.org/oslo.messaging/latest/reference/transport.html

use-journal = False

boolean value

Enable journald for logging. If running in a systemd environment you may wish to enable journal support. Doing so will use the journal native protocol which includes structured metadata in addition to log messages.This option is ignored if log_config_append is set.

use-json = False

boolean value

Use JSON formatting for logging. This option is ignored if log_config_append is set.

use-syslog = False

boolean value

Use syslog for logging. Existing syslog format is DEPRECATED and will be changed later to honor RFC5424. This option is ignored if log_config_append is set.

use_dynamic_connections = False

boolean value

This option makes direct connections dynamic or static. It makes sense only with use_router_proxy=False which means to use direct connections for direct message types (ignored otherwise).

use_pub_sub = False

boolean value

Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy.

use_router_proxy = False

boolean value

Use ROUTER remote proxy.

use_stderr = False

boolean value

Log output to standard error. This option is ignored if log_config_append is set.

watch-log-file = False

boolean value

Uses logging handler designed to watch file system. When log file is moved or removed this handler will open a new log file with specified path instantaneously. It makes sense only if log_file option is specified and Linux platform is used. This option is ignored if log_config_append is set.

zmq_failover_connections = 2

integer value

How many additional connections to a host will be made for failover reasons. This option is actual only in dynamic connections mode.

zmq_immediate = True

boolean value

This option configures round-robin mode in zmq socket. True means not keeping a queue when server side disconnects. False means to keep queue and messages even if server is disconnected, when the server appears we send all accumulated messages to it.

zmq_linger = -1

integer value

Number of seconds to wait before all pending messages will be sent after closing a socket. The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Positive values specify an upper bound for the linger period.

zmq_target_expire = 300

integer value

Expiration timeout in seconds of a name service record about existing target ( < 0 means no timeout).

zmq_target_update = 180

integer value

Update period in seconds of a name service record about existing target.

zmq_tcp_keepalive = -1

integer value

Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any other negative value) means to skip any overrides and leave it to OS default; 0 and 1 (or any other positive value) mean to disable and enable the option respectively.

zmq_tcp_keepalive_cnt = -1

integer value

The number of retransmissions to be carried out before declaring that remote end is not available. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_idle = -1

integer value

The duration between two keepalive transmissions in idle condition. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_intvl = -1

integer value

The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

2.1.2. compute

The following table outlines the options available under the [compute] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.2. compute

Configuration option = Default valueTypeDescription

instance_discovery_method = libvirt_metadata

string value

Ceilometer offers many methods to discover the instance running on a compute node: * naive: poll nova to get all instances * workload_partitioning: poll nova to get instances of the compute * libvirt_metadata: get instances from libvirt metadata but without instance metadata (recommended for Gnocchi backend

resource_cache_expiry = 3600

integer value

The expiry to totally refresh the instances resource cache, since the instance may be migrated to another host, we need to clean the legacy instances info in local cache by totally refreshing the local cache. The minimum should be the value of the config option of resource_update_interval. This option is only used for agent polling to Nova API, so it will work only when instance_discovery_method is set to naive.

resource_update_interval = 0

integer value

New instances will be discovered periodically based on this option (in seconds). By default, the agent discovers instances according to pipeline polling interval. If option is greater than 0, the instance list to poll will be updated based on this option’s interval. Measurements relating to the instances will match intervals defined in pipeline. This option is only used for agent polling to Nova API, so it will work only when instance_discovery_method is set to naive.

2.1.3. coordination

The following table outlines the options available under the [coordination] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.3. coordination

Configuration option = Default valueTypeDescription

backend_url = None

string value

The backend URL to use for distributed coordination. If left empty, per-deployment central agent and per-host compute agent won’t do workload partitioning and will only function correctly if a single instance of that service is running.

check_watchers = 10.0

floating point value

Number of seconds between checks to see if group membership has changed

2.1.4. dispatcher_gnocchi

The following table outlines the options available under the [dispatcher_gnocchi] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.4. dispatcher_gnocchi

Configuration option = Default valueTypeDescription

archive_policy = None

string value

The archive policy to use when the dispatcher create a new metric.

filter_project = gnocchi

string value

Gnocchi project used to filter out samples generated by Gnocchi service activity

request_timeout = 6.05

floating point value

Number of seconds before request to gnocchi times out

resources_definition_file = gnocchi_resources.yaml

string value

The Yaml file that defines mapping between samples and gnocchi resources/metrics

2.1.5. event

The following table outlines the options available under the [event] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.5. event

Configuration option = Default valueTypeDescription

definitions_cfg_file = event_definitions.yaml

string value

Configuration file for event definitions.

drop_unmatched_notifications = False

boolean value

Drop notifications if no event definition matches. (Otherwise, we convert them with just the default traits)

store_raw = []

multi valued

Store the raw notification for select priority levels (info and/or error). By default, raw details are not captured.

2.1.6. hardware

The following table outlines the options available under the [hardware] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.6. hardware

Configuration option = Default valueTypeDescription

meter_definitions_file = snmp.yaml

string value

Configuration file for defining hardware snmp meters.

readonly_user_auth_proto = None

string value

SNMPd v3 authentication algorithm of all the nodes running in the cloud

readonly_user_name = ro_snmp_user

string value

SNMPd user name of all nodes running in the cloud.

readonly_user_password = password

string value

SNMPd v3 authentication password of all the nodes running in the cloud.

readonly_user_priv_password = None

string value

SNMPd v3 encryption password of all the nodes running in the cloud.

readonly_user_priv_proto = None

string value

SNMPd v3 encryption algorithm of all the nodes running in the cloud

tripleo_network_name = ctlplane

string value

Name of the control plane Tripleo network

url_scheme = snmp://

string value

URL scheme to use for hardware nodes.

2.1.7. ipmi

The following table outlines the options available under the [ipmi] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.7. ipmi

Configuration option = Default valueTypeDescription

node_manager_init_retry = 3

integer value

Number of retries upon Intel Node Manager initialization failure

polling_retry = 3

integer value

Tolerance of IPMI/NM polling failures before disable this pollster. Negative indicates retrying forever.

2.1.8. matchmaker_redis

The following table outlines the options available under the [matchmaker_redis] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.8. matchmaker_redis

Configuration option = Default valueTypeDescription

check_timeout = 20000

integer value

Time in ms to wait before the transaction is killed.

host = 127.0.0.1

string value

Host to locate redis.

`password = `

string value

Password for Redis server (optional).

port = 6379

port value

Use this port to connect to redis host.

sentinel_group_name = oslo-messaging-zeromq

string value

Redis replica set name.

sentinel_hosts = []

list value

List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ]

socket_timeout = 10000

integer value

Timeout in ms on blocking socket operations.

wait_timeout = 2000

integer value

Time in ms to wait between connection attempts.

2.1.9. meter

The following table outlines the options available under the [meter] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.9. meter

Configuration option = Default valueTypeDescription

meter_definitions_cfg_file = None

string value

Configuration file for defining meter notifications. This option is deprecated and use meter_definitions_dirs to configure meter notification file. Meter definitions configuration file will be sought according to the parameter.

meter_definitions_dirs = [u'/etc/ceilometer/meters.d', u'/usr/lib/python2.7/site-packages/ceilometer/data/meters.d']

multi valued

List directory to find files of defining meter notifications.

2.1.10. notification

The following table outlines the options available under the [notification] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.10. notification

Configuration option = Default valueTypeDescription

ack_on_event_error = True

boolean value

Acknowledge message when event persistence fails.

batch_size = 100

integer value

Number of notification messages to wait before publishing them. Batching is advised when transformations are applied in pipeline.

batch_timeout = 5

integer value

Number of seconds to wait before publishing samples when batch_size is not reached (None means indefinitely)

messaging_urls = []

multi valued

Messaging URLs to listen for notifications. Example: rabbit://user:pass@host1:port1[,user:pass@hostN:portN]/virtual_host (DEFAULT/transport_url is used if empty). This is useful when you have dedicate messaging nodes for each service, for example, all nova notifications go to rabbit-nova:5672, while all cinder notifications go to rabbit-cinder:5672.

notification_control_exchanges = [u'nova', u'glance', u'neutron', u'cinder', u'heat', u'keystone', u'sahara', u'trove', u'zaqar', u'swift', u'ceilometer', u'magnum', u'dns', u'ironic', u'aodh']

multi valued

Exchanges name to listen for notifications.

pipeline_processing_queues = 10

integer value

Number of queues to parallelize workload across. This value should be larger than the number of active notification agents for optimal results. WARNING: Once set, lowering this value may result in lost data.

pipelines = [u'meter', u'event']

multi valued

Select which pipeline managers to enable to generate data

workers = 1

integer value

Number of workers for notification service, default value is 1.

workload_partitioning = False

boolean value

Enable workload partitioning, allowing multiple notification agents to be run simultaneously.

2.1.11. oslo_concurrency

The following table outlines the options available under the [oslo_concurrency] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.11. oslo_concurrency

Configuration option = Default valueTypeDescription

disable_process_locking = False

boolean value

Enables or disables inter-process locks.

lock_path = None

string value

Directory to use for lock files. For security, the specified directory should only be writable by the user running the processes that need locking. Defaults to environment variable OSLO_LOCK_PATH. If external locks are used, a lock path must be set.

2.1.12. oslo_messaging_amqp

The following table outlines the options available under the [oslo_messaging_amqp] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.12. oslo_messaging_amqp

Configuration option = Default valueTypeDescription

addressing_mode = dynamic

string value

Indicates the addressing mode used by the driver. Permitted values: legacy - use legacy non-routable addressing routable - use routable addresses dynamic - use legacy addresses if the message bus does not support routing otherwise use routable addressing

allow_insecure_clients = False

boolean value

Accept clients using either SSL or plain TCP

anycast_address = anycast

string value

Appended to the address prefix when sending to a group of consumers. Used by the message bus to identify messages that should be delivered in a round-robin fashion across consumers.

broadcast_prefix = broadcast

string value

address prefix used when broadcasting to all servers

connection_retry_backoff = 2

integer value

Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt.

connection_retry_interval = 1

integer value

Seconds to pause before attempting to re-connect.

connection_retry_interval_max = 30

integer value

Maximum limit for connection_retry_interval + connection_retry_backoff

container_name = None

string value

Name for the AMQP container. must be globally unique. Defaults to a generated UUID

default_notification_exchange = None

string value

Exchange name used in notification addresses. Exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange if set else notify

default_notify_timeout = 30

integer value

The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry.

default_reply_retry = 0

integer value

The maximum number of attempts to re-send a reply message which failed due to a recoverable error.

default_reply_timeout = 30

integer value

The deadline for an rpc reply message delivery.

default_rpc_exchange = None

string value

Exchange name used in RPC addresses. Exchange name resolution precedence: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else rpc

default_send_timeout = 30

integer value

The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry.

default_sender_link_timeout = 600

integer value

The duration to schedule a purge of idle sender links. Detach link after expiry.

group_request_prefix = unicast

string value

address prefix when sending to any server in group

idle_timeout = 0

integer value

Timeout for inactive connections (in seconds)

link_retry_delay = 10

integer value

Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error.

multicast_address = multicast

string value

Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages.

notify_address_prefix = openstack.org/om/notify

string value

Address prefix for all generated Notification addresses

notify_server_credit = 100

integer value

Window size for incoming Notification messages

`password = `

string value

Password for message broker authentication

pre_settled = [u'rpc-cast', u'rpc-reply']

multi valued

Send messages of this type pre-settled. Pre-settled messages will not receive acknowledgement from the peer. Note well: pre-settled messages may be silently discarded if the delivery fails. Permitted values: rpc-call - send RPC Calls pre-settled rpc-reply- send RPC Replies pre-settled rpc-cast - Send RPC Casts pre-settled notify - Send Notifications pre-settled

pseudo_vhost = True

boolean value

Enable virtual host support for those message buses that do not natively support virtual hosting (such as qpidd). When set to true the virtual host name will be added to all message bus addresses, effectively creating a private subnet per virtual host. Set to False if the message bus supports virtual hosting using the hostname field in the AMQP 1.0 Open performative as the name of the virtual host.

reply_link_credit = 200

integer value

Window size for incoming RPC Reply messages.

rpc_address_prefix = openstack.org/om/rpc

string value

Address prefix for all generated RPC addresses

rpc_server_credit = 100

integer value

Window size for incoming RPC Request messages

`sasl_config_dir = `

string value

Path to directory that contains the SASL configuration

`sasl_config_name = `

string value

Name of configuration file (without .conf suffix)

`sasl_default_realm = `

string value

SASL realm to use if no realm present in username

`sasl_mechanisms = `

string value

Space separated list of acceptable SASL mechanisms

server_request_prefix = exclusive

string value

address prefix used when sending to a specific server

ssl = False

boolean value

Attempt to connect via SSL. If no other ssl-related parameters are given, it will use the system’s CA-bundle to verify the server’s certificate.

`ssl_ca_file = `

string value

CA certificate PEM file used to verify the server’s certificate

`ssl_cert_file = `

string value

Self-identifying certificate PEM file for client authentication

`ssl_key_file = `

string value

Private key PEM file used to sign ssl_cert_file certificate (optional)

ssl_key_password = None

string value

Password for decrypting ssl_key_file (if encrypted)

ssl_verify_vhost = False

boolean value

By default SSL checks that the name in the server’s certificate matches the hostname in the transport_url. In some configurations it may be preferable to use the virtual hostname instead, for example if the server uses the Server Name Indication TLS extension (rfc6066) to provide a certificate per virtual host. Set ssl_verify_vhost to True if the server’s SSL certificate uses the virtual host name instead of the DNS name.

trace = False

boolean value

Debug: dump AMQP frames to stdout

unicast_address = unicast

string value

Appended to the address prefix when sending to a particular RPC/Notification server. Used by the message bus to identify messages sent to a single destination.

`username = `

string value

User name for message broker authentication

2.1.13. oslo_messaging_kafka

The following table outlines the options available under the [oslo_messaging_kafka] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.13. oslo_messaging_kafka

Configuration option = Default valueTypeDescription

conn_pool_min_size = 2

integer value

The pool size limit for connections expiration policy

conn_pool_ttl = 1200

integer value

The time-to-live in sec of idle connections in the pool

consumer_group = oslo_messaging_consumer

string value

Group id for Kafka consumer. Consumers in one group will coordinate message consumption

kafka_consumer_timeout = 1.0

floating point value

Default timeout(s) for Kafka consumers

kafka_default_host = localhost

string value

Default Kafka broker Host

kafka_default_port = 9092

port value

Default Kafka broker Port

kafka_max_fetch_bytes = 1048576

integer value

Max fetch bytes of Kafka consumer

pool_size = 10

integer value

Pool Size for Kafka Consumers

producer_batch_size = 16384

integer value

Size of batch for the producer async send

producer_batch_timeout = 0.0

floating point value

Upper bound on the delay for KafkaProducer batching in seconds

2.1.14. oslo_messaging_notifications

The following table outlines the options available under the [oslo_messaging_notifications] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.14. oslo_messaging_notifications

Configuration option = Default valueTypeDescription

driver = []

multi valued

The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop

retry = -1

integer value

The maximum number of attempts to re-send a notification message which failed to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite

topics = [u'notifications']

list value

AMQP topic used for OpenStack notifications.

transport_url = None

string value

A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC.

2.1.15. oslo_messaging_rabbit

The following table outlines the options available under the [oslo_messaging_rabbit] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.15. oslo_messaging_rabbit

Configuration option = Default valueTypeDescription

amqp_auto_delete = False

boolean value

Auto-delete queues in AMQP.

amqp_durable_queues = False

boolean value

Use durable queues in AMQP.

channel_max = None

integer value

Maximum number of channels to allow

connection_factory = single

string value

Connection factory implementation

default_notification_exchange = ${control_exchange}_notification

string value

Exchange name for sending notifications

default_notification_retry_attempts = -1

integer value

Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry.

default_rpc_exchange = ${control_exchange}_rpc

string value

Exchange name for sending RPC messages

default_rpc_retry_attempts = -1

integer value

Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more than one time

default_serializer_type = json

string value

Default serialization mechanism for serializing/deserializing outgoing/incoming messages

fake_rabbit = False

boolean value

Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake

frame_max = None

integer value

The maximum byte size for an AMQP frame

heartbeat_interval = 3

integer value

How often to send heartbeats for consumer’s connections

heartbeat_rate = 2

integer value

How often times during the heartbeat_timeout_threshold we check the heartbeat.

heartbeat_timeout_threshold = 60

integer value

Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disable the heartbeat). EXPERIMENTAL

host_connection_reconnect_delay = 0.25

floating point value

Set delay for reconnection to some host which has connection error

kombu_compression = None

string value

EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may not be available in future versions.

kombu_failover_strategy = round-robin

string value

Determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable. Takes effect only if more than one RabbitMQ node is provided in config.

kombu_missing_consumer_retry_timeout = 60

integer value

How long to wait a missing client before abandoning to send it its replies. This value should not be longer than rpc_response_timeout.

kombu_reconnect_delay = 1.0

floating point value

How long to wait before reconnecting in response to an AMQP consumer cancel notification.

notification_listener_prefetch_count = 100

integer value

Max number of not acknowledged message which RabbitMQ can send to notification listener.

notification_persistence = False

boolean value

Persist notification messages.

notification_retry_delay = 0.25

floating point value

Reconnecting retry delay in case of connectivity problem during sending notification message

pool_max_overflow = 0

integer value

Maximum number of connections to create above pool_max_size.

pool_max_size = 30

integer value

Maximum number of connections to keep queued.

pool_recycle = 600

integer value

Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire.

pool_stale = 60

integer value

Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire.

pool_timeout = 30

integer value

Default number of seconds to wait for a connections to available

rabbit_ha_queues = False

boolean value

Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring is no longer controlled by the x-ha-policy argument when declaring a queue. If you just want to make sure that all queues (except those with auto-generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy HA ^(?!amq\.).* {"ha-mode": "all"} "

rabbit_host = localhost

string value

The RabbitMQ broker address where a single node is used.

rabbit_hosts = [u'$rabbit_host:$rabbit_port']

list value

RabbitMQ HA cluster host:port pairs.

rabbit_interval_max = 30

integer value

Maximum interval of RabbitMQ connection retries. Default is 30 seconds.

rabbit_login_method = AMQPLAIN

string value

The RabbitMQ login method.

rabbit_max_retries = 0

integer value

Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count).

rabbit_password = guest

string value

The RabbitMQ password.

rabbit_port = 5672

port value

The RabbitMQ broker port where a single node is used.

rabbit_qos_prefetch_count = 0

integer value

Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.

rabbit_retry_backoff = 2

integer value

How long to backoff for between retries when connecting to RabbitMQ.

rabbit_retry_interval = 1

integer value

How frequently to retry connecting with RabbitMQ.

rabbit_transient_queues_ttl = 1800

integer value

Positive integer representing duration in seconds for queue TTL (x-expires). Queues which are unused for the duration of the TTL are automatically deleted. The parameter affects only reply and fanout queues.

rabbit_userid = guest

string value

The RabbitMQ userid.

rabbit_virtual_host = /

string value

The RabbitMQ virtual host.

rpc_listener_prefetch_count = 100

integer value

Max number of not acknowledged message which RabbitMQ can send to rpc listener.

rpc_queue_expiration = 60

integer value

Time to live for rpc queues without consumers in seconds.

rpc_reply_exchange = ${control_exchange}_rpc_reply

string value

Exchange name for receiving RPC replies

rpc_reply_listener_prefetch_count = 100

integer value

Max number of not acknowledged message which RabbitMQ can send to rpc reply listener.

rpc_reply_retry_attempts = -1

integer value

Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout

rpc_reply_retry_delay = 0.25

floating point value

Reconnecting retry delay in case of connectivity problem during sending reply.

rpc_retry_delay = 0.25

floating point value

Reconnecting retry delay in case of connectivity problem during sending RPC message

socket_timeout = 0.25

floating point value

Set socket timeout in seconds for connection’s socket

ssl = None

boolean value

Enable SSL

`ssl_ca_file = `

string value

SSL certification authority file (valid only if SSL enabled).

`ssl_cert_file = `

string value

SSL cert file (valid only if SSL enabled).

`ssl_key_file = `

string value

SSL key file (valid only if SSL enabled).

ssl_options = None

dict value

Arguments passed to ssl.wrap_socket

`ssl_version = `

string value

SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some distributions.

tcp_user_timeout = 0.25

floating point value

Set TCP_USER_TIMEOUT in seconds for connection’s socket

2.1.16. oslo_messaging_zmq

The following table outlines the options available under the [oslo_messaging_zmq] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.16. oslo_messaging_zmq

Configuration option = Default valueTypeDescription

rpc_ack_timeout_base = 15

integer value

Number of seconds to wait for an ack from a cast/call. After each retry attempt this timeout is multiplied by some specified multiplier.

rpc_ack_timeout_multiplier = 2

integer value

Number to multiply base ack timeout by after each retry attempt.

rpc_message_ttl = 300

integer value

Expiration timeout in seconds of a sent/received message after which it is not tracked anymore by a client/server.

rpc_poll_timeout = 1

integer value

The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired.

rpc_retry_attempts = 3

integer value

Default number of message sending attempts in case of any problems occurred: positive value N means at most N retries, 0 means no retries, None or -1 (or any other negative values) mean to retry forever. This option is used only if acknowledgments are enabled.

rpc_thread_pool_size = 100

integer value

Maximum number of (green) threads to work concurrently.

rpc_use_acks = False

boolean value

Wait for message acknowledgements from receivers. This mechanism works only via proxy without PUB/SUB.

rpc_zmq_bind_address = *

string value

ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The "host" option should point or resolve to this address.

rpc_zmq_bind_port_retries = 100

integer value

Number of retries to find free port number before fail with ZMQBindError.

rpc_zmq_contexts = 1

integer value

Number of ZeroMQ contexts, defaults to 1.

rpc_zmq_host = ccsosp-undercloud.usersys.redhat.com

string value

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

string value

Directory for holding IPC sockets.

rpc_zmq_matchmaker = redis

string value

MatchMaker driver.

rpc_zmq_max_port = 65536

integer value

Maximal port number for random ports range.

rpc_zmq_min_port = 49153

port value

Minimal port number for random ports range.

rpc_zmq_serialization = json

string value

Default serialization mechanism for serializing/deserializing outgoing/incoming messages

rpc_zmq_topic_backlog = None

integer value

Maximum number of ingress messages to locally buffer per topic. Default is unlimited.

subscribe_on = []

list value

List of publisher hosts SubConsumer can subscribe on. This option has higher priority then the default publishers list taken from the matchmaker.

use_dynamic_connections = False

boolean value

This option makes direct connections dynamic or static. It makes sense only with use_router_proxy=False which means to use direct connections for direct message types (ignored otherwise).

use_pub_sub = False

boolean value

Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy.

use_router_proxy = False

boolean value

Use ROUTER remote proxy.

zmq_failover_connections = 2

integer value

How many additional connections to a host will be made for failover reasons. This option is actual only in dynamic connections mode.

zmq_immediate = True

boolean value

This option configures round-robin mode in zmq socket. True means not keeping a queue when server side disconnects. False means to keep queue and messages even if server is disconnected, when the server appears we send all accumulated messages to it.

zmq_linger = -1

integer value

Number of seconds to wait before all pending messages will be sent after closing a socket. The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Positive values specify an upper bound for the linger period.

zmq_target_expire = 300

integer value

Expiration timeout in seconds of a name service record about existing target ( < 0 means no timeout).

zmq_target_update = 180

integer value

Update period in seconds of a name service record about existing target.

zmq_tcp_keepalive = -1

integer value

Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any other negative value) means to skip any overrides and leave it to OS default; 0 and 1 (or any other positive value) mean to disable and enable the option respectively.

zmq_tcp_keepalive_cnt = -1

integer value

The number of retransmissions to be carried out before declaring that remote end is not available. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_idle = -1

integer value

The duration between two keepalive transmissions in idle condition. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_intvl = -1

integer value

The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

2.1.17. polling

The following table outlines the options available under the [polling] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.17. polling

Configuration option = Default valueTypeDescription

cfg_file = polling.yaml

string value

Configuration file for polling definition.

partitioning_group_prefix = None

string value

Work-load partitioning group prefix. Use only if you want to run multiple polling agents with different config files. For each sub-group of the agent pool with the same partitioning_group_prefix a disjoint subset of pollsters should be loaded.

2.1.18. publisher

The following table outlines the options available under the [publisher] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.18. publisher

Configuration option = Default valueTypeDescription

telemetry_secret = change this for valid signing

string value

Secret value for signing messages. Set value empty if signing is not required to avoid computational overhead.

2.1.19. publisher_notifier

The following table outlines the options available under the [publisher_notifier] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.19. publisher_notifier

Configuration option = Default valueTypeDescription

event_topic = event

string value

The topic that ceilometer uses for event notifications.

metering_topic = metering

string value

The topic that ceilometer uses for metering notifications.

telemetry_driver = messagingv2

string value

The driver that ceilometer uses for metering notifications.

2.1.20. rgw_admin_credentials

The following table outlines the options available under the [rgw_admin_credentials] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.20. rgw_admin_credentials

Configuration option = Default valueTypeDescription

access_key = None

string value

Access key for Radosgw Admin.

secret_key = None

string value

Secret key for Radosgw Admin.

2.1.21. service_credentials

The following table outlines the options available under the [service_credentials] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.21. service_credentials

Configuration option = Default valueTypeDescription

auth-url = None

string value

Authentication URL

auth_section = None

string value

Config Section from which to load plugin specific options

auth_type = None

string value

Authentication type to load

default-domain-id = None

string value

Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication.

default-domain-name = None

string value

Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication.

domain-id = None

string value

Domain ID to scope to

domain-name = None

string value

Domain name to scope to

interface = public

string value

Type of endpoint in Identity service catalog to use for communication with OpenStack services.

password = None

string value

User’s password

project-domain-id = None

string value

Domain ID containing project

project-domain-name = None

string value

Domain name containing project

project-id = None

string value

Project ID to scope to

project-name = None

string value

Project name to scope to

region-name = None

string value

Region name to use for OpenStack service endpoints.

system-scope = None

string value

Scope for system operations

trust-id = None

string value

Trust ID

user-domain-id = None

string value

User’s domain id

user-domain-name = None

string value

User’s domain name

user-id = None

string value

User id

username = None

string value

Username

2.1.22. service_types

The following table outlines the options available under the [service_types] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.22. service_types

Configuration option = Default valueTypeDescription

cinder = volumev3

string value

Cinder service type.

glance = image

string value

Glance service type.

neutron = network

string value

Neutron service type.

neutron_lbaas_version = v2

string value

Neutron load balancer version.

nova = compute

string value

Nova service type.

radosgw = None

string value

Radosgw service type.

swift = object-store

string value

Swift service type.

2.1.23. vmware

The following table outlines the options available under the [vmware] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.23. vmware

Configuration option = Default valueTypeDescription

api_retry_count = 10

integer value

Number of times a VMware vSphere API may be retried.

ca_file = None

string value

CA bundle file to use in verifying the vCenter server certificate.

host_ip = 127.0.0.1

unknown value

IP address of the VMware vSphere host.

`host_password = `

string value

Password of VMware vSphere.

host_port = 443

port value

Port of the VMware vSphere host.

`host_username = `

string value

Username of VMware vSphere.

insecure = False

boolean value

If true, the vCenter server certificate is not verified. If false, then the default CA truststore is used for verification. This option is ignored if "ca_file" is set.

task_poll_interval = 0.5

floating point value

Sleep time in seconds for polling an ongoing async task.

wsdl_location = None

string value

Optional vim service WSDL location e.g http://<server>/vimService.wsdl. Optional over-ride to default location for bug work-arounds.

2.1.24. xenapi

The following table outlines the options available under the [xenapi] group in the /etc/ceilometer/ceilometer.conf file.

Table 2.24. xenapi

Configuration option = Default valueTypeDescription

connection_password = None

string value

Password for connection to XenServer/Xen Cloud Platform.

connection_url = None

string value

URL for connection to XenServer/Xen Cloud Platform.

connection_username = root

string value

Username for connection to XenServer/Xen Cloud Platform.