版本说明
当前版本 1.5.9。升级方式:单机改 ops.yaml 顶部 x-ops-image 的 tag,执行 docker compose -f ops.yaml pull && up -d;Kubernetes 重新下载清单覆盖 apply。数据卷不变,监控历史与告警配置保留。
从 1.4.x 升级前必读
- 数据源只认 UI「数据源」页。
ops.yaml/ ConfigMap 里的ENV_MYSQL_*、ENV_REDIS_*、ENV_KAFKA_ENDPOINTS、ENV_ELASTICSEARCH_*、ENV_MONGODB_URI、ENV_PROMETHEUS_HOST、ENV_FLINK_URL等不再被读取(启动日志会列出)。已有数据源不受影响,把这些行删掉即可。 - 日志与链路需两个不同的 bucket(
ENV_S3_BUCKET_LOKI/ENV_S3_BUCKET_TEMPO),且须在部署前建好;ENV_S3_ENDPOINT填host:port,不带http://。 - 已在运行的实例不要跟随新文档改数据卷路径,
/data/mdis/的新布局仅用于全新安装。
v1.5 · 2026 年 7 月
配置入口收敛到界面,Kubernetes 监控与对象存储可用性成型。
新增
- 数据源批量导入 / 导出。「数据源」页支持 YAML / JSON 批量导入(可下载带注释模板),按「类型 + 名称」幂等,同一份文件可反复导入;导入时逐条校验并探测连接,可先「仅校验」预检。同时支持一键导出为同格式的 YAML,用于备份、重装恢复、复制到另一套环境,分「不含密码」与「含明文密码」两档。也开放接口
POST /api/alert/sources/import。 - 「测试连接」会一并核验是否真的采到数据。端口可达、鉴权通过,与「面板上有图」之间还隔着采集目标下发、采集进程、指标抓取三道。现在会同时查询平台 Prometheus 中是否已有该数据源的指标,区分「连接成功,已在采集」与「连接成功,但还没采到数据」,后者附带原因与可自查的查询语句;列表「状态」列同步显示
连通·采集中/无数据。 - Kubernetes 采集组件模式。被监控集群内只装 Prometheus + kube-state-metrics 作为采集器,指标经
remote_write推回平台,由此支持「平台在集群外」与「一个平台监控多个集群」两类场景。采集全部发生在集群内部,被监控集群无需暴露 apiserver / kubelet / kube-state-metrics 任何端口,只需 能出站访问平台。面板顶部提供「集群」下拉切换。 - 网关新增 Bearer 鉴权的指标与日志写入入口(
ENV_PROMETHEUS_REMOTE_WRITE_TOKEN/ENV_LOKI_PUSH_TOKEN),多集群纳管与跨集群日志推送由此可用。
变更
- 数据源只有一个入口:UI「数据源」页(不兼容,详见页首提示)。慢查询诊断目标改由勾选了「诊断」用途的 MongoDB 提供;MongoDB 不再是「内置」数据源,可正常编辑删除,「内置」现在只剩 Prometheus。
- Kubernetes 监控要求平台部署在被监控集群内(
incluster),或在被监控集群装采集组件。此前需要 Bearer Token 加三个 NodePort 的集群外抓取方式(static)及「Kubernetes 集群」数据源类型已移除。 - 日志与链路改用两个独立 bucket;各组件数据目录统一为
/data/mdis/<组件>;集群清单给出示例桶名mdis-loki/mdis-tempo。 - 命名空间、节点标签与污点键统一为
hap-ops。 - K8s 面板的「Limits Ratio」是容器 limits 与节点可分配量之比,Kubernetes 本就允许超卖,不再按使用率阈值标红。
修复
- Kubernetes 部署后监控为空的几处根因:网关 Service 未暴露 ops-server 的 8081 且缺
ENV_OPS_SD_URL,采集端取不到服务发现数据;ops-agent的 Service 需为 headless,否 则动态端口一律被拒;单文件ops.yaml未创建命名空间、缺 ServiceAccount / ClusterRole 与 kube-state-metrics。清单与文档均已修正,kubectl apply -f ops.yaml一条命令装完即有数据。 - K8s 面板的「集群」「命名空间」下拉取不到值,连带容器、Pod 下拉与相关面板为空。集群标识改为在采集配置中直接注入,命名空间改用新版 kube-state-metrics 始终暴露的指标。
- MongoDB 数据源采不到指标的三种成因:界面填写的账号密码未传给采集进程;多节点副本集写法与采集进程的直连模式互斥;采集进程开启了需要额外库权限的采集项,权限不足时整个指标接口中断。均已修复,升级即恢复。
- 主机监控面板整页无数据(1.5.8 期间)。主机面板的一个隐藏筛选条件被 K8s 集群标识连带选中,而主机指标不带该标签。指标本身一直是好的,升级到 1.5.9 即恢复,无需改配置。
- 慢查询相关的三处误导:勾选「诊断」用途后需重启网关才生效(现在立即生效);目标库开启慢查询失败时界面却显示「已开启」(现如实提示权限不足并给出手工命令);任何异常都统一提示「未开启慢查询识别策略」(现按「未指定目标库 / 账号无权限 / 读不到状态 / 确实未开启」分别提示)。
- 采集状态显示不准:主机类恒显示「未采集」(主机由平台 Prometheus 直抓、不经 ops-agent,现改为查询实际抓取结果);采集进程仍在运行却提示「进程已退出」(现按端口未监听 / 响应中断 / 抓取超时 / 无数据四种区分,并给出该看的日志文件);Flink 在列表里看不出通不通(现已纳入连通性检测)。
- Kubernetes 下不再刷
docker.sock连接报错。ops-alloy 现按是否存在该 socket 决定是否采集 Docker 日志。若此前为消除该报错手工把宿主机docker.sock挂进 ops-alloy,请撤掉——那样采到的是宿主机容器日志,不是 Pod 日志。 - 采集组件的
remote_write示例地址补上/prometheus/server/前缀(原示例会 404,且只在容器日志里静默重试);两套 K8s 清单不再把指标推给平台自己。
本系列包含的补丁版本(1.5.0 – 1.5.9)
| 版本 | 主要内容 |
|---|---|
| 1.5.9 | 主机面板回归修复、数据源配置导出、连接测试核验采集实况 |
| 1.5.8 | K8s 集群标识改为采集期注入、慢查询目标热生效、Flink 连通状态 |
| 1.5.7 | 单文件 ops.yaml 补齐 K8s 采集所需对象、Bearer 写入入口 |
| 1.5.6 | 多节点副本集 MongoDB 采集 |
| 1.5.5 | MongoDB 采集凭据传递、Kubernetes 采集组件模式 |
| 1.5.4 | Kubernetes 下按需启用 Docker 日志采集、集群清单开放下载 |
| 1.5.3 | Kubernetes 监控收敛为 incluster |
| 1.5.2 | 数据目录统一为 /data/mdis/<组件> |
| 1.5.1 | 日志与链路拆分独立 bucket |
| 1.5.0 | 数据源单一入口、批量导入 |
v1.4 · 2026 年 7 月
自研告警 子系统替代 Grafana 告警,交付形态改为单镜像。
新增
- 内置告警子系统,替代原 Grafana 告警。七类监控(基础资源含自定义 PromQL、端口、SSL、MySQL、MongoDB、Kafka 堆积、Kafka 重平衡);预警 → 告警 → 恢复降噪状态机,只在状态变化时通知;飞书 / 钉钉 / 企业微信 / 邮件 / 自定义 Webhook 多渠道;全局告警历史可按类型、状态、时间筛选。
- 统一数据源管理。新增顶级「数据源」页,集中管理主机 / 中间件 / K8s / Flink(支持多实例),左侧菜单按已启用数据源动态显示;「测试连接」做真实鉴权;凭据 AES 加密;界面加数据源即自动拉起 exporter 并注册抓取,无需改环境变量重启。
- 采集状态与部署自检。数据源页直接显示「采集中 / 无数据 / 已停止 / 未采集」,红色状态可查看失败原因原文并一键复制排查命令;概览页汇总指标采集、主机监控、HAP 服务日志、链路追踪、告警通知、慢查询诊断六项状态。
- MongoDB 慢查询支持分片集群,多实例自动聚合分析。
架构变更
- 单镜像交付:所有组件合并为
ops-allinone,靠ROLE区分角色,只需拉取或离线导入一个镜像。ops.yaml结构随之调整,请按最新部署文档重新生成。 - 告警数据独立存储:新增
ops-mongo容器存放规则 / 状态 / 历史 / 渠道 / 数据源,与业务库解耦。 - 新增必配
ENV_ALERT_CRYPTO_KEY(凭据加密密钥)。 - 原 Grafana 告警 / 通知 / 静默界面已移除,需在新版「告警管理」重建规则。
修复
- 主机监控在升级后消失(1.4.8 期间,升级迁移漏了「主机」这一类),升级到 1.4.10 后自动恢复。
- 通过接口创建数据源时默认停用、Kafka / MongoDB / MySQL 用途为空,表现为数据源建好了却始终不采集;现默认启用并补齐默认用途。
- 同一个 MongoDB 被登记两次、内置数据源用途每次重启被重置。
- MySQL / MongoDB 监控未解密密码,导致连库失败并产生假告警。
- 对象存储兼容性:Loki 走 path-style、Tempo 用
bucket_lookup_type,适配腾讯云 COS 与阿里云 OSS。 ops-mongo连接失败改为后台退避重试,不再永久禁用告警子系统,启动顺序不需要人工干预。- 链路追踪的服务名去除命名空间后缀,不再只适配
default。
本系列包含的补丁版本(1.4.0 – 1.4.10)
| 版本 | 主要内容 |
|---|---|
| 1.4.10 | 主机监控升级丢失修复、API 数据源默认值、部署自检 |
| 1.4.8 | 数据源采集状态 |
| 1.4.6 | 链路追踪服务名兼容任意命名空间 |
| 1.4.5 | ops-mongo 后台重试、数据源创建后默认启用 |
| 1.4.4 | Prometheus 按大小保留数据 |
| 1.4.3 | 对象存储兼容性、istio 链路 appProtocol |
| 1.4.1 | MySQL / MongoDB 凭据解密 |
| 1.4.0 | 内置告警子系统、统一数据源、单镜像交付 |
v1.3 · 2026 年 6 月
- Kubernetes 集群监控,新增 K8s 仪表盘与菜单。
- 单 agent 支持中间件多实例监控。
- Loki 启用数据保留(默认 30 天)与删除 API。
v1.2 · 2026 年 4 – 5 月
- 新增日志查看、APM 分布式链路追踪,指标 / 日志 / 链路统一界面。
- 日志面板拆为容器控制台与服务日志,服务日志支持结构化字段自动展开与全文搜索(手机号 / ID / traceID),过滤器全面多选。
- 支持子路径部署(反代挂
/mdis等)。 - 部署资源要求修正为 4C / 8G。
v1.1 · 2025 年 2 月
- MongoDB 慢查询与索引建议,支持配置告警。
v1.0 · 2025 年 1 月
- 初始版本:系统资源监控。