跳到主要内容

版本说明

当前版本 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_ENDPOINTSENV_ELASTICSEARCH_*ENV_MONGODB_URIENV_PROMETHEUS_HOSTENV_FLINK_URL不再被读取(启动日志会列出)。已有数据源不受影响,把这些行删掉即可。
  • 日志与链路需两个不同的 bucketENV_S3_BUCKET_LOKI / ENV_S3_BUCKET_TEMPO),且须在部署前建好;ENV_S3_ENDPOINThost: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.8K8s 集群标识改为采集期注入、慢查询目标热生效、Flink 连通状态
1.5.7单文件 ops.yaml 补齐 K8s 采集所需对象、Bearer 写入入口
1.5.6多节点副本集 MongoDB 采集
1.5.5MongoDB 采集凭据传递、Kubernetes 采集组件模式
1.5.4Kubernetes 下按需启用 Docker 日志采集、集群清单开放下载
1.5.3Kubernetes 监控收敛为 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.5ops-mongo 后台重试、数据源创建后默认启用
1.4.4Prometheus 按大小保留数据
1.4.3对象存储兼容性、istio 链路 appProtocol
1.4.1MySQL / 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 月

  • 初始版本:系统资源监控。