Alertmanager is configured viacommand-line flags and a configuration file.While the command-line flags configure immutable system parameters, theconfiguration file defines inhibition rules, notification routing andnotification receivers.
Out-of-the-box integration: Let Dynatrace push performance notifications to Opsgenie. Never miss critical performance alerts. Opsgenie's Uptime History. OpsGenie is a cloud-based service for dev & ops teams, providing reliable alerts, on-call schedule management, and escalations. OpsGenie integrates with monitoring tools & services and ensures that the right people are at the right time.
The visual editorcan assist in building routing trees.
To view all available command-line flags, run alertmanager -h
.
Alertmanager can reload its configuration at runtime. If the new configurationis not well-formed, the changes will not be applied and an error is logged.A configuration reload is triggered by sending a SIGHUP
to the process orsending a HTTP POST request to the /-/reload
endpoint.
Configuration file
To specify which configuration file to load, use the --config.file
flag.
The file is written in the YAML format,defined by the scheme described below.Brackets indicate that a parameter is optional. For non-list parameters thevalue is set to the specified default.
Generic placeholders are defined as follows:
<duration>
: a duration matching the regular expression[0-9]+(ms|[smhdwy])
<labelname>
: a string matching the regular expression[a-zA-Z_][a-zA-Z0-9_]*
<labelvalue>
: a string of unicode characters<filepath>
: a valid path in the current working directory<boolean>
: a boolean that can take the valuestrue
orfalse
<string>
: a regular string<secret>
: a regular string that is a secret, such as a password<tmpl_string>
: a string which is template-expanded before usage<tmpl_secret>
: a string which is template-expanded before usage that is a secret<int>
: an integer value
The other placeholders are specified separately.
A provided valid example fileshows usage in context.
The global configuration specifies parameters that are valid in all otherconfiguration contexts. They also serve as defaults for other configurationsections.
<route>
A route block defines a node in a routing tree and its children. Its optionalconfiguration parameters are inherited from its parent node if not set.
Every alert enters the routing tree at the configured top-level route, whichmust match all alerts (i.e. not have any configured matchers).It then traverses the child nodes. If continue
is set to false, it stopsafter the first matching child. If continue
is true on a matching node, thealert will continue matching against subsequent siblings.If an alert does not match any children of a node (no matching child nodes, ornone exist), the alert is handled based on the configuration parameters of thecurrent node.
Example
<inhibit_rule>
An inhibition rule mutes an alert (target) matching a set of matcherswhen an alert (source) exists that matches another set of matchers.Both target and source alerts must have the same label valuesfor the label names in the equal
list.
Semantically, a missing label and a label with an empty value are the samething. Therefore, if all the label names listed in equal
are missing fromboth the source and target alerts, the inhibition rule will apply.
To prevent an alert from inhibiting itself, an alert that matches both thetarget and the source side of a rule cannot be inhibited by alerts for whichthe same is true (including itself). However, we recommend to choose target andsource matchers in a way that alerts never match both sides. It is much easierto reason about and does not trigger this special case.
Opsgenie Slack Integration
<http_config>
A http_config
allows configuring the HTTP client that the receiver uses tocommunicate with HTTP-based API services.
<tls_config>
A tls_config
allows configuring TLS connections.
<receiver>
Receiver is a named configuration of one or more notification integrations.
We're not actively adding new receivers, we recommend implementing custom notification integrations via the webhook receiver.
<email_config>
<pagerduty_config>
PagerDuty notifications are sent via the PagerDuty API.PagerDuty provides documentation on how to integrate. There are important differences with Alertmanager's v0.11 and greater support of PagerDuty's Events API v2.
<image_config>
The fields are documented in the PagerDuty API documentation.
<link_config>
The fields are documented in the PagerDuty API documentation.
<pushover_config>
Pushover notifications are sent via the Pushover API.
<slack_config>
Opsgenie Create Slack Channel
Slack notifications are sent via Slackwebhooks. The notification containsan attachment.
<action_config>
The fields are documented in the Slack API documentation for message attachments and interactive messages.
<action_confirm_field_config>
The fields are documented in the Slack API documentation.
<field_config>
The fields are documented in the Slack API documentation.
<opsgenie_config>
OpsGenie notifications are sent via the OpsGenie API.
<responder>
<victorops_config>
VictorOps notifications are sent out via the VictorOps API
Opsgenie Slack Oncall
<webhook_config>
The webhook receiver allows configuring a generic receiver.
The Alertmanagerwill send HTTP POST requests in the following JSON format to the configuredendpoint:
Opsgenie Slack
There is a list ofintegrations withthis feature.
<wechat_config>
WeChat notifications are sent via the WeChatAPI.