Create new silences in the Prometheus Alertmanager through a REST API.
During the deployment of a new release, you might want to silence alerts configured in the Prometheus Alertmanager. silencer provides a simple REST API, which then can be called by your build agents before the deployments starts.
Send an HTTP POST request to $silencerUri/silence/$service/$tenant with the variable duration=$silenceDuration in seconds in the HTTP body.
For example, to create 5 minute silence for the service my-service with the tenant tenant1 and the stage prod, you can issue the following command:
curl -X POST -F 'duration=300' -F 'comment=Jenkins Job XYZ' http://localhost:8000/silence/my-service/tenant1-prodDuring the creation, it is automatically checked if there are other active silences which covers the received silence request. If there is already a silence, a new one will not be created.
log_level: info # log level
port: 8000 # listening port of the silencer application
alertmanager_host: alertmanager.prometheus.svc # AlertManager's hostname
alertmanager_scheme: http # AlertManager's protocol scheme
alertmanager_port: 80 # AlertManager's port
known_services:
- "*" # list of known services or "*" as wildcard to accept *any* service. "*" is used by default.You can find ready-to-run Docker containers at dreitier/silencer.
- Update the CHANGELOG.md.
- Create a new release (artifact & Docker container) by pushing a new Git tag:
git tag x.y.z
git push origin x.y.zThe changelog is kept in the CHANGELOG.md file.
This software is provided as-is. You can open an issue in GitHub's issue tracker at any time. But we can't promise to get it fixed in the near future. If you need professionally support, consulting or a dedicated feature, please get in contact with us through our website.
Feel free to provide a pull request.
This project is licensed under the MIT License - see the LICENSE.md file for details.