--- project_name: "monasca" monasca_services: monasca-api: container_name: monasca_api group: monasca-api enabled: true image: "{{ monasca_api_image_full }}" volumes: - "{{ node_config_directory }}/monasca-api/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_api_dimensions }}" haproxy: monasca_api: enabled: "{{ enable_monasca }}" mode: "http" external: false port: "{{ monasca_api_port }}" monasca_api_external: enabled: "{{ enable_monasca }}" mode: "http" external: true port: "{{ monasca_api_port }}" monasca-log-api: container_name: monasca_log_api group: monasca-log-api enabled: true image: "{{ monasca_log_api_image_full }}" volumes: - "{{ node_config_directory }}/monasca-log-api/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_log_api_dimensions }}" haproxy: monasca_log_api: enabled: "{{ enable_monasca }}" mode: "http" external: false port: "{{ monasca_log_api_port }}" monasca_log_api_external: enabled: "{{ enable_monasca }}" mode: "http" external: true port: "{{ monasca_log_api_port }}" monasca-log-transformer: container_name: monasca_log_transformer group: monasca-log-transformer enabled: true image: "{{ monasca_logstash_image_full }}" volumes: - "{{ node_config_directory }}/monasca-log-transformer/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_log_transformer_dimensions }}" monasca-log-persister: container_name: monasca_log_persister group: monasca-log-persister enabled: true image: "{{ monasca_logstash_image_full }}" volumes: - "{{ node_config_directory }}/monasca-log-persister/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_log_persister_dimensions }}" monasca-log-metrics: container_name: monasca_log_metrics group: monasca-log-metrics enabled: true image: "{{ monasca_logstash_image_full }}" volumes: - "{{ node_config_directory }}/monasca-log-metrics/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_log_metrics_dimensions }}" monasca-thresh: container_name: monasca_thresh group: monasca-thresh enabled: true image: "{{ monasca_thresh_image_full }}" volumes: - "{{ node_config_directory }}/monasca-thresh/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "monasca_thresh:/var/lib/monasca-thresh/" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_thresh_dimensions }}" monasca-notification: container_name: monasca_notification group: monasca-notification enabled: true image: "{{ monasca_notification_image_full }}" volumes: - "{{ node_config_directory }}/monasca-notification/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_notification_dimensions }}" monasca-persister: container_name: monasca_persister group: monasca-persister enabled: true image: "{{ monasca_persister_image_full }}" volumes: - "{{ node_config_directory }}/monasca-persister/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_persister_dimensions }}" monasca-agent-collector: container_name: monasca_agent_collector group: monasca-agent-collector enabled: true image: "{{ monasca_agent_image_full }}" pid_mode: "host" volumes: - "{{ node_config_directory }}/monasca-agent-collector/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" - "/sys:/sys:ro" - "/dev/disk/:/dev/disk:ro" dimensions: "{{ monasca_agent_dimensions }}" monasca-agent-statsd: container_name: monasca_agent_statsd group: monasca-agent-statsd enabled: true image: "{{ monasca_agent_image_full }}" volumes: - "{{ node_config_directory }}/monasca-agent-statsd/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_agent_dimensions }}" monasca-agent-forwarder: container_name: monasca_agent_forwarder group: monasca-agent-forwarder enabled: true image: "{{ monasca_agent_image_full }}" volumes: - "{{ node_config_directory }}/monasca-agent-forwarder/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "kolla_logs:/var/log/kolla" dimensions: "{{ monasca_agent_dimensions }}" monasca-grafana: container_name: monasca_grafana group: monasca-grafana enabled: true image: "{{ monasca_grafana_image_full }}" volumes: - "{{ node_config_directory }}/monasca-grafana/:{{ container_config_directory }}/:ro" - "/etc/localtime:/etc/localtime:ro" - "monasca_grafana:/var/lib/grafana/" - "kolla_logs:/var/log/kolla/" dimensions: "{{ monasca_grafana_dimensions }}" haproxy: monasca_grafana_server: enabled: "{{ enable_monasca }}" mode: "http" external: false port: "{{ monasca_grafana_server_port }}" monasca_grafana_server_external: enabled: "{{ enable_monasca }}" mode: "http" external: true port: "{{ monasca_grafana_server_port }}" #################### # Databases #################### monasca_database_name: "monasca" monasca_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}monasca{% endif %}" monasca_grafana_database_name: "monasca_grafana" monasca_database_address: "{{ database_address }}" monasca_database_port: "{{ database_port }}" monasca_influxdb_name: "monasca" monasca_influxdb_address: "{{ kolla_internal_fqdn }}" monasca_influxdb_http_port: "{{ influxdb_http_port }}" monasca_influxdb_retention_policy: name: 'monasca_metrics' duration: "1w" replication_count: 1 #################### # Monasca #################### monasca_kafka_servers: "{% for host in groups['kafka'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ kafka_port }}{% if not loop.last %},{% endif %}{% endfor %}" monasca_zookeeper_servers: "{% for host in groups['zookeeper'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ zookeeper_client_port }}{% if not loop.last %},{% endif %}{% endfor %}" monasca_memcached_servers: "{% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}" monasca_elasticsearch_servers: "{% for host in groups['elasticsearch'] %}'{{ internal_protocol }}://{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ elasticsearch_port }}'{% if not loop.last %},{% endif %}{% endfor %}" monasca_storm_nimbus_servers: "{% for host in groups['storm-nimbus'] %}'{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}'{% if not loop.last %},{% endif %}{% endfor %}" # Kafka topics used by Monasca services monasca_metrics_topic: "metrics" monasca_raw_logs_topic: "logs" monasca_transformed_logs_topic: "transformed-logs" monasca_events_topic: "events" monasca_alarm_state_transitions_topic: "alarm-state-transitions" monasca_alarm_notifications_topic: "alarm-notifications" monasca_alarm_notifications_retry_topic: "retry-notifications" monasca_periodic_notifications_topic: "60-seconds-notifications" # NOTE(dszumski): Due to the way monasca-notification is currently # implemented it is not recommended to change this period. monasca_periodic_notifications_period: 60 # Agent settings monasca_agent_max_buffer_size: 1000 monasca_agent_backlog_send_rate: 1000 monasca_agent_max_batch_size: 1000 monasca_agent_check_frequency: 30 # Processing pipeline threads. In a large scale deployment you will likely # want to tune these with finer precision. For example, if you have a very # high log throughput, the log metrics service consumer may require a # higher thread count than the producer. You will also want to ensure that # the total number of threads across all instances of a service does not # exceed the Kafka topic partition count. monasca_log_pipeline_threads: 2 monasca_metric_pipeline_threads: 2 # Local password for Grafana. This account allows you to bypass Keystone # authentication. This must *not* match any OpenStack username. monasca_grafana_admin_username: "grafana_local_admin" monasca_grafana_data_sources: monasca: enabled: True data: name: "Monasca API" type: "monasca-datasource" access: "proxy" url: "{{ internal_protocol }}://{{ kolla_internal_vip_address }}:{{ monasca_api_port }}" isDefault: True basicAuth: false jsonData: keystoneAuth: True #################### # Docker #################### # NOTE(dszumski): Binary support for Monasca images is not yet available in Kolla monasca_install_type: "{{ kolla_install_type }}" monasca_tag: "{{ openstack_release }}" monasca_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-agent" monasca_agent_tag: "{{ monasca_tag }}" monasca_agent_image_full: "{{ monasca_agent_image }}:{{ monasca_agent_tag }}" monasca_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-api" monasca_api_tag: "{{ monasca_tag }}" monasca_api_image_full: "{{ monasca_api_image }}:{{ monasca_api_tag }}" monasca_log_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-log-api" monasca_log_api_tag: "{{ monasca_tag }}" monasca_log_api_image_full: "{{ monasca_log_api_image }}:{{ monasca_log_api_tag }}" monasca_logstash_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-logstash" monasca_logstash_tag: "{{ monasca_tag }}" monasca_logstash_image_full: "{{ monasca_logstash_image }}:{{ monasca_logstash_tag }}" monasca_thresh_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-thresh" monasca_thresh_tag: "{{ monasca_tag }}" monasca_thresh_image_full: "{{ monasca_thresh_image }}:{{ monasca_thresh_tag }}" monasca_notification_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-notification" monasca_notification_tag: "{{ monasca_tag }}" monasca_notification_image_full: "{{ monasca_notification_image }}:{{ monasca_notification_tag }}" monasca_persister_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-persister" monasca_persister_tag: "{{ monasca_tag }}" monasca_persister_image_full: "{{ monasca_persister_image }}:{{ monasca_persister_tag }}" monasca_grafana_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ monasca_install_type }}-monasca-grafana" monasca_grafana_tag: "{{ monasca_tag }}" monasca_grafana_image_full: "{{ monasca_grafana_image }}:{{ monasca_grafana_tag }}" monasca_agent_dimensions: "{{ default_container_dimensions }}" monasca_api_dimensions: "{{ default_container_dimensions }}" monasca_log_api_dimensions: "{{ default_container_dimensions }}" monasca_log_transformer_dimensions: "{{ default_container_dimensions }}" monasca_log_persister_dimensions: "{{ default_container_dimensions }}" monasca_log_metrics_dimensions: "{{ default_container_dimensions }}" monasca_thresh_dimensions: "{{ default_container_dimensions }}" monasca_notification_dimensions: "{{ default_container_dimensions }}" monasca_persister_dimensions: "{{ default_container_dimensions }}" monasca_grafana_dimensions: "{{ default_container_dimensions }}" #################### # OpenStack #################### monasca_openstack_auth: "{{ openstack_auth }}" monasca_keystone_user: "monasca" monasca_default_authorized_roles: - admin monasca_read_only_authorized_roles: - monasca-read-only-user # NOTE(dszumski): The first role in this list is assigned to the monasca-agent # user for monitoring the OpenStack deployment. monasca_agent_authorized_roles: - agent monasca_delegate_authorized_roles: - admin monasca_api_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_api_port }}/v2.0" monasca_api_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_api_port }}/v2.0" monasca_api_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ monasca_api_port }}/v2.0" monasca_log_api_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_log_api_port }}" monasca_log_api_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ monasca_log_api_port }}" monasca_log_api_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ monasca_log_api_port }}" monasca_logging_debug: "{{ openstack_logging_debug }}"