Set up alerts for Prometheus metrics
原文:https://docs.gitlab.com/ee/operations/metrics/alerts.html
Set up alerts for Prometheus metrics
在为 CI / CD 环境配置指标后,您可以根据实例的位置为 Prometheus 指标设置警报,并在环境性能超出您设置的范围时触发警报操作以通知您的团队.
Managed Prometheus instances
在GitLab Ultimate 11.2 中引入了自定义指标 ,在 11.3 中引入了图书馆指标 .
对于使用自动配置的托管 Prometheus 实例,您可以直接在指标仪表板中 配置指标警报 . 设置警报:
- 在您的项目中,导航到 操作>指标 ,
- 确定要为其创建警报的指标,然后单击省略号 指标右上角的图标.
- Choose Alerts.
- 设置阈值和运算符.
- 单击添加以保存并激活警报.
要删除警报,请在警报图标上返回所需的指标,然后单击” 删除” .
External Prometheus instances
版本历史
- 在GitLab Ultimate 11.8 中引入 .
- 在 12.10 中移至 GitLab Core .
对于手动配置的 Prometheus 服务器,GitLab 提供了一个通知端点,用于 Prometheus Webhooks. 如果启用了手动配置,则会将” 警报”部分添加到 设置>集成> Prometheus . 本部分包含您需要的URL和授权密钥 . 重置密钥按钮将使密钥无效并生成一个新密钥.
要发送 GitLab 警报通知,请将URL和授权密钥复制到 Prometheus Alertmanager 配置的webhook_configs
部分:
receivers:
name: gitlab
webhook_configs:
- http_config:
bearer_token: 9e1cbfcd546896a9ea8be557caf13a76
send_resolved: true
url: http://192.168.178.31:3001/root/manual_prometheus/prometheus/alerts/notify.json
...
为了使 GitLab 将警报与环境相关联,您必须在 Prometheus 中设置的警报上配置gitlab_environment_name
标签. 此值应与您在 GitLab 中的环境名称匹配.
Note: In GitLab versions 13.1 and greater, you can configure your manually configured Prometheus server to use the Generic alerts integration.
Trigger actions from alerts
版本历史
- 在GitLab Ultimate 11.11 中引入 .
- 从 GitLab Ultimate 12.5 起 ,当 GitLab 收到恢复警报时,它将自动关闭相关问题.
警报可用于触发操作,例如自动打开问题(自13.1
默认禁用). 要配置操作:
- 导航到您项目的 设置>操作>事件 .
- 启用该选项以创建问题.
- 选择要从中创建问题的问题模板 .
- (可选)选择是否将电子邮件通知发送给项目的开发人员.
- Click 保存更改.
启用后,当触发包含包含从警报有效负载中提取的值的警报时,GitLab 会自动打开一个问题:
- 问题作者:
GitLab Alert Bot
- 问题标题:从
annotations/title
,annotations/summary
或labels/alertname
- 警报
Summary
:属性列表starts_at
:通过startsAt
警报的开始时间full_query
:从generatorURL
提取的警报查询- 从
annotations/*
提取的附加注释的可选列表
- Alert GFM :来自
annotations/gitlab_incident_markdown
GitLab 风味annotations/gitlab_incident_markdown
当 GitLab 收到Recovery Alert 时 ,它将关闭相关问题. 该操作记录为关于该问题的系统消息,表明该操作已由 GitLab Alert 机器人自动关闭.
要进一步自定义问题,您可以在所选问题模板中添加标签,提及或任何其他受支持的快速操作 ,该操作适用于所有事件. 要将快速操作或其他信息限制为仅特定类型的警报,请使用annotations/gitlab_incident_markdown
字段.
从版本 12.2 开始 ,GitLab 会使用incident
标签自动标记每个事件问题. 如果标签尚不存在,则会自动创建.
如果度量标准超过警报阈值超过 5 分钟,则 GitLab 会向该项目的所有维护者和所有者发送电子邮件.