Chatops

在整个文档中,参考都是针对各种聊天命令的,所有这些命令都以感叹(例如,!IC页)。我们在松弛室中运行机器人,这些机器人注意这些命令,并在检测到它们时为我们执行各种操作。此页面概述了我们在本文档中引用的命令以及它们在幕后所做的工作。

这些机器人是开源的吗?

不幸的是,我们使用的聊天插件和机器人目前尚未开源,但是我们最终希望将其开源,以便您可以从中受益。同时,希望本页上的描述可以帮助您使用自己的工具复制类似的功能。

事件响应

我们的!我知道了命令对我们指定的各种通话时间表的幕后Pagerduty API进行了调查。它缓存了当前呼叫用户的名称和联系方式,因此,如果提出API请求存在任何问题,则该功能不影响。

!我知道了

此命令列出了当前事件指挥官在电话中,他们的电话号码以及一条消息告诉用户如何分页。

事件指挥官列表

!IC页

这是我们用来手动触发事件响应过程的命令。它使用缓存的时间表信息,并将为所有当前的事件指挥官(主要,备份,备份和任何正在遮蔽的受训者)页面。如果由于任何原因无法分页,它还将通知房间,并指示用户使用其联系信息手动致电该人。此外,它将创建一个新的Pagerduty事件,并将用户链接到它。

分页事件指挥官

如果出于任何原因我们无法自动分给事件指挥官,则该机器人会让我们知道它已经失败,并给我们为相关人员提供电话号码,以便我们可以手动打电话给他们。这是我们测试机器人的一些示例输出,在其中,由于无反应性的API调用,我们模拟了无法通过Pagerduty分页。

测试失败

!IC响应者

这与!我知道了命令,仅使用我们所有的服务团队计划,而不仅仅是IC计划。它将列出每个工程团队目前正在待命的人。这对于知道谁可能会暂时加入事件,这很有用。

上市响应者

!IC页面响应者

这与!IC页,仅在响应者列表中为“响应者”列表,而不是事件指挥官。这很少使用,因为通常只有相关团队才能分页。但是,有时我们需要“全方位的甲板”响应,并且需要能够快速打开所有当前的电话。

分页响应者

!ic谁

有时,我们可能需要确定一个特定的人来接听电话。此命令列出了特定用户的联系信息,以及一条消息告诉用户如何分页。

识别用户

!IC页

这将通过用户名来页面一个特定的人。

对用户进行分页

地位

我们的!地位命令查看我们的内部监视系统,以确定系统本身报告的当前系统状态。这是我们警报工具用来自动通知我们问题的状态。

!地位

这将告诉我们当前对系统状态的概述。如果无法检查状态,它也会提醒我们,因为这也可能表明问题。不过,通常情况下,它希望显示出普通的

显示状态

!状态茎

这与上述相同,只有每30年代进行一次调查,直到我们停止它(与!状态解开)。自从上次检查以来,它只会将状态报告到聊天室中。我们在事件期间进行了此操作,因此我们可以轻松查看我们的系统是否正在恶化或恢复,而无需手动检查我们的监视。

跟踪状态

Baidu