普罗米修斯集成指南

Prometheus + Pagerduty益处

  • 从Prometheus到Pagerduty发送丰富格式的事件数据,使您能够吸引合适的人,加速解决方案并改善学习。
  • 根据Prometheus事件有效载荷的事件的严重性,创建高和低紧迫性事件。

这个怎么运作

  • Prometheus通过Prometheus AlertManager配置文件将事件发送到Pagerduty。来自Prometheus的事件将触发有关相应的Pagerduty服务的新事件,或者作为对现有事件的警报。
  • 只要send_resolved配置选项未设置为错误的。默认值是真的,因此无需指定send_resolved:true自动解决pagerduty事件。

要求

  • Prometheus Alertmanager V0.11及以后的重要说明:AlertManager现在支持事件API V2。但是,如果您设置routing_key属性并使用V2,集成的集成类型与与之相对应的集成类型routing_key价值也必须是事件API V2。如果您选择普罗米修斯作为Pagerduty中的集成类型,您需要使用事件API V1输入并设置一个值service_key属性。
  • 需要一个管理器或更高的角色来配置此集成。如果您不确定自己的角色,或者需要调整权限,请访问我们的部分检查您的用户角色或者更改用户角色

集成演练

在Pagerduty

有两种与Pagerduty集成的方法:通过全球事件路由或直接通过集成在Pagerduty服务。如果您想根据来自集成工具的事件构建不同的路由规则,则与全球事件路由集成可能会有益。如果您不需要根据事件有效负载将警报从集成工具路由到不同的响应者,则与PagerDuty服务集成可以直接有益。

与全球事件路由集成

1.从自动化菜单,选择事件规则并点击您默认全局规则集

2.在事件规则屏幕上,复制您的集成密钥并将其保持在安全的地方以供以后使用。

您现在可以继续前进在您的Prometheus服务器上下面的部分。

与Pagerduty服务集成

1。来自服务菜单,选择服务目录

2。如果您将集成添加到现有服务,单击要添加集成的服务名称。然后选择万博pc版下载集成选项卡然后单击添加新的集成

如果您正在为您的集成创建新服务,请在部分中阅读我们的文档配置服务和集成万博pc版下载并按照概述的步骤创建新服务部分。

3。选择事件API V2或者普罗米修斯(使用事件API V1),取决于您的喜好集成类型菜单(请参阅要求上面的部分以获取有关这些选项的更多详细信息)。

4。点击添加服务或者添加集成保存您的新集成。您将被重定向到服务的“集成”选项卡。万博pc版下载

5.在列表中找到您的集成,然后单击右侧。复制集成密钥并将其保持在安全的地方以供以后使用。

在您的Prometheus服务器上

1.安装Prometheus Alertmanager如果您还没有安装。此集成需要AlertManager,因为它处理了从Prometheus到Pagerduty的路由警报。

2.创建一个AlertManager配置文件如果您还没有一个。你可以找到一个GitHub上的示例配置文件

3.创建一个接收者对于您的配置文件中的pagerduty。给接收器姓名,例如“ Pagerduty-Global-Event-Rules”或您与之集成的服务名称。接下来,将pagerduty集成密钥(在上面的pagerduty部分生成)service_key字段,然后保存您的配置文件。

接收者:- 姓名:您的收入名称pagerduty_configs:-Service_key:您的融合键

4.您可以配置默认值路线在Prometheus中,发送所有不匹配任何自定义路线到您的新pagerduty的警报接收者。这是一个示例,显示如何配置默认值路线

路线:group_by:[群集]接收者:您的收入名称

5.您还可以配置自定义“路由”以将警报发送给其他``接收''。例如,如果您只想将“警告”严重性的警报发送到Pagerduty,则将设置另一条默认路由并创建特殊的警告路线:

路线:- 匹配:严重性:“警告”接收者:您的收入名称

6.感谢Prometheus Alertmanager的强大路线接收者配置选项,您可以配置多个接收者s具有不同的pagerduty集成键,不同路线将特定类型的警报发送给不同的警报接收者s。

这是设置一个示例配置路线捕获数据库服务的警报,并将其发送到接收者链接到将直接通知我在Pagerduty中的DBA的服务,而所有其他警报将被指向默认值接收者带有不同的pagerduty集成密钥:

路线:group_by:[群集]接收器:**默认接收器**group_interval:5m路线:- 匹配:服务:数据库接收器:**数据库收件人**接收者:- 名称:**默认接收器**pagerduty_configs:-Service_key:**主要综合 - 键**- 名称:**数据库收件人**pagerduty_configs:-Service_key:**数据库 - 融合 - 键**

7.启动AlertManager,或重新启动以使其为您的配置更改,如果它已经运行,则会生效。

8.恭喜!Prometheus现在将能够在Pagerduty中触发和解决事件。您可以通过使用以下内容触发测试事件来验证此事卷曲命令:

curl -d'[{“ labels”:{“ alertname”:“ pagerduty test”}}]''http:// localhost:9093/api/v1/警报

常问问题

当普罗米修斯解决警报时,会解决Pagerduty事件吗?

是的,只要send_resolved配置选项未设置为错误的。默认值是真的,因此无需指定send_resolved:真实地将Pagerduty事件自动解决。

另请注意,解决通知可能需要到下一个group_interval被发送,只有“最好的努力”才能将通知发送给Pagerduty。

我只收到一个通知,以提供多个不同的普罗米修斯警报。我该如何解决?

尝试调整匹配通过...分组Pagerduty路线的选项。基于这些选项生成的重复数据删除密钥(又名事件密钥),用于确定警报事件是否涉及唯一问题。如果一系列警报具有相同的属性值通过...分组,它们将具有重复数据删除密钥的值相同的值,因此将合并到最早的现有开放警报/事件中(而不是触发新的事件)。

立即开始使用Pagerduty

尝试免费使用Pagerduty 14天 - 无需信用卡。

Baidu