176.md 5.8 KB
Newer Older
Lab机器人's avatar
readme  
Lab机器人 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
# Set up alerts for Prometheus metrics

> 原文:[https://docs.gitlab.com/ee/operations/metrics/alerts.html](https://docs.gitlab.com/ee/operations/metrics/alerts.html)

*   [Managed Prometheus instances](#managed-prometheus-instances)
*   [External Prometheus instances](#external-prometheus-instances)
*   [Trigger actions from alerts](#trigger-actions-from-alerts-ultimate)

# Set up alerts for Prometheus metrics[](#set-up-alerts-for-prometheus-metrics "Permalink")

[为 CI / CD 环境配置指标](index.html)后,您可以根据实例的位置为 Prometheus 指标设置警报,并在环境性能超出您设置的范围时[触发警报操作](#trigger-actions-from-alerts-ultimate)以通知您的团队.

## Managed Prometheus instances[](#managed-prometheus-instances "Permalink")

[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6590)[自定义指标](index.html#adding-custom-metrics) ,在 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6590)[图书馆指标](../../user/project/integrations/prometheus_library/metrics.html) .

对于使用自动配置的托管 Prometheus 实例,您可以直接在[指标仪表板中](index.html) [配置指标警报](index.html#adding-custom-metrics) . 设置警报:

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

[![Adding an alert](img/659964d0e0d080d80881d6eb74aaaf7e.png)](../../user/project/integrations/img/prometheus_alert.png)

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

## External Prometheus instances[](#external-prometheus-instances "Permalink")

版本历史

*[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.8 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/9258) .
*   在 12.10 中[移至](https://gitlab.com/gitlab-org/gitlab/-/issues/42640) [GitLab Core](https://about.gitlab.com/pricing/) .

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

[![Prometheus service configuration of Alerts](img/510cd4b11aa5f23be76d594a9ad782d6.png)](../../user/project/integrations/img/prometheus_service_alerts.png)

要发送 GitLab 警报通知,请将**URL****授权密钥**复制到 Prometheus Alertmanager 配置的[`webhook_configs`](https://s0prometheus0io.icopy.site/docs/alerting/latest/configuration/)部分:

```
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 将警报与[环境](../../ci/environments/index.html)相关联,您必须在 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](../../user/project/integrations/generic_alerts.html).

## Trigger actions from alerts[](#trigger-actions-from-alerts-ultimate "Permalink")

版本历史

*[GitLab Ultimate](https://about.gitlab.com/pricing/) 11.11 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/4925) .
*   [从 GitLab Ultimate 12.5 起](https://gitlab.com/gitlab-org/gitlab/-/issues/13401) ,当 GitLab 收到恢复警报时,它将自动关闭相关问题.

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

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

启用后,当触发包含包含从[警报有效负载中](https://s0prometheus0io.icopy.site/docs/alerting/latest/configuration/)提取的值的警报时,GitLab 会自动打开一个问题:

*   问题作者: `GitLab Alert Bot`
*   问题标题:从`annotations/title``annotations/summary``labels/alertname`
*   警报`Summary` :属性列表
    *   `starts_at` :通过`startsAt`警报的开始时间
    *   `full_query` :从`generatorURL`提取的警报查询
    *`annotations/*`提取的附加注释的可选列表
*   Alert [GFM](../../user/markdown.html) :来自`annotations/gitlab_incident_markdown` GitLab 风味`annotations/gitlab_incident_markdown`

当 GitLab 收到**Recovery Alert 时** ,它将关闭相关问题. 该操作记录为关于该问题的系统消息,表明该操作已由 GitLab Alert 机器人自动关闭.

要进一步自定义问题,您可以在所选问题模板中添加标签,提及或任何其他受支持的[快速操作](../../user/project/quick_actions.html) ,该操作适用于所有事件. 要将快速操作或其他信息限制为仅特定类型的警报,请使用`annotations/gitlab_incident_markdown`字段.

[版本 12.2 开始](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/63373) ,GitLab 会使用`incident`标签自动标记每个事件问题. 如果标签尚不存在,则会自动创建.

如果度量标准超过警报阈值超过 5 分钟,则 GitLab 会向该项目的所有[维护者和所有者](../../user/permissions.html#project-members-permissions)发送电子邮件.