NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Netflix 开源危机管理工具 Dispatch

  • 2020-09-24
  • 本文字数:2234 字

    阅读完需:约 7 分钟

Netflix开源危机管理工具Dispatch

本文最初发布于 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


2020-09-24 14:164377
用户头像

发布了 690 篇内容, 共 399.4 次阅读, 收获喜欢 1498 次。

关注

评论

发布
暂无评论
发现更多内容

[翻译] InnoDB 空间文件中的页面管理

keaper

MySQL 数据库 后端 服务端 innodb

如何与同事相处

escray

学习 极客时间 朱赟的技术管理课 7月日更

这份Java面试八股文让329人成功进入大厂,堪称2021最强

北游学Java

Java 面试

架构实战营 模块三 作业

一雄

作业 架构实战营 模块三

Scrum Master的职责——《Scrum指南》重读有感(5)

Bruce Talk

Scrum 敏捷 随笔 Agile

Linux之grep命令

入门小站

Linux

在线正则表达式可视化工具

入门小站

工具

详解轻量日志聚合系统Loki架构

运维研习社

Grafana 日志系统 Loki

Vue进阶(十八):router.beforeEach 与 router.afterEach 钩子函数

No Silver Bullet

Vue 钩子函数 路由 7月日更

架构实战营 - 模块 9- 作业

请弄脏我的身体

架构实战营

强强联手:2021强网杯LongTimeAgo复盘分析

网络安全学海

网络安全 信息安全 渗透测试 漏洞扫描 强网杯

第九课作业

杰语

4种Spring Boot中集成Elasticsearch的方法实战

北游学Java

Java Spring Boot ES

构建高效Presubmit卡点,落地测试左移最佳实践

大卡尔

ci 测试左移 Presubmit

web自动化测试(1):再谈UI发展史与UI、功能自动化测试

zhoulujun

大前端 自动化测试 UI自动化测试 web测试

Python OpenCV 图像的二值化操作再次学习与图像平滑处理(卷积处理)

梦想橡皮擦

Python 7月日更

Redis - 配置文件

旺仔大菜包

redis

Python 正则表达式急速入门

喵叔

7月日更

C# BS方向 该如何规划学习?【学习路线指南】

Andy阿辉

C# 学习 编程 程序猿

golang学习之路--内存分配器

en

内存 Go 语言

企业架构师的职业发展

在天涯的海角

架构师 职业发展 企业架构师

实战架构营模块三作业-外包学生管理系统架构设计

王晓宇

没有隐私计算,区块链这个美丽的梦想就不能落地

CECBC

Java为什么用迭代器

卢卡多多

7月日更

程序员必备技能之SpringBoot的自动装配原理,很详细,建议收藏!!!

AI乔治

Java spring 架构 微服务 springboot

[翻译] InnoDB 空间文件布局基础

keaper

MySQL 数据库 后端 服务端 innodb

JVM知识整理

十二万伏特皮卡丘

JVM

Seldon 使用 (四):内置的推理服务TFServing

托内多

tensorflow kubeflow seldon tfserving

Go语言:指针和unsafe.Pointer有什么区别?

微客鸟窝

Go 语言

[翻译] 使用 innodb_ruby 探索 InnoDB 的页面管理

keaper

MySQL 数据库 后端 服务端 innodb

Vue进阶(六):组件之间的数据传递

No Silver Bullet

Vue 组件 7月日更 数据传递

Netflix开源危机管理工具Dispatch_语言 & 开发_Netflix技术博客_InfoQ精选文章