monasca-notification/docker/monasca-notification.conf.j2
Michal Piotrowski c34f3ef74b Fixed docker configuration template
- Added logging configuration
- Added env variables for puglins configuration
- Added env variables for Statsd configuration
- Removing Hipchat. This service doesn't exist anymore
- Removing deprecated ALARM_PROCESSORS env var

Change-Id: Ia35c7da1c306cdd1c14d787f1c54504d6df49080
Story: 2003180
Task: 39090
2020-11-11 13:00:32 +01:00

551 lines
14 KiB
Django/Jinja

[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 - <No description provided>
# mysql - <No description provided>
# monasca_notification.common.repositories.postgres.pgsql_repo:PostgresqlRepo - <No description provided>
# monasca_notification.common.repositories.orm.orm_repo:OrmRepo - <No description provided>
# monasca_notification.common.repositories.mysql.mysql_repo:MysqlRepo - <No description provided>
# postgresql - <No description provided>
# 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 = <None>
# (host address value)
#server = <None>
# (port value)
# Minimum value: 0
# Maximum value: 65535
#port = 25
# (integer value)
# Minimum value: 1
#timeout = 5
# (string value)
#user = <None>
# (string value)
#password = <None>
# (string value)
#grafana_url = <None>
{% 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 = <None>
# (string value)
#password = <None>
# (string value)
#custom_formatter = <None>
# (string value)
#proxy = <None>
{% 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 = <None>
# (string value)
#proxy = <None>
# (string value)
#message_template = <None>
{% 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 = <None>
[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