温馨提示×

CentOS Dolphin性能监控方法

小樊
37
2025-12-11 19:40:38
栏目: 智能运维

CentOS 上 DolphinDB 性能监控方法

一 内置监控与 Web 界面

  • 启用与查看:在节点配置文件 dolphindb.cfg 中开启性能监控 perfMonitoring=true(单独启动节点默认关闭;若由控制器启动集群,默认开启)。通过 http://<节点IP>:<端口> 访问 Web 界面,可查看关键指标:memUsed、memAlloc、cpuUsage、connectionNum、diskFreeSpaceRatio、diskReadRate/WriteRate、networkSendRate/RecvRate,以及查询时延如 medLast10QueryTime、maxLast10QueryTime、medLast100QueryTime、maxLast100QueryTime、maxRunningQueryTime。这些指标覆盖节点资源、磁盘与网络吞吐、连接数与查询性能,适合快速巡检与定位异常。
  • 运维函数:在 GUI/脚本中调用内置函数获取更细粒度数据:
    • getPerf():返回本地节点性能度量(如 runningJobs、queuedJobs、jobLoad、avgLoad、cpuUsage、memoryUsed/Alloc、networkSend/RecvRate、diskRead/WriteRate、diskFreeSpaceRatio、lastMinuteNetworkSend/Recv、lastMinuteRead/WriteVolume、connectionNum 等)。
    • getClusterPerf():在控制器上返回全集群节点性能数据,便于统一观测。
    • getJobStat():查看正在执行队列中作业/任务数量,辅助判断负载与排队情况。
      提示:这些函数返回的数值单位以字节/字节每秒为主,便于做速率与容量对比分析。

二 Prometheus Grafana 体系

  • 架构与组件:
    • Node Exporter 采集主机层指标(CPU、内存、磁盘、网络)。
    • DolphinDB 内置指标 结合 Prometheus 抓取,再由 Grafana 可视化。
    • 使用 dolphindb-datasource 插件可在 Grafana 中通过 WebSocket 直连 DolphinDB,执行脚本展示节点状态、流表与订阅等实时信息。
  • 快速落地步骤:
    1. 部署 Node Exporter(默认端口 9100),确认 http://:9100/metrics 可访问。
    2. 配置 prometheus.yml 的 scrape_configs,添加各节点的 Node Exporter 与 DolphinDB 目标,例如:
      • job_name: “node”
        static_configs: [{ targets: [“10.0.0.11:9100”,“10.0.0.12:9100”] }]
      • job_name: “dolphindb_ctl1”
        static_configs: [{ targets: [“10.0.0.21:8848”] }]
      • job_name: “dolphindb_data1”
        static_configs: [{ targets: [“10.0.0.31:8848”] }]
    3. 启动 Prometheus,在 http://:9090PromQL 验证抓取。
    4. Grafana 添加 Prometheus 数据源,导入或构建面板:主机层用 Node Exporter 指标,数据库层用 DolphinDB 指标,或用 dolphindb-datasource 直连展示集群与流处理状态。
      该方案适合多节点/高可用集群的持续观测与告警联动。

三 系统层监控命令与要点

  • 常用命令与用途:
    • top/htop:实时查看 CPU、内存 占用,定位高消耗线程/进程。
    • vmstat 1:观察 CPU、内存、I/O、系统上下文切换 等整体负载。
    • iostat -x 1:查看 磁盘 I/O 利用率、队列、读写速率,定位存储瓶颈。
    • df -h:检查 磁盘空间可用空间占比
    • free -h:查看 内存与 Swap 使用情况。
    • ip a / ss -s / netstat:查看 网卡、连接数、端口与协议统计,辅助网络瓶颈排查。
      这些命令与 DolphinDB 的 CPU/内存/磁盘/网络 指标相互印证,有助于区分是数据库层还是系统层瓶颈。

四 告警阈值与巡检清单

  • 建议阈值与动作(需结合业务基线调优):
    • CPU 使用率 > 80% 持续 5 分钟:检查慢查询、并发与负载均衡;必要时扩容或限流。
    • 内存使用率 > 80% 或 page in/out 增长:关注 memoryAlloc/memoryUsed 与查询/作业堆积,优化内存配置与作业调度。
    • 磁盘使用率 > 80% 或 diskFreeSpaceRatio 低:清理日志/数据、扩容磁盘或调整数据保留策略。
    • 磁盘 I/O 利用率 > 80%:优化查询(减少全表扫描/大排序)、考虑更快存储或 I/O 调度优化。
    • 网络吞吐接近上限或丢包:核查 networkSend/RecvRate、连接数、带宽上限与网络质量。
    • 查询时延异常:关注 medLast10/100QueryTime、maxRunningQueryTime,结合 getJobStat() 与日志定位慢查询/排队。
    • 连接数突增:结合业务峰值与连接池配置,排查异常客户端或连接泄漏。
      巡检建议:每日巡检 Web 指标 + 关键 PromQL,每周复盘 慢查询/作业资源趋势,并建立基线容量规划

0