更新:自从我写了这篇文章以来,PagerDuty具有与Mattermost的传入Webhooks一起使用的本机集成,这意味着您可以运行简单的PagerDuty通知,而无需安装任何其他软件。
要使用它,请按照下列步骤操作:
- 创建一个传入的Mattermost Webhook并复制URL
- 在PagerDuty中,转到“
Configuration>“Services,然后单击或创建新服务


3.在“ Integrations面板下,添加一个Extension并搜索Mattermost
4.输入您的Integration的名称,然后将步骤1中的Mattermost webhook URL粘贴到框中。 如果需要,您还可以指定一个用户或频道,以发送或使用您通过Mattermost配置的用户或频道。
5.在PagerDuty中创建一个测试事件。 您应该在Mattermost中看到类似的消息。


非常感谢PagerDuty的David Coleman的帮助! 如果您想从PagerDuty通知中获得更多功能,请继续阅读。
这是我们“最重要的食谱”系列的下一部分。
这些文章的目的是为您提供针对特定问题的解决方案,并讨论该解决方案的详细信息,以及有关如何自定义其以完全满足您的需求的一些技巧。
如果有食谱,您希望我们将来做饭,请在我们的论坛上留言。
许多DevOps团队都有事件警报系统。 但是响应事件并组建团队可能需要一段时间,事件讨论可能会使现有的Mattermost渠道混乱。 这是一个简单的配方,可以帮助通知人们发生了事件并组织了有关事件的讨论。
这是一个非常具体的解决方案,它将创建一个通道并在事件触发器上邀请一些人,在事件状态发生变化时更新通道标题,并关闭通道并将分辨率统计信息输出到市政厅
注意:此代码主要用于说明如何访问Mattermost API并将其连接到Webhook。 应该将其视为指南,而不是将其投入生产。
此处提供说明。
此代码是开源的,可在此处获得。 它包括一个webhook配置,一个从webhook调用的Ruby脚本和一个示例配置文件,以及一个小的Mattermost API库,用于处理与Mattermost服务器的对话。
要创建自己的配置文件,请复制sample.hooks.json并将其重命名为hooks.json 。 然后编辑execute-command和command-working-directory以使用正确的路径。
接下来,复制sample.conf.yaml并将其重命名为conf.yaml 。 然后编辑配置以对您的Mattermost服务器进行身份验证,并指定团队名称和应通知的用户。
最后,确保已安装webhook并运行webhook -verbose以开始侦听通知。
要测试webhook是否正常工作,请在PagerDuty Recipe目录中运行以下命令:
$ curl -vX POST http://127.0.0.1:9000/hooks/pagerduty_hook -d @。/ test_data / incident.trigger.js --header“ Content-Type:application / json”
更改trigger以acknowledge或resolve使用这些事件状态的问题。
PagerDuty是一种广泛使用的警报系统。 但是,可以在触发事件时发送外发Webhook的任何系统都可以用作替代系统。
PagerDuty中传出的Webhook链接到监视服务。 但是首先,您需要将其添加为该服务的扩展。 要转到它们,请转到“ Configuration >“ Services 。


然后单击服务名称,然后单击“ Integrations选项卡,然后单击“ New Extension名”,并为您的Webhook和要调用的URL输入名称,该URL应当以pagerduty_hook结尾,以匹配hooks.json文件。


接下来,在PagerDuty中触发警报并确认并解决。 创建问题后,您将看到为事件创建的专用频道,带有显示票证状态的标题:


票证状态更新后(如确认),它会更新通道标题以指示新状态:


解决问题后,将用户从频道中撤消,并在市政厅发布解决方案并提供一些信息,以使整个团队知道问题已解决:


此食谱仅显示了使用Webhook和Mattermost改进事件通知和组织的两种方法。 例如,根据故障单的解决方案,脚本可以获取事件通道中的所有帖子以及上载的所有文件,并将其放入事件解决方案所附的存档中。
由于Mattermost支持交互式消息按钮和斜杠命令,因此您也可以从Mattermost发送钩子。 无需离开您的Mattermost客户,就可以确认PagerDuty事件或创建具有相关事件信息的Jira票证。
PagerDuty还支持您可能希望以其他方式处理的其他事件类型,例如,将事件分配给用户后,将他们添加到事件通道。
在这里,您可以找到编写基于PagerDuty的自己的Mattermost事件管理系统所需的一切:
- PagerDuty Webhooks
- 最重要的API
- 网络挂钩
- HTTParty
( 编者注:该食谱由Mattermost的客户社区经理Paul Rothrock撰写。它最初出现在 Mattermost博客上 。 )