![Doug Szumski](/assets/img/avatar_default.png)
This plugin is useful for monitoring host clock synchronisation with an NTP reference. If the delta becomes too large, the metrics from this plugin can be used to trigger an alarm. Change-Id: Id1fe6d7c823f8404c19c81ccdeb8b311bcb46e47
315 lines
14 KiB
YAML
315 lines
14 KiB
YAML
---
|
|
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 %}"
|
|
# NOTE(dszumski): Only one NTP server is currently supported by the Monasca Agent plugin
|
|
monasca_ntp_server: "{{ external_ntp_servers | first }}"
|
|
|
|
# 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 }}"
|