openstack-ansible-os_ceilom.../templates/ceilometer.conf.j2

157 lines
6.2 KiB
Django/Jinja

#{{ ansible_managed}}
{% set _workers = ansible_processor_vcpus|default(2) // 2 %}
{% set workers = _workers if _workers > 0 else 1 %}
[DEFAULT]
# Disable stderr logging
use_stderr = False
debug = {{ debug }}
auth_strategy = keystone
aodh_is_enabled = {{ ceilometer_aodh_enabled | bool }}
# RPC
transport_url = rabbit://{% for host in ceilometer_rabbitmq_servers.split(',') %}{{ ceilometer_rabbitmq_userid }}:{{ ceilometer_rabbitmq_password }}@{{ host }}:{{ ceilometer_rabbitmq_port }}{% if not loop.last %},{% else %}/{{ ceilometer_rabbitmq_vhost }}{% endif %}{% endfor %}
{% if ceilometer_gnocchi_enabled | bool %}
event_dispatchers = gnocchi
meter_dispatchers = gnocchi
{% endif %}
[oslo_policy]
policy_file = /etc/ceilometer/policy.json
[oslo_messaging_rabbit]
rabbit_use_ssl = {{ ceilometer_rabbitmq_use_ssl }}
[api]
gnocchi_is_enabled = {{ ceilometer_gnocchi_enabled | bool }}
workers = {{ ceilometer_api_workers | default(workers) }}
port = 8777
[collector]
workers = {{ ceilometer_collector_workers | default(workers) }}
{% if ceilometer_gnocchi_enabled | bool %}
batch_size = 10
batch_timeout = 5
{% endif %}
[notification]
workers = {{ ceilometer_notification_workers | default(workers) }}
store_events = {{ not ceilometer_gnocchi_enabled | bool }}
# Notification queues to listen on
# Ceilometer needs to connect to it's own rabbitmq vhost
{% for host in groups[ceilometer_rabbitmq_host_group] %}
messaging_urls = rabbit://{{ ceilometer_rabbitmq_userid }}:{{ ceilometer_rabbitmq_password }}@{{ hostvars[host]['ansible_host'] }}:{{ ceilometer_rabbitmq_port }}/{{ ceilometer_rabbitmq_vhost }}
{% endfor %}
{% if glance_ceilometer_enabled %}
# Glance notifications
{% for host in groups[glance_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ glance_rabbitmq_telemetry_userid }}:{{ glance_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ glance_rabbitmq_telemetry_port }}/{{ glance_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if nova_ceilometer_enabled %}
# Nova notifications
{% for host in groups[nova_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ nova_rabbitmq_telemetry_userid }}:{{ nova_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ nova_rabbitmq_telemetry_port }}/{{ nova_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if cinder_ceilometer_enabled %}
# Cinder notifications
{% for host in groups[cinder_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ cinder_rabbitmq_telemetry_userid }}:{{ cinder_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ cinder_rabbitmq_telemetry_port }}/{{ cinder_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if neutron_ceilometer_enabled %}
# Neutron notifications
{% for host in groups[neutron_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ neutron_rabbitmq_telemetry_userid }}:{{ neutron_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ neutron_rabbitmq_telemetry_port }}/{{ neutron_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if heat_ceilometer_enabled %}
# Heat notifications
{% for host in groups[heat_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ heat_rabbitmq_telemetry_userid }}:{{ heat_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ heat_rabbitmq_telemetry_port }}/{{ heat_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if keystone_ceilometer_enabled %}
# Keystone notifications
{% for host in groups[keystone_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ keystone_rabbitmq_telemetry_userid }}:{{ keystone_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ keystone_rabbitmq_telemetry_port }}/{{ keystone_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if swift_ceilometer_enabled %}
# Ceilometer notifications
{% for host in groups[swift_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ swift_rabbitmq_telemetry_userid }}:{{ swift_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_ssh_host'] }}:{{ swift_rabbitmq_telemetry_port }}/{{ swift_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
{% if sahara_ceilometer_enabled %}
# Sahara notifications
{% for host in groups[sahara_rabbitmq_telemetry_host_group] %}
messaging_urls = rabbit://{{ sahara_rabbitmq_telemetry_userid }}:{{ sahara_rabbitmq_telemetry_password }}@{{ hostvars[host]['ansible_host'] }}:{{ sahara_rabbitmq_telemetry_port }}/{{ sahara_rabbitmq_telemetry_vhost }}
{% endfor %}
{% endif %}
[database]
metering_connection = {{ ceilometer_connection_string }}
event_connection = {{ ceilometer_connection_string }}
{% if ceilometer_gnocchi_enabled | bool %}
[dispatcher_gnocchi]
archive_policy = low
{% if gnocchi_storage_driver is defined and gnocchi_storage_driver == 'swift' %}
filter_service_activity = True
filter_project = {{ gnocchi_service_project_name }}
{% endif %}
[storage]
max_retries = 80
{% endif %}
[keystone_authtoken]
insecure = {{ keystone_service_internaluri_insecure | bool }}
signing_dir = /var/cache/ceilometer
auth_uri = {{ keystone_service_internaluri }}
auth_url = {{ keystone_service_adminuri }}
auth_plugin = {{ ceilometer_keystone_auth_plugin }}
project_domain_id = {{ ceilometer_service_project_domain_id }}
user_domain_id = {{ ceilometer_service_user_domain_id }}
project_name = {{ ceilometer_service_project_name }}
username = {{ ceilometer_service_user_name }}
password = {{ ceilometer_service_password }}
region_name = {{ ceilometer_service_region }}
memcached_servers = {{ memcached_servers }}
token_cache_time = 300
revocation_cache_time = 60
memcache_security_strategy = ENCRYPT
memcache_secret_key = {{ memcached_encryption_key }}
[publisher]
telemetry_secret = {{ ceilometer_telemetry_secret }}
[service_credentials]
insecure = {{ keystone_service_internaluri_insecure | bool }}
auth_url = {{ keystone_service_adminurl }}
auth_plugin = {{ ceilometer_keystone_auth_plugin }}
project_domain_id = {{ ceilometer_service_project_domain_id }}
user_domain_id = {{ ceilometer_service_user_domain_id }}
project_name = {{ ceilometer_service_project_name }}
username = {{ ceilometer_service_user_name }}
password = {{ ceilometer_service_password }}
region_name = {{ ceilometer_service_region }}
os_endpoint_type = internalURL