配置
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>: 值为true或false的布尔值<string>: 常规字符串<secret>: 加密后的常规字符串,例如密码<tmpl_string>: 使用前已被模版扩展的字符串<tmpl_secret>: 使用前已被模版扩展的加密字符串
其他占位符分别指定。
提供的合法示例文件显示了上下文中的用法。
全局配置指定在所有其他配置上下文中有效的参数。它们还用作其他配置部分的默认设置。
<route>
<route>路由配置块定义了路由树种的节点及其子节点。如果未设置,则其可选配置参数将从父节点继承。
每个警报都会在已配置的顶级路由处进入路由树,该路由树必须与所有警报匹配(即没有任何已配置的匹配器)。然后,它遍历子节点。如果continue设置为 false,它将在第一个匹配的子项之后停止。如果continue设置为 true,则告警将继续与后续的同级进行匹配。如果告警与节点的任何子节点都不匹配(不匹配的子节点或不存在子节点),则根据当前节点的配置参数来处理告警。
示例
<inhibit_rule>
<inhibit_rule>当存在与另一组匹配器匹配的告警(source)时,抑制规则会使与一组匹配器匹配的告警(target)静音。目标告警和源告警在equal列表中的标签名称都必须具有相同的标签值。
从语义上说,缺少标签和带有空值的标签是同一件事。因此,如果源警报和目标警报都缺少所有equal列出的标签名称,则应用抑制规则。
为了防止告警抑制自身,抑制规则将永远不会抑制与规则的目标和源侧匹配的告警。但是,我们建议选择目标匹配器和源匹配器,以使警报永远不会匹配双方。这更加方便,并且不会触发这种特殊情况。
<http_config>
<http_config>http_config允许配置接收者用来与基于 HTTP API 服务进行通信的 HTTP 客户端。
<tls_config>
<tls_config>tls_config允许配置 TLS 连接
<receiver>
<receiver>receiver是一个或多个通知集成的命名配置。
我们不会积极添加新的接收器,我们建议通过 webhook receiver 实现自定义通知集成。
<email_config>
<email_config><hipchat_config>
<hipchat_config>HipChat 通知使用 Build Your Own 集成.
<pagerduty_config>
<pagerduty_config>PagerDuty 通知是通过 PagerDuty API 发送的。PagerDuty 提供了有关如何集成的文档。Alertmanager v0.11 之后的版本重要的区别在于对PagerDuty的 Events API v2 的支持。
<image_config>
<image_config>这些字段记录在 PagerDuty API 文档中
<link_config>
<link_config>这些字段记录在 PagerDuty API 文档中
<pushover_config>
<pushover_config>Pushover 通知是通过 Pushover API 发送的。
<slack_config>
<slack_config>Slack 通知是通过 Slack Webhooks 发送的。通知包含附件。
<action_config>
<action_config>这些字段记录在 Slack API 文档中,用于附件消息和交互式消息.
<action_confirm_field_config>
<action_confirm_field_config>这些字段记录在 Slack API 文档中。
<field_config>
<field_config>这些字段记录在 Slack API 文档中。
<opsgenie_config>
<opsgenie_config>OpsGenie 通知是通过 OpsGenie API 发送的。
<responder>
<responder><victorops_config>
<victorops_config>VictorOps 通知通过 VictorOps API 发送。
<webhook_config>
<webhook_config>Webhook receiver 允许配置通用 receiver.
Alertmanager 将以以下 JSON 格式将 HTTP POST 请求发送到配置的端点
此功能的集成列表
<wechat_config>
<wechat_config>微信通知通过微信 API 发送。
最后更新于
这有帮助吗?