alertmanager-gchat-integration
Description
The application provides a Webhook integration for Prometheus AlertManager to push alerts to Google Chat rooms.
The application expects a config.toml file like this:
[app.notification]
# Helpful to indicate the origin of the message. Default to HOSTNAME.
# origin = "custom-origin"
# Optional Jinja2 custom template to print message to GChat.
# custom_template_path = "<file>.json.j2"
# Optional true to send the message as a Gchat card
# use_cards = true
[app.room.<room-name>]
notification_url = "https://chat.googleapis.com/v1/spaces/<space-id>/messages?key=<key>&token=<token>&threadKey=<threadId>"
The file may be:
- Located in the current directory and named
config.toml. - Placed in the directory of your choice with
CONFIG_FILE_LOCATIONenvironment variable set.
Also, the application provides a built-in template for GChat notification located here.
If you wish to customize it, create a custom version and use app.notification.custom_template_path.
By default, the message will be sent as a basic message.
If you wish to use cards set app.notification.use_cards to true.
When the application is started, the following endpoints are available:
/alerts?room=<room-name>: Endpoint used by AlertManager to send messages to GChat. Theroom-nameshould match the value indicated in the config.toml file. HTTP expected methods are:POST./healthz: return 200 OK if the service is running. HTTP expected methods are:GET./metrics: return Prometheus metrics regarding HTTP requests. HTTP expected methods are:GET.
Using the python module
$ pip install alertmanager-gchat-integration
$ CONFIG_FILE_LOCATION=config.toml python -m alertmanager_gchat_integration
Using the container
To execute the container, you should have a ~/.kube/config with the context pointing to the cluster. The user defined in the context should have the appropriate rights in th cluster to manage configmaps.
Starts the service
- Run container as root:
$ docker run -ti \
--user 65534:65534 \
-p 80:8080 \
-v $(pwd)/config.toml:/app/config.toml \
julb/alertmanager-gchat-integration:latest
The following environment variables are also available:
| Environment var | Description | Default Value |
|---|---|---|
| PORT | The listening port for the application. | 8080 |
| CONFIG_FILE_LOCATION | The config.toml file path. | /app/config.toml |
Helm chart
A Helm chart is available to install this runtime.
Contributing
This project is totally open source and contributors are welcome.
When you submit a PR, please ensure that the python code is well formatted and linted.
$ make install.dependencies
$ make format
$ make lint
Metadata
Release files for alertmanager-gchat-integration 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| alertmanager-gchat-integration-1.0.5.tar.gz | 4.9 kB | Details |
Release files / alertmanager-gchat-integration-1.0.5.tar.gz
| Download URL | alertmanager-gchat-integration-1.0.5.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f9737b5f97a689b9246b0b0449f6c92499fcf54427b9829d479a7a1d94b3aea
|
|
BLAKE2b-256 checksum How to use checksums |
be4f6d8e80ed0dd47ebb3ac54197212a78397e13d252d6005028a56d253c97fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|