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 实例,您可以直接在指标仪表板中 配置指标警报 . 设置警报:

  1. 在您的项目中,导航到 操作>指标
  2. 确定要为其创建警报的指标,然后单击省略号 指标右上角的图标.
  3. Choose Alerts.
  4. 设置阈值和运算符.
  5. 单击添加以保存并激活警报.

Adding an alert

要删除警报,请在警报图标上返回所需的指标,然后单击” 删除” .

External Prometheus instances

版本历史

对于手动配置的 Prometheus 服务器,GitLab 提供了一个通知端点,用于 Prometheus Webhooks. 如果启用了手动配置,则会将” 警报”部分添加到 设置>集成> Prometheus . 本部分包含您需要的URL授权密钥 . 重置密钥按钮将使密钥无效并生成一个新密钥.

Prometheus service configuration of Alerts

要发送 GitLab 警报通知,请将URL授权密钥复制到 Prometheus Alertmanager 配置的webhook_configs部分:

  1. receivers:
  2. name: gitlab
  3. webhook_configs:
  4. - http_config:
  5. bearer_token: 9e1cbfcd546896a9ea8be557caf13a76
  6. send_resolved: true
  7. url: http://192.168.178.31:3001/root/manual_prometheus/prometheus/alerts/notify.json
  8. ...

为了使 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

版本历史

警报可用于触发操作,例如自动打开问题(自13.1默认禁用). 要配置操作:

  1. 导航到您项目的 设置>操作>事件 .
  2. 启用该选项以创建问题.
  3. 选择要从中创建问题的问题模板 .
  4. (可选)选择是否将电子邮件通知发送给项目的开发人员.
  5. Click 保存更改.

启用后,当触发包含包含从警报有效负载中提取的值的警报时,GitLab 会自动打开一个问题:

  • 问题作者: GitLab Alert Bot
  • 问题标题:从annotations/titleannotations/summarylabels/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 会向该项目的所有维护者和所有者发送电子邮件.