07da3274dc
"NF_EMAIL_GRAFANA_URL" is required when email plugin is configured for notification so add it to README. Change-Id: Id8d5fb1bf4cdd66c5f6ce0df513c38c877cca302
154 lines
6.1 KiB
ReStructuredText
154 lines
6.1 KiB
ReStructuredText
=====================================
|
|
Docker image for Monasca notification
|
|
=====================================
|
|
The Monasca notification image is based on the monasca-base image.
|
|
|
|
|
|
Building monasca-base image
|
|
===========================
|
|
See https://github.com/openstack/monasca-common/tree/master/docker/README.rst
|
|
|
|
|
|
Building Monasca notification image
|
|
===================================
|
|
|
|
Example:
|
|
$ ./build_image.sh <repository_version> <upper_constrains_branch> <common_version>
|
|
|
|
Everything after ``./build_image.sh`` is optional and by default configured
|
|
to get versions from ``Dockerfile``. ``./build_image.sh`` also contain more
|
|
detailed build description.
|
|
|
|
Environment variables
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
========================== ================= ================================================
|
|
Variable Default Description
|
|
========================== ================= ================================================
|
|
KAFKA_URI kafka:9092 The host and port for kafka
|
|
ZOOKEEPER_URL zookeeper:2181 URL to Zookeeper
|
|
ALARM_PROCESSORS 2 Number of alarm processing threads
|
|
NOTIFICATION_PROCESSORS 2 Number of notification processing threads
|
|
RETRY_INTERVAL 30 Retry interval in seconds
|
|
RETRY_MAX_ATTEMPTS 5 Max number of notification retries
|
|
LOG_LEVEL WARN Logging level
|
|
STATSD_ENABLE true Monasca agent StatsD enable or disable
|
|
STATSD_HOST monasca-statsd Monasca agent StatsD host for self-monitoring
|
|
STATSD_PORT 8125 Monasca agent StatsD port for self-monitoring
|
|
NF_PLUGINS <not set> See below "Notification Plugins"
|
|
MYSQL_HOST mysql The host for MySQL
|
|
MYSQL_PORT 3306 The port for MySQL
|
|
MYSQL_USER notification The MySQL username
|
|
MYSQL_PASSWORD password The MySQL password
|
|
MYSQL_DB mon The MySQL database name
|
|
STAY_ALIVE_ON_FAILURE false If true, container runs 2 hours even start fails
|
|
========================== ================= ================================================
|
|
|
|
Wait scripts environment variables
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
======================== ========================== ==========================================
|
|
Variable Default Description
|
|
======================== ========================== ==========================================
|
|
KAFKA_URI kafka:9092 URI to Apache Kafka
|
|
KAFKA_WAIT_FOR_TOPICS retry-notifications, The topics where metric-api streams
|
|
alarm-state-transitions, the metric messages and alarm-states
|
|
alarm-notifications,
|
|
60-seconds-notifications
|
|
KAFKA_WAIT_RETRIES 24 Number of kafka connect attempts
|
|
KAFKA_WAIT_DELAY 5 Seconds to wait between attempts
|
|
MYSQL_HOST mysql The host for MySQL
|
|
MYSQL_PORT 3306 The port for MySQL
|
|
MYSQL_USER notification The MySQL username
|
|
MYSQL_PASSWORD password The MySQL password
|
|
MYSQL_DB mon The MySQL database name
|
|
MYSQL_WAIT_RETRIES 24 Number of MySQL connection attempts
|
|
MYSQL_WAIT_DELAY 5 Seconds to wait between attempts
|
|
======================== ========================== ==========================================
|
|
|
|
Scripts
|
|
~~~~~~~
|
|
start.sh
|
|
In this starting script provide all steps that lead to the proper service
|
|
start. Including usage of wait scripts and templating of configuration
|
|
files. You also could provide the ability to allow running container after
|
|
service died for easier debugging.
|
|
|
|
health_check.py
|
|
This file will be used for checking the status of the application.
|
|
|
|
Notification Plugins
|
|
--------------------
|
|
A list of notification plugins can be provided by setting NF_PLUGINS to a comma-separated list of plugin names
|
|
e.g. email,webhook,hipchat.
|
|
|
|
|
|
Email
|
|
-----
|
|
Name: email
|
|
|
|
This plugin sends email notifications when an alarm is triggered.
|
|
|
|
Options:
|
|
* NF_EMAIL_SERVER: SMTP server address, required, unset by default
|
|
* NF_EMAIL_PORT: SMTP server port, default: 25
|
|
* NF_EMAIL_USER: SMTP username, optional, unset by default
|
|
* NF_EMAIL_PASSWORD, SMTP password, required only if NF_EMAIL_USER is set
|
|
* NF_EMAIL_FROM_ADDR: "from" field for emails sent, e.g. "Name" <name@example.com>
|
|
* NF_EMAIL_GRAFANA_URL: grafana url, required, unset by default
|
|
|
|
|
|
Webhook
|
|
-------
|
|
Name: webhook
|
|
|
|
This plugin calls a webhook when an alarm is triggered. Specific parameters, like the URL to load, are part of the notification rather than the notification plugin.
|
|
|
|
Options:
|
|
* NF_WEBHOOK_TIMEOUT: timeout in seconds, default: 5
|
|
|
|
|
|
PagerDuty
|
|
---------
|
|
Name: pagerduty
|
|
|
|
Creates a PagerDuty event for the given alarm.
|
|
|
|
Options:
|
|
* NF_PAGERDUTY_TIMEOUT: timeout in seconds, default: 5
|
|
* NF_PAGERDUTY_URL: PagerDuty Event API endpoint, defaults to official URL
|
|
|
|
|
|
HipChat
|
|
-------
|
|
Name: hipchat
|
|
|
|
Notifies via a HipChat message to some room. Authentication and destination details are configured with the notification.
|
|
|
|
Options:
|
|
* NF_HIPCHAT_TIMEOUT: timeout in seconds, default: 5
|
|
* NF_HIPCHAT_SSL_CERTS: path to SSL certs, default: system certs
|
|
* NF_HIPCHAT_INSECURE: if true, don't verify SSL
|
|
* NF_HIPCHAT_PROXY: if set, use the given HTTP(S) proxy server to send notifications
|
|
|
|
|
|
Slack
|
|
-----
|
|
Name: slack
|
|
|
|
Notifies via a Slack message.
|
|
|
|
Options:
|
|
* NF_SLACK_TIMEOUT: timeout in seconds, default: 5
|
|
* NF_SLACK_CERTS: path to SSL certs, default: system certs
|
|
* NF_SLACK_INSECURE: if true, don't verify SSL
|
|
* NF_SLACK_PROXY: if set, use the given HTTP(S) proxy server to send notifications
|
|
|
|
|
|
Provide Configuration templates
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
* notification.yaml.j2
|
|
|
|
|
|
Links
|
|
~~~~~
|
|
https://github.com/openstack/monasca-notification/blob/master/README.rst
|