PROMETHEUS-ALERTMANAGER(1)

πŸŽ€ NAME πŸŽ€

hey bestie πŸ’– welcome to the Prometheus manual β€” this is the page for prometheus-alertmanager, which is, and I quote, the Prometheus alert manager. that's it, that's the whole name section, and honestly? iconic. the manual it lives in is called Prometheus, so now you know where you are. 🫢


🌸 SYNOPSIS 🌸

prometheus-alertmanager [<flags>]

just the binary and some flags, no positional args, no chaos, no drama. a clean girl. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this is the part where the original page just… has the heading and nothing under it. silent. mysterious. main character energy. no cap, there is genuinely no description text here, so I'm not gonna make one up. moving on πŸ’…


✨ OPTIONS ✨

every single one, in order, no skipping, we don't do that here πŸ’–

  • -h, --help β€” shows you the help, and it's context-sensitive too. also try --help-long and --help-man if you're feeling extra. πŸ™ˆ
  • --config.file β€” the name of the Alertmanager configuration file.
  • --storage.path β€” the base path where data gets stored.
  • --data.retention=120h β€” how long to keep data for. default is 120h.
  • --data.maintenance-interval=15m β€” how often the garbage collection happens and silences + notification logs get snapshotted to disk. default 15m.
  • --silences.max-silences=0 β€” max number of silences, expired ones included. if it's negative or zero, there's no limit at all. default 0.
  • --silences.max-silence-size-bytes=0 β€” max silence size in bytes. negative or zero means no limit. default 0.
  • --log.silences β€” turns on logging for silences. when it's enabled, the status change of a silence gets logged.
  • --alerts.gc-interval=30m β€” how often alert GC runs. default 30m.
  • --alerts.per-alertname-limit=0 β€” the max number of alerts per alertname. negative or zero = no limit. default 0.
  • --dispatch.maintenance-interval=30s β€” how often the dispatcher does maintenance on aggregation groups. default 30s.
  • --dispatch.start-delay=0s β€” minimum amount of time to wait before dispatching alerts. lowkey important: this option should be synced with the value of --rules.alert.resend-delay on Prometheus. default 0s.
  • --web.systemd-socket β€” use systemd socket activation listeners instead of port listeners (Linux only).
  • --web.listen-address=:9093 β€” the addresses to expose metrics and the web interface on. it's repeatable for multiple addresses. examples: :9100 or [::1]:9100 for http, vsock://:9100 for vsock. default :9093.
  • --web.config.file β€” path to a configuration file that can enable TLS or authentication. see: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md
  • --web.external-url=WEB.EXTERNAL-URL β€” the URL under which Alertmanager is externally reachable (for example, if Alertmanager is served through a reverse proxy). it's used for generating relative and absolute links back to Alertmanager itself. if the URL has a path portion, that path prefixes all HTTP endpoints served by Alertmanager. if you omit it, the relevant URL components get derived automatically.
  • --web.route-prefix=WEB.ROUTE-PREFIX β€” prefix for the internal routes of web endpoints. it defaults to the path of --web.external-url.
  • --web.get-concurrency=0 β€” max number of GET requests processed at the same time. if it's negative or zero, the limit is GOMAXPROC or 8, whichever is larger. default 0.
  • --web.timeout=0 β€” timeout for HTTP requests. negative or zero means no timeout is set. default 0.
  • --web.ui-path β€” path to the static UI directory.
  • --auto-gomemlimit.ratio=0.9 β€” the ratio of reserved GOMEMLIMIT memory to the detected max container or system memory. the value must be greater than 0 and less than or equal to 1. default 0.9.
  • --cluster.listen-address β€” listen address for the cluster. set it to the empty string to disable HA mode.
  • --cluster.advertise-address=CLUSTER.ADVERTISE-ADDRESS β€” explicit address to advertise in the cluster.
  • --cluster.peer-name β€” explicit name of the peer, instead of generating a random one.
  • --cluster.peer=CLUSTER.PEER β€” initial peers (may be repeated).
  • --cluster.peer-timeout=15s β€” time to wait between peers to send notifications. default 15s.
  • --cluster.peers-resolve-timeout=15s β€” time to resolve peers. default 15s.
  • --cluster.gossip-interval=200ms β€” interval between sending gossip messages. lowering this value (aka sending more frequently) propagates gossip messages across the cluster faster, but it costs you more bandwidth. default 200ms.
  • --cluster.pushpull-interval=1m0s β€” interval for gossip state syncs. setting it lower (more frequent) speeds up convergence across larger clusters, at the expense of more bandwidth usage. default 1m0s.
  • --cluster.tcp-timeout=10s β€” timeout for establishing a stream connection with a remote node for a full state sync, and for stream read and write operations. default 10s.
  • --cluster.probe-timeout=500ms β€” how long to wait for an ack from a probed node before assuming it's unhealthy. should be set to the 99-percentile of RTT (round-trip time) on your network. default 500ms.
  • --cluster.probe-interval=1s β€” interval between random node probes. lower (more frequent) means the cluster detects failed nodes faster, at the cost of more bandwidth usage. default 1s.
  • --cluster.settle-timeout=1m0s β€” max time to wait for cluster connections to settle before evaluating notifications. default 1m0s.
  • --cluster.reconnect-interval=10s β€” interval between attempts to reconnect to lost peers. default 10s.
  • --cluster.reconnect-timeout=6h0m0s β€” length of time to attempt to reconnect to a lost peer. default 6h0m0s.
  • --cluster.tls-config β€” [EXPERIMENTAL] path to a config yaml file that can enable mutual TLS within the gossip protocol.
  • --cluster.allow-insecure-public-advertise-address-discovery β€” [EXPERIMENTAL] allow alertmanager to discover and listen on a public IP address. πŸ‘€
  • --cluster.label β€” the cluster label is an optional string to include on each packet and stream. it uniquely identifies the cluster and prevents cross-communication issues when sending gossip messages.
  • --enable-feature β€” comma-separated experimental features to enable. valid options: alert-names-in-metrics, receiver-name-in-metrics, group-key-in-metrics, classic-mode, utf8-strict-mode, auto-gomemlimit, event-recorder.
  • --log.level=info β€” only log messages with the given severity or above. one of: [debug, info, warn, error]. default info.
  • --log.format=logfmt β€” output format of log messages. one of: [logfmt, json]. default logfmt.
  • --version β€” show application version. 🏷️

reminder bestie: that --dispatch.start-delay thing really does need to be synced with --rules.alert.resend-delay on Prometheus, and --cluster.tls-config + --cluster.allow-insecure-public-advertise-address-discovery are both marked [EXPERIMENTAL], so treat them accordingly πŸ’€

and that's the whole page!! we ate, fr fr πŸ”₯ this was prometheus-alertmanager 0.33.1, from August 2026, and that's the source/version/date bit so you know exactly what you're reading πŸ’œ slay, go alert on some things πŸ‘‘

πŸ“¦ where this page comes from