事件管理工具

IncidentOps是一个AI辅助的事件检测、分类与治理工具,基于Kiro的规范驱动工作流构建,旨在从嘈杂的生产环境中识别和解决重复性问题。

  • by reema14a
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 reema14a/incidentops-skeleton

使用说明

🦴 偶发事件操作

人工智能辅助事件检测、分类和治理——基于Kiro的规范驱动工作流构建

IncidentOps是为 Kiro 黑客 马拉松,旨在使在嘈杂的生产环境中更容易看到重复出现的问题。使用 Kiro的规范驱动开发、多代理编排和干净的迭代工作流,以在通常时间的一小部分内构建完整的事件管理系统。


🚀 概述

在实际操作中,重大事件很少以戏剧性的失败开始——它们始于 小重复信号 埋在木头里。 IncidentOps使用一系列协作代理来展示这些模式:

  1. 监视器代理 –检测原始日志条目中的异常
  2. LLMAlertSummaryAgent –生成人性化的摘要
  3. 分类试剂 –指定确定性严重性+类别
  4. LLM解决方案代理 –建议基于人工智能的补救措施
  5. OpsLogAgent –编写事实审计日志(无解释)
  6. LLM管理代理 –执行风险评分、上报、合规
  7. LLM治理洞察代理 –分析重复出现的历史模式
  8. 通知代理 –如果启用,则向外部发送警报(电子邮件、推送)

所有运行都存储在持久 SQLite数据库,该系统包括一个多页面 流线型UI 用于与管道结果交互。


🧩 架构图

注意:渲染免费层服务可能需要20-40秒才能冷启动。


🖥️ 如何使用该应用程序

  1. 打开已部署的Streamlit应用程序 (冷启动可能需要30-60秒)

  2. 首选 家 使用示例日志运行完整的管道

  3. 浏览侧边栏页面:

    • 管道转轮 → 查看每个代理的输出
    • 治理见解 → 查看跑步中的重复模式
    • 数据库视图 → 检查持续存在的历史事件
  4. 多次运行管道——结果将保存在SQLite中

  5. 如果设置了环境变量,则可以选择测试NotificationAgent


⚙️ 技术栈

图层 工具 目的
编排 Python 代理逻辑+流水线执行
UI Streamlit 多页面前端
存储 SQLite 完全持久运行+分析
AI推理 LLMs(OpenAI) 总结、补救、见解
发展 开发 IDE 规范驱动、任务驱动的构建工作流

🧠 使用的Kiro功能

  • 规范驱动开发 编写结构化规范→ Kiro生成了模块化代理和流。

  • 启动任务工作流 允许对每个规范进行干净、确定的执行。

  • 氛围编程 使用会话细化迭代地演化组件。

  • 挂钩和触发器 互联治理评分+洞察生成。

  • 指导文件 确保跨UI、DB、管道和代理的可重复生成。


📦 本地设置

1.安装依赖项

pip install -r requirements.txt

2.设置环境变量(可选但推荐)

OPENAI_API_KEY=your_key
EMAIL_USER=...
EMAIL_PASSWORD=...

3.运行Streamlit UI

streamlit run ui/Home.py

4.目录结构

首次运行时自动创建:

data/db/              # SQLite persistence
data/sample_logs/     # Input samples
logs/                 # Agent + pipeline logs

🔮 未来的增强功能

  • 插入真正的可观察性源(CloudWatch、Prometheus)
  • 添加基于AI的事件相关性
  • 通过风险阈值扩展治理评分
  • 集成传出通知(Slack、PagerDuty、Jira)

👤 作者

里玛·拉加瓦 AI+BI+运维系统架构师

🔗 领英: https://www.linkedin.com/in/reema-raghava-28737a11/ 🔗 github: https://github.com/reema14a