待命职责
待命期望和有用信息的总结。
什么是待命?#
待命意味着你可以在任何时候被联系,以便调查和修复你负责的系统可能出现的问题。例如,如果你在PagerDuty为你的服务待命,如果该服务的任何警报被触发,你将收到一个“页面”(移动设备上的警报、电子邮件、电话呼叫或短信等),告诉你哪里出了问题以及如何修复。你将被期望采取任何必要的行动来解决问题,并将你的服务恢复到正常状态。
待命职责超出了正常办公时间,如果你在待命,你将被期望能够响应问题——即使在凌晨2点。这听起来很可怕(而且可能会很可怕),但这是我们的客户所经历的,也是PagerDuty产品本身试图解决的问题!
责任#
-
准备
- 随身携带你的笔记本电脑和互联网(办公室、家中、MiFi dongle、有共享计划的电话等)。
- 有一个给MiFi充电的方法。
- 团队警报升级在5分钟内发生,相应地设置/调整你的通知超时(推送、短信、电话等)。
- 确保PagerDuty的短信和电话可以绕过你的“请勿打扰”设置。
- 做好准备(环境已设置好,必要的仓库的当前工作副本本地且功能正常,你已经在工作站上配置和测试了环境,你的第三方服务凭证是最新的,等等)。
- 阅读我们的应急响应文档(就是这个!),了解我们如何处理严重事件,不同的角色和沟通方式是什么,等等。
- 了解你即将到来的待命时间(主要、备份),并围绕旅行、假期、预约等安排交换。
- 随身携带你的笔记本电脑和互联网(办公室、家中、MiFi dongle、有共享计划的电话等)。
-
分类
- 尽可能确认并处理警报(见下面的第一个“非责任”点)。
- 确定问题的紧迫性:
- 是否是需要立即处理或升级为重大事件的问题?(例如,“生产服务器着火”的情况。安全警报)- 如果是,请这样做。
- 是否是一些战术工作,不必在夜间进行?例如,磁盘利用率高水位线,但还有足够的空间,趋势也没有预示即将发生的灾难,等等。只需将警报暂停到更合适的时间(工作时间或第二天早上),然后回来修复它。
- 检查Slack的当前活动。通常(但并非总是),可能引起警报的行动会在那里宣布。
- 警报和你的初步调查是否表明是一个普遍问题或特定服务的问题,相关团队应该关注?如果看起来不像是你擅长解决的问题,那么就升级到另一个团队。
-
修复
- 你有权深入任何问题并采取行动修复它。
- 必要时涉及其他团队成员:如果你在合理时间内无法找出原因,或者服务/警报是你以前没有处理过的,不要犹豫升级。
- 如果问题不是时间敏感的,并且你有其他优先工作,创建一个JIRA票来跟踪它(具有适当的严重性)。
-
改进
- 如果某个特定问题不断发生;如果一个问题经常警报但结果是一个可预防的非问题——也许改进这个应该是一个长期任务。
- 填满的磁盘,应该轮转的日志,嘈杂的警报...
- 如果信息难以/不可能找到,写下来。不断重构和改进我们的知识库和文档。如果你的心理模型与当前的维基/代码库组织方式不匹配,添加冗余链接和指针。
- 如果某个特定问题不断发生;如果一个问题经常警报但结果是一个可预防的非问题——也许改进这个应该是一个长期任务。
-
支持
- 当你的待命“班次”结束时,让下一个待命的人知道尚未解决的问题和其他值得注意的经验。
- 如果你正在做一个影响日程的改变(例如,添加/移除你自己),让其他人知道,因为我们中的许多人在待命日程上提前做了安排。
- 互相支持:当进行可能产生大量页面的活动时,礼貌地“拿走页面”,通过通知他们并安排覆盖持续时间来避免待命人员被打扰。
非责任#
-
不应该期望在待命期间首先确认所有的警报。
- 通勤(和其他必要的干扰)是生活的事实,有时在警报升级之前无法接收或处理警报。这就是我们有备份待命和日程安排的原因。
-
没有期望你独自解决所有问题。
- 没有人知道所有事情。你的整个团队都在这里帮助你。对于你不确定的问题进行升级并没有什么可耻的,而且有很多东西可以学习。我们的座右铭是“永远不要犹豫升级。”
- 服务所有者总是更了解他们的东西是如何工作的。特别是在我们的和他们的文档不足的情况下,与相关团队再次确认可以避免错误。量两次,切一次——通常最好让主题专家(SME)来做切割。
建议#
如果你的团队正在开始自己的待命轮换,这里有一些来自运营团队的日程安排建议。
-
总是有一个备份日程。是的,这意味着两个人同时待命。如果主要待命的人知道他们有一个特定的备份可以联系,而不是试图选择团队的随机成员,这会减轻很多压力。
- 备份班次通常应该直接跟在主要班次之后。这给了前一个主要待命的人传递额外上下文的机会,这些上下文可能在他们班次期间出现。它还有助于防止人们坐在问题上,意图让下一个班次来解决。
-
你的升级的第三级(在备份日程之后)应该是你的整个团队。这应该希望永远不会发生(这在运营团队的历史上只发生过一次),但当它发生时,能够直接得到下一个可用的人是有用的。
-
团队经理可以(也应该)成为你正常轮换的一部分。这提供了更好的洞察力,了解发生了什么。
-
团队的新成员应该在最初几周内跟随你的待命轮换。他们应该收到所有警报,并跟随你正在做的事情。(所有新员工都会跟随运营团队进行一周的待命,但让新团队成员跟随你的团队轮换也很有用。只是不要同时进行)。
-
我们建议你将升级超时设置为5分钟。这应该足够时间让某人确认事件,如果他们能够的话。如果他们在5分钟内无法确认,那么他们可能不在一个好的位置来响应事件。
-
当结束待命时,你应该向下一任待命者提供一个关于他们班次期间可能出现的任何问题的快速总结。一个服务一直在波动,一个问题可能会再次发生,等等。如果你想正式一点,这可以通过电子邮件的书面报告,但通常口头总结就足够了。
通知方法建议#
你可以自由设置你的通知规则,以匹配你希望最好地响应事件的方式。如果你不确定如何配置它们,运营团队有一些建议。
- 使用推送通知和电子邮件作为你的第一种通知方法。我们大多数人总是随身携带手机,所以这是一种谨慎的第一种方法,通常是足够的。
- 在升级时间之后,每分钟使用电话和/或短信通知。如果推送不起作用,那么你可能需要更强烈的东西,比如电话呼叫。每分钟呼叫,直到太晚。如果你在第三次呼叫时没有接听,那么你不太可能能够响应,事件将远离你升级。
礼仪#
-
如果当前待命的人在中午来到办公室看起来很累,那不是因为他们懒惰。他们可能晚上被页面了。给他们一些空间,友好一点。
-
不要在别人下面确认事件。如果你没有因为事件被页面,那么你不应该确认它。添加一个带有你的笔记的评论。
-
如果你正在测试某事或执行你知道会导致页面的行动,习惯上在测试期间“拿走页面”。通知待命的人你将在接下来的一个小时里拿走页面进行测试。
-
“永远不要犹豫升级。”如果你不确定如何解决一个问题,永远不要感到羞耻去拉入其他人。同样,如果别人向你求助,永远不要看不起他们。
-
如果有人请求并且你能够的话,总是考虑覆盖别人的待命时间一两个小时。我们都有可能干扰待命时间的生活,有一天可能是你需要交换你的待命时间,以便与外地的朋友出去玩。
-
如果在你待命班次期间出现了一个你被页面的问题,你负责解决它。即使它需要3个小时,而你的班次只剩下1个小时。你可以交给下一个待命的人,如果他们同意,但你永远不应该假设这是可能的。