跳到主要内容

数据源管理

「数据源」是运维平台的配置中枢。所有被监控的主机、中间件和集群均在此登记。资源监控菜单与告警规则的可选类型,均由已启用的数据源动态决定。

数据源管理

支持的类型

类型多实例连接方式
Prometheus内置单例运维平台自带指标库,只读,不可停用或删除
主机主机地址(端口连通性等监控)
MySQL主机/端口/用户名/密码
MongoDB连接 URI,支持副本集
Redis主机/端口/密码/DB
KafkaBroker 地址,支持 SASL
Elasticsearch地址 + HTTP Basic 认证
Flink单例入口Flink Web UI 地址(启用后左侧出现「Flink」入口,由运维平台反向代理访问)

采集状态

列表中每条数据源均包含「采集状态」,用于判断数据源是否正在采集。多数采集异常可先通过该状态定位:

状态含义常见处理
采集中正常,指标正在写入
无数据采集进程运行中,但未获取到指标多为账号/密码/权限问题。悬停查看原因原文
已停止采集进程未运行悬停查看退出原因(地址不通、端口错、认证失败等),进程会自动重试
未采集未为该数据源启动采集检查用途是否勾了「看图」、是否处于启用状态
未知状态暂时取不到确认 ops-agent(中间件)或 ops-prometheus(主机)容器已启动

红色状态悬停后显示失败原因原文(例如 401 unable to authenticate userconnection refused),并附上可直接复制的排查命令。面板无数据时,优先查看采集状态。

主机类型的状态来自另一条链路

主机(node_exporter)部署在被监控主机上,由运维平台 Prometheus 直接抓取,不经过 ops-agent, 因此它的采集状态是查 Prometheus 的抓取结果得来的,与其余类型链路不同:

  • 刚登记完的主机会短暂显示「未采集」,约 30 秒后抓取目标下发生效即转为「采集中」;
  • 地址填了但对端不是 node_exporter、或端口不通时显示「无数据」;
  • 运维平台 Prometheus 本身查不通时显示「未知」——表示状态暂不可判断,不代表采集失败。

悬停显示的排查命令用于探测主机地址(curl http://主机:端口/metrics),不是进入 agent 容器排查。

配置从哪里生效

采集配置以本页为唯一来源:新增、改密码、启停均在本页完成,修改后即时生效,不需要重启容器。

1.5.0 起 ops.yaml 不再参与数据源配置——它只描述运维平台自身依赖,不描述监控目标。

需要一次接入多个实例时,使用右上角的「批量导入」:先下载 YAML 模板,修改为当前环境的连接地址后上传, 建议先点「仅校验」(只做格式校验和逐条连接探测,不写入)。按「类型 + 名称」幂等, 同一份文件可反复导入;更新已有条目时密码留空 = 沿用原密码。

导出配置(备份/换环境)

右上角「导出配置」可将当前所有数据源导出为 YAML,格式与批量导入一致。导出的文件 可直接通过「批量导入」恢复,用于备份、重装恢复或跨环境迁移。

两档可选:

选项密码什么时候用
导出配置(不含密码)留空日常备份、导回同一套运维平台。留空不是清空密码——导入时按「类型 + 名称」自动沿用运维平台里已存的密码
导出配置(含明文密码)明文迁移到其它运维平台或原运维平台数据库不可用时。文件里是明文,请妥善保管,禁止提交到代码仓库

不含密码那档同样会去掉 MongoDB URI 里内嵌的账号密码(mongodb://user:pass@hostmongodb://host), 换环境恢复时需补齐。文件头部的注释里也写了这些说明。

用途

每个数据源可勾选一个或多个用途,用于决定其参与的功能范围:

用途效果
看图在「资源监控」对应菜单展示该实例仪表盘
告警可在「告警规则」中针对该实例建规则
慢查询诊断仅 MongoDB:开启慢查询分析与索引诊断。⚠️ 运维平台会为目标库开启 profiling(检测到未开启时执行 db.runCommand({profile:1, slowms:100}),阈值由 ENV_GATEWAY_PROFILE_SLOW_MS 控制),这是运维平台对被监控库唯一的写入;索引不会自动建,需你在诊断页主动点「一键创建」。诊断历史只写入运维平台自有的 ops-mongo

被监控目标的账号权限

登记前,为各被监控目标准备具备相应权限的账号。运维平台默认以只读观测为主:

目标所需权限
MySQLSELECTSHOW DATABASESPROCESSREPLICATION CLIENT
MongoDB建议 root;最小权限见下方授权示例
Redis读取数据权限
Kafka若启用认证,需读取集群元数据权限
Elasticsearch读写索引权限
FlinkWeb 地址允许运维平台内网访问

MongoDB 最小权限(readWrite/dbAdmin 用于慢查询诊断的索引创建):

use admin
db.createUser({
user: "opsuser", pwd: "your_secure_password",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
{ role: "clusterManager", db: "admin" },
{ role: "dbAdmin", db: "mdwsrows" }, { role: "readWrite", db: "mdwsrows" },
{ role: "dbAdmin", db: "mdservicedata" }, { role: "readWrite", db: "mdservicedata" },
{ role: "dbAdmin", db: "mdworksheet" }, { role: "readWrite", db: "mdworksheet" },
{ role: "dbAdmin", db: "mdworkflow" }, { role: "readWrite", db: "mdworkflow" }
]
})

Elasticsearch 的账号填写方式

常见故障是连接可用但未采集到指标,通常由用户名填写错误导致。 点「测试连接」时运维平台会一并核验采集情况,这种情况会直接提示「连接成功,但还没采到数据」。

填写内容
URLhttp://ES地址:9200,要带协议头
用户名md —— 私有部署内置 ES 用户名是 md不是 elastic
密码HAP/HDP 部署时设置的 ES 密码

判断是否已采集到数据,可查看本页「采集状态」列是否为采集中,或直接点「测试连接」。 显示「无数据」时悬停即可看到原因,凭据错误会直接提示账号或密码不对。

操作

  • 新建:右上角「新建数据源」→ 选类型 → 填连接信息。
  • 测试连接:用真实凭据完成鉴权验证(MongoDB ping、MySQL 登录、Kafka 拉元数据、Redis AUTH、ES 认证请求),不仅检查端口连通性。同时会核验采集情况——连通性通过不代表面板已有数据,还需确认采集目标下发、采集进程和指标抓取状态。结果会明确显示「连接成功,已在采集」或「连接成功,但还没采到数据」并给出原因。
  • 检测连通性:右上角按钮,对列表中所有数据源批量执行上述检查,「状态」列显示连通·采集中/无数据/降级/不通
  • 启用/停用:列表开关切换。停用后对应的资源监控菜单、告警类型自动隐藏,已有告警规则停止调度。
  • 编辑:已存密码以掩码显示,留空即不修改
凭据安全

密码与连接 URI 落库前用 ENV_ALERT_CRYPTO_KEY 做 AES 加密,接口统一返回掩码。首次部署务必设好该密钥并妥善保管——更换密钥会导致已存凭据无法解密,需要重新录入

登记完成后

数据源登记完成且采集状态正常后: