夜莺架构与数据流
夜莺将控制台、API、告警规则、通知与权限配置建立在 MySQL、Redis 和外部时序数据库之上。组件拆分会随发行版变化,部署前必须以当前版本官方配置和容器编排文件为准。
1. 整体架构

Web/API 处理界面、认证和配置;数据库保存用户、规则、Dashboard 与元数据;Redis 承担缓存、会话、心跳或协调职责;告警引擎按计划查询数据源并调用通知渠道。
2. 核心组件
常见发行包可能包含 n9e-webapi、n9e-server、n9e-center、n9e-cli 等组件或合并后的服务。它们的实际名称、端口、RPC 依赖和启动方式随版本变化,不能跨版本直接复制 systemd 单元。
| 组件类别 | 责任 |
|---|---|
| Web/API | 控制台、API、认证、配置管理 |
| Server/Engine | 告警评估、事件与通知调度 |
| Center/协调服务 | Agent 注册、心跳或中心协调能力 |
| CLI | 管理、初始化或诊断辅助工具 |
3. 数据与告警流程
指标从 Categraf/Exporter 进入 Prometheus 或 VictoriaMetrics。夜莺查询数据源生成 Dashboard,规则引擎按周期评估表达式,触发事件后按团队、级别和值班策略通知,再记录恢复与处置状态。
4. 生产架构
单节点适合学习。生产至少将 n9e 应用与 MySQL、Redis、TSDB 分开,Web/API 多副本经负载均衡访问,数据库与缓存使用高可用或托管服务。大规模多机房场景使用边缘执行/本地数据源,详见 高可用。