I'm using a vanilla Docker container to start an Alertmanager. As far as I know, I cannot provide the external URL via parameter in this case, so I have to find another way.
Is it possible to set the URL via configuration file or environment variable?
The Alertmanager handles alerts sent by client applications such as the Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver integration such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.
I achieved it with docker-compose. This is the configuration I used for the alertmanager.
version: "2"
services:
alertmanager:
image: "prom/alertmanager"
hostname: "alertmanager"
restart: always
volumes:
- ./alertmanager:/alertmanager
- ./alertmanager.yml:/etc/alertmanager/config.yml
- ./templates:/etc/alertmanager/templates
ports:
- "9093:9093"
command:
- "--config.file=/etc/alertmanager/config.yml"
- "--storage.path=/alertmanager"
- "--web.external-url=http://clms-lab.dev-gr.clmsuk.com:9093"
labels:
NAME: "monitor"
Just to generalize the answer given by @theofilis for those not using Docker, you can achieve this by setting the "--web.external-url" flag when starting AlertManager, e.g.
./alertmanager --config.file=alertmanager.yml --web.external-url=http://example.com:9093
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With