百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

Netflix 开源危机管理工具 Dispatch,真香

ztj100 2024-10-27 18:34 38 浏览 0 评论

本文最初发布于 Netflix 技术博客,经授权由 InfoQ 中文站翻译并分享。

什么是 Dispatch?简单说,它是一个管理事件元数据和资源的危机管理编排框架。通过与组织中使用工具(像 Slack、GSuite 等)的深度集成,Dispatch 可以帮助我们有效地管理安全事件。它利用组织熟悉的工具来提供编排功能,而非引入另一种工具。

这意味着你能让 Dispatch 专注于创建资源、安排参与者、发送通知和跟踪任务以及协助事后回顾——让你真正专注于解决问题!

危机管理的挑战

管理事件是一项压力很大的工作。因为,你同时要处理许多问题:范围是什么?谁能提供帮助?我还需要谁参与进来?我应该如何处理这一切?

一般来说,每一个事件都是独一无二的,如果同样的事件一而再再而三地发生,你就成消防员了。

危机管理主要包含四个组件:

  1. 资源管理——不仅要管理收集到的与事件相关的数据,还有所有和事件响应相关的元数据。
  2. 个人参与——理解让个人和团队参与的最佳方式,并根据事件上下文来进行。
  3. 生命周期管理——提供事件指挥官(IC)工具,轻松管理事件的生命周期。
  4. 事件学习——基于以前的事件加快对未来事件的分析。

在本文接下来的讨论中,我们会用到以下术语:

  • 事件指挥官:负责推动事件解决的人。
  • 事件参与者:帮助解决事件的主题专家(SMEs)。
  • 资源:在事件中使用的文档、屏幕截图、日志或任何其他数字化信息。

事件处理步骤

普通事件的处理有很多步骤,其中很多通常都是由人即时处理的。让我们列举下:

  • 声明一个事件——事件有许多不同的入口:自动报警、内部通知或外部通知。
  • 确定事件指挥官——根据事件来源、类型和优先级,确定负责推动特定事件的唯一负责人。
  • 创建沟通通道——事件处理期间的沟通很关键。创建标准化的专用沟通通道可以防止通信筒仓的出现。
  • 创建事件文档——包含最新事件信息的重要文件,其中包括事件描述、资源链接、面对面会议的纪要、打开的问题、行动项和时间表信息。
  • 确定个体资源——事件指挥官不会自己解决事件,他们必须在组织内找出其他的资源,让他们参与进来帮助自己。
  • 引导个体资源——光让其他资源参与进来还不够,事件指挥官还需要让这些资源了解当前的情况。
  • 通知关键干系人——对于任何给定的事件,如果关键干系人没有参与事件解决,则需要通知他们。
  • 推动事件解决——事件的实际解决,创建任务,提出问题,并跟踪答案。解决问题后记录解决问题的要点。
  • 执行事件后回顾(PIR)——回顾事件处理执行过程,跟踪事件发生后要采取的行动,并通过构建非正式知识来推动学习。

每个步骤都需要事件指挥官和事件参与者跨越不同的系统和接口。每次上下文切换都会增加响应者的认知负荷,分散他们解决事件本身的注意力。

更好的危机管理

危机管理不是一项新挑战,像 Jira、PagerDuty、VictorOps 这样的工具都在帮助组织管理和响应事件。当开始自动化事件管理过程时,我们主要有两个目标:

  1. 使用已有的、用户熟悉的工具;降低事件处理所需的学习曲线。
  2. 编目、存储并分析我们的事件数据,加速事件解决。

Dispatch

Dispatch 是一个管理事件元数据和资源的危机管理编排框架。它使用组织中已经在使用的工具,为事件参与者提供一个全面的危机管理工具集,让他们能够专注于解决事件。

与我们的许多工具不同,Dispatch 没有紧密绑定到 AWS,Dispatch 根本不使用任何 AWS API。虽然 Dispatch 不使用 AWS API,但它利用已经在组织中广泛应用的多个 API(例如 Slack、GSuite、PagerDuty 等)。除了所有内置的集成外,Dispatch 还提供了多个集成点,让其能适应几乎任何现有的环境。

尽管是作为帮助 Netflix 管理安全事件的工具而开发的,但 Dispatch 并不局限于安全用例。它的核心目标是管理事件的整个生命周期,专注于让个体参与进来,并为他们提供推动事件解决所需的上下文。

工作流

让我们看一下,使用 Dispatch 时,事件指挥官的新工作流:

以下是新工作流的部分优点:

  • 事件指挥官不再需要处理资源或多数据流访问。
  • 跨事件的交流是标准化的。
  • 事件参与者会根据事件类型、优先级和描述自动参与进来。
  • 事件可以跟踪,如果事件未能按时处理完成,会提醒所有者。
  • 所有事件数据都可以集中跟踪。
  • 为内部用户和工具提供了共用的 API。

我们想让事件报告尽可能地顺畅,让用户可以在危机发生时直接获取所需的资源。

对事件指挥官来说,在不同的工具间切换时,保证数据的正确性和同步是一项低价值的活动。相反,我们集中使用两种通用工具来管理整个生命周期。Slack 用于管理事件元数据(例如,状态、标题、描述、优先级等),而 GoogleDoc 和 Google Drive 用于管理数据本身。

当团队需要查看许多事件时,Dispatch 提供一个管理 UI。这个界面也是管理事件知识的地方,包括常见术语及其定义、个人、团队和服务。我们用管理 UI 管理事件知识,以便在未来的事件中使用。

架构

Dispatch 使用了以下组件:

  • Python 3.8 with FastAPI(包括辅助程序包)
  • VueJS UI
  • Postgres

Dispatch 带有内置插件,允许你通过 GSuite(Docs、Drive、Sheets、Calendar、Groups)、Jira、PagerDuty 和 Slack 创建和管理资源。而且,插件架构使得 Dispatch 可以与组织当前使用的任何工具进行集成。

Dispatch 开源项目下载地址:

https://github.com/Netflix/dispatch

说明:

目前,Dispatch 已经在 Netflix 开源网站上提供。你可以借助 Docker 试用。关于详细的安装步骤和配置方法,请查阅文档。如果您有任何建议,请随时联系或提交pull 请求。希望能看到您为了使用Dispatch 而新建的插件!希望您发现Dispatch 非常有用!

原文链接:

https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072

延伸阅读:

Netflix的支付生态系统迁移到AWS的实践-InfoQ

Netflix 的数据基础设施如何兼顾效率和成本?-InfoQ

关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「了解更多」,即可移步InfoQ官网,获取最新资讯~

相关推荐

Jquery 详细用法

1、jQuery介绍(1)jQuery是什么?是一个js框架,其主要思想是利用jQuery提供的选择器查找要操作的节点,然后将找到的节点封装成一个jQuery对象。封装成jQuery对象的目的有...

前端开发79条知识点汇总

1.css禁用鼠标事件2.get/post的理解和他们之间的区别http超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。HTTP的工作方式是客户机与服务器之间的请求-应答协议。...

js基础面试题92-130道题目

92.说说你对作用域链的理解参考答案:作用域链的作用是保证执行环境里有权访问的变量和函数是有序的,作用域链的变量只能向上访问,变量访问到window对象即被终止,作用域链向下访问变量是不被允许的。...

Web前端必备基础知识点,百万网友:牛逼

1、Web中的常见攻击方式1.SQL注入------常见的安全性问题。解决方案:前端页面需要校验用户的输入数据(限制用户输入的类型、范围、格式、长度),不能只靠后端去校验用户数据。一来可以提高后端处理...

事件——《JS高级程序设计》

一、事件流1.事件流描述的是从页面中接收事件的顺序2.事件冒泡(eventbubble):事件从开始时由最具体的元素(就是嵌套最深的那个节点)开始,逐级向上传播到较为不具体的节点(就是Docu...

前端开发中79条不可忽视的知识点汇总

过往一些不足的地方,通过博客,好好总结一下。1.css禁用鼠标事件...

Chrome 开发工具之Network

经常会听到比如"为什么我的js代码没执行啊?","我明明发送了请求,为什么反应?","我这个网站怎么加载的这么慢?"这类的问题,那么问题既然存在,就需要去解决它,需要解决它,首先我们得找对导致问题的原...

轻量级 React.js 虚拟美化滚动条组件RScroll

前几天有给大家分享一个Vue自定义滚动条组件VScroll。今天再分享一个最新开发的ReactPC端模拟滚动条组件RScroll。...

一文解读JavaScript事件对象和表单对象

前言相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScrip...

Python函数参数黑科技:*args与**kwargs深度解析

90%的Python程序员不知道,可变参数设计竟能决定函数的灵活性和扩展性!掌握这些技巧,让你的函数适应任何场景!一、函数参数设计的三大进阶技巧...

深入理解Python3密码学:详解PyCrypto库加密、解密与数字签名

在现代计算领域,信息安全逐渐成为焦点话题。密码学,作为信息保护的关键技术之一,允许我们加密(保密)和解密(解密)数据。...

阿里Nacos惊爆安全漏洞,火速升级!(附修复建议)

前言好,我是threedr3am,我发现nacos最新版本1.4.1对于User-Agent绕过安全漏洞的serverIdentitykey-value修复机制,依然存在绕过问题,在nacos开启了...

Python模块:zoneinfo时区支持详解

一、知识导图二、知识讲解(一)zoneinfo模块概述...

Golang开发的一些注意事项(一)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

Python鼠标与键盘自动化指南:从入门到进阶——键盘篇

`pynput`是一个用于控制和监控鼠标和键盘的Python库...

取消回复欢迎 发表评论: