[DEFAULT] # # From oslo.log # # 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, log-date-format). (string value) # Note: This option can be changed without restarting. # Deprecated group/name - [DEFAULT]/log_config log_config_append = /etc/monasca/notification-logging.conf [alarm_processor] # Options to configure alarm processor. # # From monasca_notification # # DEPRECATED: Number of alarm processors to spawn (integer value) # Minimum value: 1 # This option is deprecated for removal since 1.8.0. # Its value may be silently ignored in the future. # Reason: Options is not used in the current code and will be removed in future # releases. #number = 2 # Alarms older than TTL are not processed by notification engine. (integer # value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. #ttl = 14400 [database] # Driver configuration for database connectivity. # # From monasca_notification # # Driver name (or full class path) that should be used to handle RDB # connections. Accepts either short labels dict_keys(['postgresql', 'mysql', # 'orm']) or full class names # dict_values(['monasca_notification.common.repositories.postgres.pgsql_repo:PostgresqlRepo', # 'monasca_notification.common.repositories.mysql.mysql_repo:MysqlRepo', # 'monasca_notification.common.repositories.orm.orm_repo:OrmRepo']). Configuring # either of them will require presence of one of following sections # dict_keys(['postgresql', 'mysql', 'orm']) inside configuration file. (plugin value) # Possible values: # orm - # mysql - # monasca_notification.common.repositories.postgres.pgsql_repo:PostgresqlRepo - # monasca_notification.common.repositories.orm.orm_repo:OrmRepo - # monasca_notification.common.repositories.mysql.mysql_repo:MysqlRepo - # postgresql - # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. #repo_driver = mysql [notification_types] # Group allows to configure available notifiers inside notification engine. # # From monasca_notification # # List of enabled notification types. You may specify full class name # monasca_notification.plugins.email_notifier:EmailNotifier or shorter label email. (list value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. # # This option has a sample default set, which means that # its actual default value may vary from the one documented # below. {% if NF_PLUGINS %} {% set enabled = NF_PLUGINS.split(',')|map('trim')|list %} enabled = {{ NF_PLUGINS }} {% else %} {% set enabled = [] %} #enabled = email,jira,pagerduty,slack,webhook {% endif %} ### EMAIL {% if 'email' in enabled %} [email_notifier] # # From monasca_notification # # (string value) from_addr = {{ NF_EMAIL_FROM_ADDR }} # (host address value) server = {{ NF_EMAIL_SERVER }} # (port value) # Minimum value: 0 # Maximum value: 65535 port = {{ NF_EMAIL_PORT | default(25) }} # (integer value) # Minimum value: 1 timeout = {{ NF_EMAIL_TIMEOUT | default(15) }} # (string value) user = {{ NF_EMAIL_USER }} # (string value) password = {{ NF_EMAIL_PASSWORD }} # (string value) grafana_url = {{ NF_EMAIL_GRAFANA_URL }} {% else %} #[email_notifier] # # From monasca_notification # # (string value) #from_addr = # (host address value) #server = # (port value) # Minimum value: 0 # Maximum value: 65535 #port = 25 # (integer value) # Minimum value: 1 #timeout = 5 # (string value) #user = # (string value) #password = # (string value) #grafana_url = {% endif %} ### JIRA {% if 'jira' in enabled %} [jira_notifier] # # From monasca_notification # {% else %} #[jira_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 #timeout = 5 # (string value) #user = # (string value) #password = # (string value) #custom_formatter = # (string value) #proxy = {% endif %} ### PAGERDUTY {% if 'pagerduty' in enabled %} [pagerduty_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 timeout = {{ NF_PAGERDUTY_TIMEOUT | default(5) }} # (string value) url = {{ NF_PAGERDUTY_URL | default('https://events.pagerduty.com/generic/2010-04-15/create_event.json') }} {% else %} #[pagerduty_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 #timeout = 5 # (string value) #url = https://events.pagerduty.com/generic/2010-04-15/create_event.json {% endif %} ### SLACK {% if 'slack' in enabled %} [slack_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 timeout = {{ NF_SLACK_TIMEOUT | default(5) }} # (boolean value) insecure = {{ NF_SLACK_INSECURE | default('false') }} # (string value) ca_certs = {{ NF_SLACK_CA_CERTS | default('/etc/ssl/certs/ca-certificates.crt') }} {% if NF_SLACK_PROXY %} # (string value) proxy = {{ NF_SLACK_PROXY }} {% endif %} {% else %} #[slack_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 #timeout = 5 # (boolean value) #insecure = true # (string value) #ca_certs = # (string value) #proxy = # (string value) #message_template = {% endif %} ### WEBHOOK {% if 'webhook' in enabled %} [webhook_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 timeout = {{ NF_WEBHOOK_TIMEOUT | default(5) }} {% else %} #[webhook_notifier] # # From monasca_notification # # (integer value) # Minimum value: 1 #timeout = 5 {% endif %} [kafka] # Options under this group allow to configure valid connection or Kafka queue. # # From monasca_notification # # List of addresses (with ports) pointing at Kafka cluster. (list value) url = {{ KAFKA_URI }} # Consumer's group for monasca-notification client. (string value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. group = monasca-notification # Topic name in kafka where alarm transitions are stored. (string value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. alarm_topic = alarm-state-transitions # Topic name in kafka where alarm notifications are stored. (string value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. notification_topic = alarm-notifications # Topic name in kafka where notifications, that have failed to be sent and are # waiting for retry operations, are stored. (string value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. notification_retry_topic = retry-notifications # Dict of periodic topics. Keys are the period and values the actual topic names # in kafka where notifications are stored. (dict value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. periodic = 60:60-seconds-notifications # Maximum lag for topic that is acceptable by the monasca-notification. # Notifications that are older than this offset are skipped. (integer value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. max_offset_lag = 600 # Enable legacy Kafka client. When set old version of kafka-python library is # used. Message format version for the brokers should be set to 0.9.0.0 to avoid # performance issues until all consumers are upgraded. (boolean value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. legacy_kafka_client_enabled = {{ KAFKA_LEGACY_CLIENT_ENABLED }} [keystone] # Options under this group allow to configure valid connection via # Keystoneauthentication. # # From monasca_notification # # This option enable or disable authentication using keystone (boolean value) #auth_required = false # URL of identity service (string value) #auth_url = http://127.0.0.1/identity/v3 # Username (string value) #username = admin # Password of identity service (string value) #password = password # Name of project (string value) #project_name = admin # User domain name (string value) #user_domain_name = default # Project domain name (string value) #project_domain_name = default # Type of authentication (string value) #auth_type = password [mysql] # Configuration options to configure plain MySQL RBD driver. # # From monasca_notification # # IP address of MySQL instance. (host address value) host = {{ MYSQL_HOST }} # Port number of MySQL instance. (port value) # Minimum value: 0 # Maximum value: 65535 port = {{ MYSQL_PORT }} # Username to connect to MySQL instance and given database. (string value) user = {{ MYSQL_USER }} # Password to connect to MySQL instance and given database. (string value) passwd = {{ MYSQL_PASSWORD }} # A dict of arguments similar to mysql_ssl_set parameters. (dict value) #ssl = # Database name available in given MySQL instance. (string value) db = {{ MYSQL_DB }} [notification_processor] # Options to configure notification processor. # # From monasca_notification # # Number of notification processors to spawn. (integer value) # Minimum value: 1 number = {{ NOTIFICATION_PROCESSORS }} [orm] # Configuration options to configure ORM RBD driver. # # From monasca_notification # # Connection string for sqlalchemy. (string value) #url = [postgresql] # Configuration options to configure plain PostgreSQL RBD driver. # # From monasca_notification # # IP address of PostgreSQL instance. (host address value) #host = 127.0.0.1 # Port number of PostgreSQL instance. (port value) # Minimum value: 0 # Maximum value: 65535 #port = 5432 # Username to connect to PostgreSQL instance and given database. (string value) #user = notification # Password to connect to PostgreSQL instance and given database (string value) #password = password # Database name available in given PostgreSQL instance. (string value) #database = mon [queues] # Options under this group allow to configure valid connection sizes of all # queues. # # From monasca_notification # # Size of the alarms queue. (integer value) # Minimum value: 1 alarms_size = 256 # Size of the finished alarms queue. (integer value) # Minimum value: 1 finished_size = 256 # Size of notifications queue. (integer value) # Minimum value: 1 notifications_size = 256 # Size of sent notifications queue. Limiting this size reduces potential or re- # sent notifications after a failure. (integer value) # Minimum value: 1 sent_notifications_size = 50 [retry_engine] # Options under this group allow to configure valid connection for retry engine. # # From monasca_notification # # How often should retry happen. (integer value) # Minimum value: 30 # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. interval = {{ RETRY_INTERVAL }} # How many times should retrying be tried. (integer value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. max_attempts = {{ RETRY_MAX_ATTEMPTS }} [statsd] # Options under this group allow to configure valid connection to statsd server # launched by monasca-agent. # # From monasca_notification # # Enable or disable self monitoring. (boolean value) enable = {{ STATSD_ENABLED }} # IP address of statsd server. (host address value) host = {{ STATSD_HOST }} # Port of statsd server. (port value) # Minimum value: 0 # Maximum value: 65535 port = {{ STATSD_PORT }} [zookeeper] # Options under this group allow to configure settings for zookeeper handling. # # From monasca_notification # # List of addresses (with ports) pointing at zookeeper cluster. (list value) url = {{ ZOOKEEPER_URL }} # Path in zookeeper tree to track notification offsets. (string value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. notification_path = /notification/alarms # Path in zookeeper tree to track notification retries offsets. (string value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. notification_retry_path = /notification/retry # Paths in zookeeper tree to track periodic offsets. Keys must be integers # describing the interval of periodic notification. Values are actual paths # inside zookeeper tree. (dict value) # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. periodic_path = 60:/notification/60_seconds