配置

Alertmanager 通过命令行标志和配置文件进行配置。命令行标志配置不可变的系统参数,配置文件定义抑制规则,通知路由和通知接收者。

visual editor 可以帮助构建路由树。

要查看所有可用的命令行标志,请运行alertmanager -h.

Alertmanager 可以在运行时重新加载配置。如果新配置格式不正确,则不会应用更改,且错误会被输出。通过发送SIGHUP信号到 Alertmanager 进程或发送 HTTP POST 请求到/-/reload端点触发配置重新加载。

配置文件

要指定要加载的配置文件,请使用--config.file标志。

./alertmanager --config.file=alertmanager.yml

该文件是 YAML 格式 的,由以下所述格式进行定义。方括号表示参数是可选的。对于非列表参数,该值设置为指定的默认值。

通用占位符定义如下:

  • <duration>: 可被正则表达式[0-9]+(ms|[smhdwy]匹配的一段时间

  • <labelname>: 可被正则表达式[a-zA-Z_][a-zA-Z0-9_]*匹配的字符串

  • <labelvalue>: unicode 字符串

  • <filename>: 当前工作目录中的合法的路径

  • <boolean>: 值为 truefalse 的布尔值

  • <string>: 常规字符串

  • <secret>: 加密后的常规字符串,例如密码

  • <tmpl_string>: 使用前已被模版扩展的字符串

  • <tmpl_secret>: 使用前已被模版扩展的加密字符串

其他占位符分别指定。

提供的合法示例文件显示了上下文中的用法。

全局配置指定在所有其他配置上下文中有效的参数。它们还用作其他配置部分的默认设置。

<route>

路由配置块定义了路由树种的节点及其子节点。如果未设置,则其可选配置参数将从父节点继承。

每个警报都会在已配置的顶级路由处进入路由树,该路由树必须与所有警报匹配(即没有任何已配置的匹配器)。然后,它遍历子节点。如果continue设置为 false,它将在第一个匹配的子项之后停止。如果continue设置为 true,则告警将继续与后续的同级进行匹配。如果告警与节点的任何子节点都不匹配(不匹配的子节点或不存在子节点),则根据当前节点的配置参数来处理告警。

示例

<inhibit_rule>

当存在与另一组匹配器匹配的告警(source)时,抑制规则会使与一组匹配器匹配的告警(target)静音。目标告警和源告警在equal列表中的标签名称都必须具有相同的标签值。

从语义上说,缺少标签和带有空值的标签是同一件事。因此,如果源警报和目标警报都缺少所有equal列出的标签名称,则应用抑制规则。

为了防止告警抑制自身,抑制规则将永远不会抑制与规则的目标和源侧匹配的告警。但是,我们建议选择目标匹配器和源匹配器,以使警报永远不会匹配双方。这更加方便,并且不会触发这种特殊情况。

<http_config>

http_config允许配置接收者用来与基于 HTTP API 服务进行通信的 HTTP 客户端。

<tls_config>

tls_config允许配置 TLS 连接

<receiver>

receiver是一个或多个通知集成的命名配置。

我们不会积极添加新的接收器,我们建议通过 webhook receiver 实现自定义通知集成。

<email_config>

<hipchat_config>

HipChat 通知使用 Build Your Own 集成.

<pagerduty_config>

PagerDuty 通知是通过 PagerDuty API 发送的。PagerDuty 提供了有关如何集成的文档。Alertmanager v0.11 之后的版本重要的区别在于对PagerDuty的 Events API v2 的支持。

<image_config>

这些字段记录在 PagerDuty API 文档

这些字段记录在 PagerDuty API 文档

<pushover_config>

Pushover 通知是通过 Pushover API 发送的。

<slack_config>

Slack 通知是通过 Slack Webhooks 发送的。通知包含附件

<action_config>

这些字段记录在 Slack API 文档中,用于附件消息交互式消息.

<action_confirm_field_config>

这些字段记录在 Slack API 文档中。

<field_config>

这些字段记录在 Slack API 文档中。

<opsgenie_config>

OpsGenie 通知是通过 OpsGenie API 发送的。

<responder>

<victorops_config>

VictorOps 通知通过 VictorOps API 发送。

<webhook_config>

Webhook receiver 允许配置通用 receiver.

Alertmanager 将以以下 JSON 格式将 HTTP POST 请求发送到配置的端点

此功能的集成列表

<wechat_config>

微信通知通过微信 API 发送。

最后更新于

这有帮助吗?