Sign inSign up

monasca/notification

By monasca

•Updated over 1 year ago

Dockerized Monasca notification engine

Image
0

1M+

monasca/notification repository overview

⁠monasca-notification Dockerfile

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⁠

⁠Tags

Images in this repository are tagged as follows:

  • latest: refers to the latest stable point release, e.g. 1.7.0
  • 1.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 repository
  • master, 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.

⁠Usage

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.

⁠Configuration

VariableDefaultDescription
MYSQL_DB_HOSTmysqlMySQL hostname
MYSQL_DB_PORT3306MySQL port
MYSQL_DB_USERNAMEnotificationMySQL username
MYSQL_DB_PASSWORDpasswordMySQL password
MYSQL_DB_DATABASEmonMySQL database name
MYSQL_WAIT_RETRIES24# of tries to verify MySQL availability
MYSQL_WAIT_DELAY5# seconds between retry attempts
KAFKA_URIkafka:9092If true, disable remote root login
KAFKA_WAIT_FOR_TOPICSdefaultsComma-separated list of topic names to check
KAFKA_WAIT_RETRIES24# of tries to verify Kafka availability
KAFKA_WAIT_DELAY5# seconds between retry attempts
ZOOKEEPER_URLzookeeper:2181Zookeeper URL
ALARM_PROCESSORS2# of alarm processing threads
NOTIFICATION_PROCESSORS2# of notification processing threads
RETRY_INTERVAL30Retry interval in seconds
RETRY_MAX_ATTEMPTS5Max number of notification retries
LOG_LEVELWARNPython logging level, e.g. DEBUG, INFO, WARN
STATSD_HOSTunsetMonasca StatsD host for internal metrics
STATSD_PORTunsetMonasca StatsD port for internal metrics
NF_PLUGINSunsetSee below

⁠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" <[email protected]>
⁠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

Tag summary

Content type

Image

Digest

sha256:9d89ae0a3…

Size

46.9 MB

Last updated

almost 9 years ago

docker pull monasca/notification