Netflix 开源危机管理工具 Dispatch,真香
ztj100 2024-10-27 18:34 22 浏览 0 评论
本文最初发布于 Netflix 技术博客,经授权由 InfoQ 中文站翻译并分享。
什么是 Dispatch?简单说,它是一个管理事件元数据和资源的危机管理编排框架。通过与组织中使用工具(像 Slack、GSuite 等)的深度集成,Dispatch 可以帮助我们有效地管理安全事件。它利用组织熟悉的工具来提供编排功能,而非引入另一种工具。
这意味着你能让 Dispatch 专注于创建资源、安排参与者、发送通知和跟踪任务以及协助事后回顾——让你真正专注于解决问题!
危机管理的挑战
管理事件是一项压力很大的工作。因为,你同时要处理许多问题:范围是什么?谁能提供帮助?我还需要谁参与进来?我应该如何处理这一切?
一般来说,每一个事件都是独一无二的,如果同样的事件一而再再而三地发生,你就成消防员了。
危机管理主要包含四个组件:
- 资源管理——不仅要管理收集到的与事件相关的数据,还有所有和事件响应相关的元数据。
- 个人参与——理解让个人和团队参与的最佳方式,并根据事件上下文来进行。
- 生命周期管理——提供事件指挥官(IC)工具,轻松管理事件的生命周期。
- 事件学习——基于以前的事件加快对未来事件的分析。
在本文接下来的讨论中,我们会用到以下术语:
- 事件指挥官:负责推动事件解决的人。
- 事件参与者:帮助解决事件的主题专家(SMEs)。
- 资源:在事件中使用的文档、屏幕截图、日志或任何其他数字化信息。
事件处理步骤
普通事件的处理有很多步骤,其中很多通常都是由人即时处理的。让我们列举下:
- 声明一个事件——事件有许多不同的入口:自动报警、内部通知或外部通知。
- 确定事件指挥官——根据事件来源、类型和优先级,确定负责推动特定事件的唯一负责人。
- 创建沟通通道——事件处理期间的沟通很关键。创建标准化的专用沟通通道可以防止通信筒仓的出现。
- 创建事件文档——包含最新事件信息的重要文件,其中包括事件描述、资源链接、面对面会议的纪要、打开的问题、行动项和时间表信息。
- 确定个体资源——事件指挥官不会自己解决事件,他们必须在组织内找出其他的资源,让他们参与进来帮助自己。
- 引导个体资源——光让其他资源参与进来还不够,事件指挥官还需要让这些资源了解当前的情况。
- 通知关键干系人——对于任何给定的事件,如果关键干系人没有参与事件解决,则需要通知他们。
- 推动事件解决——事件的实际解决,创建任务,提出问题,并跟踪答案。解决问题后记录解决问题的要点。
- 执行事件后回顾(PIR)——回顾事件处理执行过程,跟踪事件发生后要采取的行动,并通过构建非正式知识来推动学习。
每个步骤都需要事件指挥官和事件参与者跨越不同的系统和接口。每次上下文切换都会增加响应者的认知负荷,分散他们解决事件本身的注意力。
更好的危机管理
危机管理不是一项新挑战,像 Jira、PagerDuty、VictorOps 这样的工具都在帮助组织管理和响应事件。当开始自动化事件管理过程时,我们主要有两个目标:
- 使用已有的、用户熟悉的工具;降低事件处理所需的学习曲线。
- 编目、存储并分析我们的事件数据,加速事件解决。
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 的数据基础设施如何兼顾效率和成本?-InfoQ
关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「了解更多」,即可移步InfoQ官网,获取最新资讯~
相关推荐
- 从IDEA开始,迈进GO语言之门(idea got)
-
前言笔者在学习GO语言编程的时候,GO语言在国内还没有像JAVA/Php/Python那样普及,绕了不少的弯路,要开始入门学习一门编程语言,最好就先从选择一个好的编程语言的开发环境开始,有了这个开发环...
- 基于SpringBoot+MyBatis的私人影院java网上购票jsp源代码Mysql
-
本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于SpringBoot...
- 基于springboot的个人服装管理系统java网上商城jsp源代码mysql
-
本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于springboot...
- 基于springboot的美食网站Java食品销售jsp源代码Mysql
-
本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于springboot...
- 贸易管理进销存springboot云管货管账分析java jsp源代码mysql
-
本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目描述贸易管理进销存spring...
- SpringBoot+VUE员工信息管理系统Java人员管理jsp源代码Mysql
-
本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍SpringBoot+V...
- 目前见过最牛的一个SpringBoot商城项目(附源码)还有人没用过吗
-
帮粉丝找了一个基于SpringBoot的天猫商城项目,快速部署运行,所用技术:MySQL,Druid,Log4j2,Maven,Echarts,Bootstrap...免费给大家分享出来前台演示...
- SpringBoot+Mysql实现的手机商城附带源码演示导入视频
-
今天为大家带来的是基于SpringBoot+JPA+Thymeleaf框架的手机商城管理系统,商城系统分为前台和后台、前台用的是Bootstrap框架后台用的是SpringBoot+JPA都是现在主...
- 全网首发!马士兵内部共享—1658页《Java面试突击核心讲》
-
又是一年一度的“金九银十”秋招大热门,为助力广大程序员朋友“面试造火箭”,小编今天给大家分享的便是这份马士兵内部的面试神技——1658页《Java面试突击核心讲》!...
- SpringBoot数据库操作的应用(springboot与数据库交互)
-
1.JDBC+HikariDataSource...
- SpringBoot 整合 Flink 实时同步 MySQL
-
1、需求在Flink发布SpringBoot打包的jar包能够实时同步MySQL表,做到原表进行新增、修改、删除的时候目标表都能对应同步。...
- SpringBoot + Mybatis + Shiro + mysql + redis智能平台源码分享
-
后端技术栈基于SpringBoot+Mybatis+Shiro+mysql+redis构建的智慧云智能教育平台基于数据驱动视图的理念封装element-ui,即使没有vue的使...
- Springboot+Mysql舞蹈课程在线预约系统源码附带视频运行教程
-
今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的Springboot+Mysql舞蹈课程在线预约系统,系统项目源代码在【猿来入此】获取!https://www.yuan...
- SpringBoot+Mysql在线众筹系统源码+讲解视频+开发文档(参考论文
-
今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的在线众筹管理系统,主要实现了普通用户在线参与众筹基本操作流程的全部功能,系统分普通用户、超级管理员等角色,除基础脚手架外...
- Docker一键部署 SpringBoot 应用的方法,贼快贼好用
-
这两天发现个Gradle插件,支持一键打包、推送Docker镜像。今天我们来讲讲这个插件,希望对大家有所帮助!GradleDockerPlugin简介...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 从IDEA开始,迈进GO语言之门(idea got)
- 基于SpringBoot+MyBatis的私人影院java网上购票jsp源代码Mysql
- 基于springboot的个人服装管理系统java网上商城jsp源代码mysql
- 基于springboot的美食网站Java食品销售jsp源代码Mysql
- 贸易管理进销存springboot云管货管账分析java jsp源代码mysql
- SpringBoot+VUE员工信息管理系统Java人员管理jsp源代码Mysql
- 目前见过最牛的一个SpringBoot商城项目(附源码)还有人没用过吗
- SpringBoot+Mysql实现的手机商城附带源码演示导入视频
- 全网首发!马士兵内部共享—1658页《Java面试突击核心讲》
- SpringBoot数据库操作的应用(springboot与数据库交互)
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- node卸载 (33)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- exceptionininitializererror (33)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)