Dockerized Monasca notification engine
1M+
This image has a containerized version of the Monasca Notification Engine. For more information on the Monasca project, see the wiki.
Sources: monasca-notification · monasca-docker · Dockerfile
Images in this repository are tagged as follows:
latest: refers to the latest stable point release, e.g. 1.7.01.0.0, 1.0, 1: standard semver tags based on git tags in the
official repository.newton, ocata, etc: named versions following OpenStack release names
built from the tip of stable/RELEASENAME branches in the repositorymaster, master-DATESTAMP: unstable testing builds from the master branch,
these may have features or enhancements not available in stable releases, but
are not production-ready.Note that features in this Dockerfile, particularly relating to running in
Docker and Kubernetes environments, require code that has not yet been made
available in a tagged release. Until this changes, only master images may be
available and latest may point to master images.
The notification engine requires configured instances of MySQL, Kafka, Zookeeper, and the monasca-api. In environments resembling the official docker-compose or Kubernetes environments, this image requires little to no configuration and can be minimally run like so:
docker run monasca/notification:latest
However, without any notification plugins enabled (the default config), the engine will not be particularly useful. See below for instructions on enabling and configuring plugins.
| Variable | Default | Description |
|---|---|---|
MYSQL_DB_HOST | mysql | MySQL hostname |
MYSQL_DB_PORT | 3306 | MySQL port |
MYSQL_DB_USERNAME | notification | MySQL username |
MYSQL_DB_PASSWORD | password | MySQL password |
MYSQL_DB_DATABASE | mon | MySQL database name |
MYSQL_WAIT_RETRIES | 24 | # of tries to verify MySQL availability |
MYSQL_WAIT_DELAY | 5 | # seconds between retry attempts |
KAFKA_URI | kafka:9092 | If true, disable remote root login |
KAFKA_WAIT_FOR_TOPICS | defaults | Comma-separated list of topic names to check |
KAFKA_WAIT_RETRIES | 24 | # of tries to verify Kafka availability |
KAFKA_WAIT_DELAY | 5 | # seconds between retry attempts |
ZOOKEEPER_URL | zookeeper:2181 | Zookeeper URL |
ALARM_PROCESSORS | 2 | # of alarm processing threads |
NOTIFICATION_PROCESSORS | 2 | # of notification processing threads |
RETRY_INTERVAL | 30 | Retry interval in seconds |
RETRY_MAX_ATTEMPTS | 5 | Max number of notification retries |
LOG_LEVEL | WARN | Python logging level, e.g. DEBUG, INFO, WARN |
STATSD_HOST | unset | Monasca StatsD host for internal metrics |
STATSD_PORT | unset | Monasca StatsD port for internal metrics |
NF_PLUGINS | unset | See below |
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.
Name: email
This plugin sends email notifications when an alarm is triggered.
Options:
NF_EMAIL_SERVER: SMTP server address, required, unset by defaultNF_EMAIL_PORT: SMTP server port, default: 25NF_EMAIL_USER: SMTP username, optional, unset by defaultNF_EMAIL_PASSWORD, SMTP password, required only if NF_EMAIL_USER is setNF_EMAIL_FROM_ADDR: "from" field for emails sent, e.g.
"Name" <[email protected]>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: 5Name: pagerduty
Creates a PagerDuty event for the given alarm.
Options:
NF_PAGERDUTY_TIMEOUT: timeout in seconds, default: 5NF_PAGERDUTY_URL: PagerDuty Event API endpoint, defaults to official
URLName: 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: 5NF_HIPCHAT_SSL_CERTS: path to SSL certs, default: system certsNF_HIPCHAT_INSECURE: if true, don't verify SSLNF_HIPCHAT_PROXY: if set, use the given HTTP(S) proxy server to send
notificationsName: slack
Notifies via a Slack message.
Options:
NF_SLACK_TIMEOUT: timeout in seconds, default: 5NF_SLACK_CERTS: path to SSL certs, default: system certsNF_SLACK_INSECURE: if true, don't verify SSLNF_SLACK_PROXY: if set, use the given HTTP(S) proxy server to send
notificationsContent type
Image
Digest
sha256:9d89ae0a3…
Size
46.9 MB
Last updated
almost 9 years ago
docker pull monasca/notification