openobs/openobs

GitHub: openobs/openobs

AI 原生的开源可观测性平台,通过自然语言对话自动生成仪表盘、调查事件并管理告警规则。

Stars: 4 | Forks: 2

OpenObs logo

OpenObs

开源 AI 原生可观测性平台。
调查事件、生成仪表盘并管理告警 — 由 LLM 驱动。

npm CI License Docs

官网 · 文档 · 快速开始 · Helm

OpenObs demo — watch on YouTube

Watch the 1-minute demo on YouTube

## 什么是 OpenObs? OpenObs 将自然语言转化为生产级的可观测性工作流: - **仪表盘生成** — 描述你想要监控的内容。OpenObs 会从你的 Prometheus 实例中发现指标,并使用真实的 PromQL 查询构建仪表盘。 - **事件调查** — 询问有关你系统的问题。OpenObs 会规划调查方案,查询你的指标,并编写包含证据的结构化报告。 - **告警规则管理** — 通过对话创建告警规则。*“当 p95 延迟超过 500ms 时提醒我。”* - **对话式编辑** — 与任何仪表盘对话,以添加面板、重新排列布局、修改查询或深入分析异常。 ## 快速开始 通过 npm 安装: ``` npm install -g openobs openobs ``` - 首次运行会打开浏览器进入设置向导 - 在 `~/.openobs/` 中自动生成持久化加密密钥 - 无需任何配置文件 然后打开 **http://localhost:3000** 并按照向导连接 LLM 提供商和数据源。 ### 从源码构建 ``` git clone https://github.com/openobs/openobs.git && cd openobs npm install cp .env.example .env # set JWT_SECRET (min 32 chars) npm run build npm run start # API on :3000, Web on :5173 ``` ### 系统要求 | 要求 | 备注 | |---|---| | **Node.js 20+** | 必需 | | **LLM 提供商** | Anthropic、OpenAI、Gemini、DeepSeek、Ollama 或 Azure/Bedrock | | **Prometheus** | 可选 — 即使没有也能使用仪表盘,但指标发现和调查功能需要它 | ## 使用 Helm 部署 该 Chart 已作为 OCI 制品发布到 GitHub Container Registry — 无需执行 `helm repo add`: ``` helm install openobs oci://ghcr.io/openobs/charts/openobs \ --namespace observability --create-namespace \ --set secretEnv.LLM_API_KEY='your-provider-key' ``` 针对未发布的 Chart 源码进行本地开发: ``` helm upgrade --install openobs ./helm/openobs \ --namespace observability --create-namespace \ --set image.repository=ghcr.io/openobs/openobs \ --set image.tag=latest \ --set secretEnv.LLM_API_KEY='your-provider-key' ``` 有关 ingress、Postgres、Redis 和持久化选项,请参阅完整的 [Kubernetes 安装指南](https://docs.openobs.com/install/kubernetes)。 ## 架构 OpenObs 是一个包含 10 个包的 TypeScript monorepo: ``` common Shared types, errors, and utilities llm-gateway Multi-provider LLM abstraction (Anthropic, OpenAI, Gemini, Ollama, ...) data-layer Persistence layer (SQLite / Postgres via Drizzle ORM) adapters Observability backend connectors (Prometheus, logs, traces) adapter-sdk SDK for building custom execution adapters guardrails Safety guards, cost controls, and action policies agent-core AI agent logic — orchestration, investigation, dashboard generation api-gateway Express HTTP server, REST API, WebSocket web React SPA (Vite + Tailwind CSS) cli Published `openobs` npm package — self-contained all-in-one bundle ``` 有关完整的依赖图和设计模式,请参阅 [ARCHITECTURE.md](./ARCHITECTURE.md)。 ## 配置 所有配置均通过环境变量或 `/setup` 处的交互式设置向导完成。
环境变量参考 | 变量 | 必需 | 描述 | |---|---|---| | `JWT_SECRET` | 是 | 用于 auth token 的签名密钥(最少 32 个字符) | | `LLM_PROVIDER` | 否 | 默认 LLM 提供商(通过设置向导配置) | | `LLM_API_KEY` | 否 | LLM 提供商的 API 密钥 | | `LLM_MODEL` | 否 | 默认模型名称 | | `DATABASE_URL` | 否 | Postgres 连接字符串;省略则使用 SQLite | | `REDIS_URL` | 否 | Redis 连接字符串 | | `CORS_ORIGINS` | 否 | 逗号分隔的允许来源 | | `API_KEYS` | 否 | 用于服务端到服务端访问的服务 API 密钥 | | `LOG_LEVEL` | 否 | `debug` / `info` / `warn` / `error` | 复制 `.env.example` 以查看包含默认值的完整列表。
## 开发 ``` npm run build # TypeScript build (all packages) npm test # Vitest (all packages) npm run start # API + web dev servers npm run docs:dev # VitePress docs dev server ``` ## 贡献 有关开发设置、代码风格以及新代码的放置位置,请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。 ## 许可证 [MIT](./LICENSE)
标签:AIOps, AI原生, DLL 劫持, Helm, IT运维, LLM, MITM代理, NPM包, OSV-Scalibr, Socks5代理, SRE, Unmanaged PE, 事件调查, 代码示例, 仪表盘生成, 偏差过滤, 可观测性平台, 告警管理, 大语言模型, 开源, 指标监控, 数据分析, 无线安全, 智能化运维, 智能监控, 测试用例, 监控, 站点可靠性, 网络安全审计, 自动化攻击, 自定义请求头