跳到主要内容

系统监控

概述

PlantPulse 的监控由 3 个层级 组成。结合使用各层级的工具,可以及早发现问题并快速响应。

层级职责频率
L1 主机/栈容器状态·健康、资源使用、健康检查响应每分~5分钟 (自动/手动)
L2 平台内置模块级业务指标 (吞吐量、lag、队列深度、JVM)实时
L3 外部监控长期趋势、告警、多主机集成视图实时

平台服务模块

PlantPulse 由多个以 plantpulse- 开头的服务模块组成。模块与容器不是 1:1 对应 — 应用层六个各有专属容器,其余基础设施模块共存于 plantpulse-datalake 容器中。

位置模块
各自容器plantpulse-server-web · plantpulse-batch-web · plantpulse-warehouse · plantpulse-plugin-opcua-server · plantpulse-plugin-aasx-server · plantpulse-ha
plantpulse-datalake 容器内storage · messaging · analytics · timeseries · workflow · cep · data-gateway · sql · monitor · backup

容器级状态从主机检查 bin/status.sh,基础设施模块级状态从容器内 status.sh 检查。下表中的«端口»是该模块 在容器内 开放的端口,只有部分暴露到主机 → 端口配置信息

核心服务模块

模块端口说明
plantpulse-server80 / 443 / 7443Web 服务器及管理控制台、REST API
plantpulse-cep7400 / 7401复杂事件处理引擎 (Esper)
plantpulse-batch9500批处理服务器
plantpulse-data-gateway5500数据网关 (基于 HTTP REST 的数据查询)
plantpulse-sql4000SQL 查询工具
plantpulse-monitor4950 (HTTPS)系统监控代理。发布到主机的唯一健康检查端口
plantpulse-warehouse9600数据仓库
plantpulse-plugin-opcua-server11004 / 11005OPC-UA 服务器插件
plantpulse-plugin-aasx-server(主机不公开)AASX 服务器插件
plantpulse-ha10210冗余恢复守护进程
plantpulse-proxy80 / 443 / 1883 / 1884用户·设备的唯一入口

消息传递模块 (plantpulse-messaging)

服务端口说明
Kafka9092分布式消息流
MQTT1883IoT 轻量级消息协议
MQTT Enterprise-MQTT 企业版

存储模块 (plantpulse-storage)

服务端口说明
Cassandra 6.09042时序数据库 (CQL)
PostgreSQL5432元数据关系型数据库
Valkey (Redis)6379内存缓存
MinIO9000对象存储 (S3 兼容)
JanusGraph-图数据库
RustFS / WeedFS-分布式文件系统

分析模块 (plantpulse-analytics)

服务端口说明
Spark Master7077分布式分析引擎
Spark UI4440Spark 管理控制台
Kyuubi10000分布式 SQL 网关 (JDBC/Thrift)
Gravitino19001数据目录
Hadoop-分布式文件系统
Hive-数据仓库查询引擎

时序模块 (plantpulse-timeseries)

服务端口说明
时序引擎7800时序数据处理引擎
时序 UI3000时序数据可视化 UI

工作流模块 (plantpulse-workflow)

服务端口说明
Temporal7233分布式工作流引擎 (Web UI 8233)
Kestra8380工作流编排 / 调度器

实用工具模块

模块说明
plantpulse-datalake-cli (pd)数据湖启动/停止/重启·配置·节点管理 CLI
plantpulse-setup初始化设置工具 (模型、CSV 配置)
plantpulse-backup备份服务
plantpulse-recovery数据恢复工具
plantpulse-exporter资产数据导出工具
plantpulse-migrator数据迁移工具 (基于 Spark)
plantpulse-mirror-maker数据复制工具
plantpulse-simulator数据模拟器 (用于测试)
plantpulse-apiREST API 客户端库

服务状态检查

在主机上 先查看整个栈的状态。

cd /opt/kopens/plantpulse-platform-docker/bin
./status.sh # 0 = 정상 / 2 = 비정상
./ops-check.sh # 헬스 + 최근 critical log

基础设施模块的端口级状态从 数据湖容器内 查看。

./shell.sh
/opt/kopens/plantpulse-platform/plantpulse-datalake-cli/bin/pd status

输出示例:

==============================================================================================================
PLANTPULSE PLATFORM - ALL SERVICE STATUS
2026-03-01 12:00:00
==============================================================================================================

<SYSTEM RESOURCE OVERVIEW>
--------------------------------------------------------------------------------------------------------------
포트 서비스 상태
--------------------------------------------------------------------------------------------------------------
9092 PP_MESSAGING[KAFKA] ● RUNNING
1883 PP_MESSAGING[MQTT] ● RUNNING
9042 PP_STORAGE[CASSANDRA] ● RUNNING
5432 PP_STORAGE[POSTGRESQL] ● RUNNING
6379 PP_STORAGE[REDIS] ● RUNNING
9000 PP_STORAGE[MINIO] ● RUNNING
7077 PP_ANALYTICS[SPARK-MASTER] ● RUNNING
4440 PP_ANALYTICS[SPARK-UI] ● RUNNING
10000 PP_ANALYTICS[KYUUBI] ● RUNNING
19001 PP_ANALYTICS[GRAVITINO] ● RUNNING
7233 PP_WORKFLOW[ENGINE] ● RUNNING
8380 PP_WORKFLOW[BATCH] ● RUNNING
7800 PP_TIMESERIES[ENGINE] ● RUNNING
3000 PP_TIMESERIES[UI] ● RUNNING
7400 PP_CEP ● RUNNING
5500 PP_DATA_GATEWAY ● RUNNING
4000 PP_SQL ● RUNNING
4950 PP_MONITOR ● RUNNING
60000 PP_AGENT ● RUNNING
80 PP_SERVER ● RUNNING
9500 PP_BATCH ● RUNNING
9600 PP_WAREHOUSE ● RUNNING
11004 PP_PLUGIN[OPCUA] ● RUNNING
上列中不包含应用容器

数据湖内的 status.sh 只查看该容器内的模块。PP_SERVER · PP_BATCH · PP_WAREHOUSE · PP_PLUGIN 项显示为 STOPPED 或完全缺失并不是故障 — 这些应用在各自的容器中运行,判定由主机的 bin/status.sh 负责。

环境变量

主机侧的值由 /opt/kopens/plantpulse-platform-docker/bin/env.sh 定,容器实际看到的值由 compose/docker-compose.yml 确定。详细的对应关系和优先级见 环境变量参考。下面是在容器内通用的名称。

变量说明示例
PP_SCHEME模式名PP
PP_MODE执行模式MASTER
PP_HOST_IP内部 IP192.168.0.41
PP_SERVICE_IP服务 IP192.168.0.41
PP_MASTER_IP主节点 IP192.168.0.41
PP_DATA_DIR数据目录/data1/pp-data
PP_TEMP_DIR临时目录/data1/pp-temp
PP_BACKUP_DIR备份目录/data1/pp-backup
PP_CLUSTER_CORES集群 CPU 核心数16
PP_CLUSTER_MEMORY_BY_CORE每核内存2G
PP_OPTIONS附加选项 (JSON){"use-infra":true,"use-app":true}

监控对象

PlantPulse 平台中需要监控的主要对象和项目如下。定期检查各项指标有助于稳定运营。

对象监控项
应用服务器CPU、内存、磁盘、线程
JVM堆内存、GC、类加载
PostgreSQL连接池、查询性能、磁盘
Cassandra集群状态、延迟、压实
Redis内存、命中率、连接数
引擎管道吞吐量、队列深度、错误率
网络OPC 连接、WebSocket、延迟

Web 控制台监控

系统监控界面

路径:/monitoring/index

以仪表板形式展示实时系统状态。如果各指标超出下表的"正常范围",可能导致性能下降,请注意检查。

指标说明正常范围
CPU 使用率服务器 CPU 负载< 70%
JVM 堆内存堆使用量/最大值< 80%
活跃线程运行中的线程数< 500
MPS (Messages/sec)每秒消息处理数低于配置的 rate limit
管道队列等待中的消息数< 10,000
DB 连接活跃 DB 连接数< 池最大值

服务器状态

路径:/server/status

说明
服务器运行时间Uptime
引擎状态RUNNING / STOPPED / ERROR
最后启动时间引擎最后启动的日期时间
版本信息平台版本

日志监控

日志是记录系统运作状态的文本文件。发生问题时查看日志可以很好地帮助定位原因。

在主机上 — logs.sh

由于有八个容器,当 不清楚问题出在哪个容器时,无参启动是最快的

cd /opt/kopens/plantpulse-platform-docker/bin

./logs.sh # 여덟 컨테이너를 시간순으로 한 화면에 (서비스 이름 접두)
./logs.sh plantpulse-server-web -n 200 # 웹 서버 컨테이너
./logs.sh cassandra # 데이터레이크 안 컴포넌트 로그 파일
./logs.sh --list # 볼 수 있는 대상 전체 (그 시점의 실제 목록)
./logs.sh -f plantpulse-server-web # 계속 따라가기 (Ctrl-C 로 종료)

默认 打印最后 N 行(默认 200 行)然后退出。要跟踪日志,请加 -f

容器内的日志文件

# 웹 서버 — 자기 컨테이너 안에 있습니다
./shell.sh plantpulse-server-web
tail -f /opt/kopens/plantpulse-platform/plantpulse-server/logs/system.log
grep -i "ERROR\|EXCEPTION" /opt/kopens/plantpulse-platform/plantpulse-server/logs/system.log | tail -100

# 인프라 — 데이터레이크 컨테이너 안
./shell.sh
tail -f /opt/kopens/plantpulse-platform/plantpulse-storage/db/cassandra/logs/system.log

要一次性复制日志到主机,使用 ./tools/copy-log-to-local.sh;生成支持请求包,使用 ./doctor.sh

日志级别

级别说明
INFO正常运作信息
WARN警告消息 (性能下降、重试等情况)
ERROR发生错误 (处理失败、连接错误等)

主要日志模式

出现下列日志模式时,请采取相应措施:

模式含义
Engine started successfully引擎正常启动
Pipeline queue overflow管道队列已满 — 请检查处理速度
Cassandra connection failedCassandra 连接失败 — 请检查集群状态
OPC connection lostOPC 服务器连接断开 — 请检查网络及 OPC 服务器
Rate limit exceeded处理速率已超限 — 请调整 engine.pipeline.ratelimit

数据库监控

定期监控数据库状态可以提前预防性能下降或故障。

PostgreSQL

# 활성 연결 확인
psql -h HOST -U plantpulse -d pp -c "
SELECT count(*) as active_connections
FROM pg_stat_activity
WHERE state = 'active';"

# 느린 쿼리 확인
psql -h HOST -U plantpulse -d pp -c "
SELECT pid, now() - pg_stat_activity.query_start AS duration, query
FROM pg_stat_activity
WHERE state != 'idle' AND now() - pg_stat_activity.query_start > interval '5 seconds'
ORDER BY duration DESC;"

# 테이블 크기 확인
psql -h HOST -U plantpulse -d pp -c "
SELECT relname, pg_size_pretty(pg_total_relation_size(relid))
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC
LIMIT 10;"

Cassandra

# 클러스터 상태
nodetool status

# 테이블별 통계
nodetool tablestats pp

# 컴팩션 상태
nodetool compactionstats

# GC 로그 확인
nodetool gcstats

# 지연 히스토그램
nodetool tablehistograms pp tm_tag_point

Cassandra 状态代码:

状态说明
UNUp / Normal — 正常状态
DNDown / Normal — 节点已宕机
UJUp / Joining — 正在加入集群
ULUp / Leaving — 正在离开集群

Redis

# Redis 상태 확인
redis-cli -a 설치-시-변경 INFO

# 메모리 사용량
redis-cli -a 설치-시-변경 INFO memory

# 키 수 확인
redis-cli -a 설치-시-변경 DBSIZE

# 슬로우 로그
redis-cli -a 설치-시-변경 SLOWLOG GET 10

JMX 监控

说明: JMX (Java Management Extensions) 是一种允许从外部监控 Java 应用程序内部状态的技术。PlantPulse 通过 JMX 提供超过 150 个属性。

JMX 连接

# JMX 포트 활성화 (setenv.sh에 추가)
export JAVA_OPTS="$JAVA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"

JMX MBean

  • ObjectName: plantpulse:name=MBean
  • 类别: engine、cache、storage、network、pipeline、cep、scheduler、monitoring 等 12 个

主要 JMX 属性

属性说明
engine.status引擎状态
engine.uptime运行时间
pipeline.queue.size管道队列大小
pipeline.mps每秒消息处理数
cache.tag.count缓存标签数
storage.cassandra.statusCassandra 连接状态

Codahale Metrics

说明: Codahale Metrics 是一个用于采集应用性能指标的库。PlantPulse 采集超过 70 个指标,可在 /admin/tool/metrics 路径查询。

指标类型

类型说明
Counter累计计数器 (事件数、错误数等)
Timer测量处理时间 (平均值、p95、p99)
Histogram显示值的分布 (队列深度、批大小)
Gauge显示当前时刻的值 (活跃连接、内存)

标准健康检查 API

Web 应用 / 插件服务遵循平台统一规范,提供健康检查端点 GET /api/health。 对于主要 Web 应用 (server / batch / cep / sql / data-gateway),该端点具有 就绪性 的含义 — 不仅进程(上下文)活跃就报告 UP,而是 当内部引擎 / 关键依赖正常、已准备好接收流量时才返回 UP (2026-06 平台设计决议)。

curl -fsS http://127.0.0.1:9500/api/health
# 준비 완료: 200 {"status":"UP","service":"plantpulse-batch-web","ts":1765500000000,"checks":{"timer":true,"redis":true}}
# 기동 진행 중: 503 {"status":"STARTING",...}
# 기동 후 의존성 다운: 503 {"status":"DEGRADED",...,"checks":{...}}
  • 就绪性 — 仅在准备完毕时返回 200 UP。启动进行中则为 503 STARTING,启动完成后若部分依赖故障则为 503 DEGRADED 的细分报告。
  • 无依赖 ping — checks 只读取各服务已维护的 内存状态标志 (禁止实时 DB 查询 / 网络 ping — 轮询不给数据存储增加负担)。
  • 匿名访问 — 无需认证即可调用 (运维检查 / 部署自动验证)。
  • 禁止缓存 — 总是包含 Cache-Control: no-cache 系列响应头。
  • 响应字段为 status / service(工件名) / ts(epoch ms) + 晋升服务的 checks(服务逐项检查详情)。
服务健康检查 URL含义checks / 备注
serverhttp://HOST:80/api/health就绪性engine — 引擎生命周期状态 (全阶段启动完成时 RUNNING 才为 UP)
batchhttp://HOST:9500/api/health就绪性timer(批管道运行) / redis(InMemory 连接)
cephttp://HOST:7400/api/health就绪性engine(CEP 引擎+消费者+恢复完成) / redis(InMemory 连接)
sqlhttps://HOST:4001/api/health就绪性database_manager(DB 管理器初始化完成) — 通过 HTTPS 提供
data-gatewayhttp://HOST:5500/api/health就绪性database / inmemory / query_log — 此路径唯一豁免 HTTPS 强制(CONFIDENTIAL),允许本地 HTTP 探测
warehouse (s3 服务)http://HOST:9600/api/health就绪性temporal — Temporal Worker 注册完成与否。未注册时返回 STARTING + 503 (Web 服务器先启动,Worker 随后,故启动直后的 503 属正常)。公共 3 个字段 + 系统/JVM 指标包含
插件 — AAS V3http://HOST:8090/api/health活性未晋升就绪性
插件 — OPC-UA Browse UIhttp://HOST:12780/api/health活性端口由 opc.ua.browser.ui.port 配置 (默认 12780)

用途有两种。

  1. 运维检查 — 手动确认、crontab / 外部监控的就绪性探测
  2. CI 部署自动验证deploy:dev 任务在部署后轮询此 URL (DEPLOY_HEALTH,240 秒) 以确认启动 (见配置及部署指南)。就绪性语义,故启动中的 503 属正常,轮询等待 UP 转换。

角色区分: plantpulse-monitor(:4950) 是收集·暴露主机 / JVM / 模块指标的 基础设施监控代理/api/health 是各 Web 应用自身提供的 就绪性端点。两者非替代关系,而是互补关系。

在容器环境中,每个应用的就绪性已由 compose 的 healthcheck 判定,故运维人员用 bin/status.sh 一条命令即可得到八个容器的统一判定。

健康检查脚本

使用健康检查脚本可以自动检验平台主要服务是否正常运作。

自动健康检查

以下是自动检查主要服务状态的脚本示例:

#!/bin/bash
# healthcheck.sh

# 표준 헬스체크 (GET /api/health)
BODY=$(curl -fsS -m 5 http://localhost/api/health 2>/dev/null)
case "$BODY" in
*'"status":"UP"'*) : ;; # 정상
*) echo "[ALERT] PlantPulse server is not responding: ${BODY:-no response}"
# 알림 발송 로직 추가
;;
esac

# PostgreSQL 체크
pg_isready -h HOST -p 5432 -U plantpulse
if [ $? -ne 0 ]; then
echo "[ALERT] PostgreSQL is not responding"
fi

# Cassandra 체크
nodetool status | grep -q "^UN"
if [ $? -ne 0 ]; then
echo "[ALERT] Cassandra node is down"
fi

# Redis 체크
redis-cli -a 설치-시-변경 ping | grep -q "PONG"
if [ $? -ne 0 ]; then
echo "[ALERT] Redis is not responding"
fi

可以注册到 crontab 定期执行:

# 5분마다 헬스체크
*/5 * * * * /opt/scripts/healthcheck.sh >> /var/log/plantpulse-healthcheck.log 2>&1

Grafana 监控仪表板

平台监控通过 Grafana 以可视化方式提供。访问 URL: http://localhost:3000/

说明: Grafana 是开源数据可视化工具,用图表和图形展示 PlantPulse 的各类指标。PLANTPULSE 文件夹下默认提供 5 个仪表板。


1. PlantPulse - 服务器

平台服务器全面状态一览的核心仪表板。

SUMMARY (概览)

面板类型说明
VERSIONStat平台版本信息
服务器启动日期Stat引擎初次启动日期时间
CPU 负载Gauge服务器 CPU 使用率
内存使用率Gauge服务器内存使用率
每秒接收数Stat每秒消息接收量 (MPS)
全部存储数Stat累计存储数据条数
网络延迟Stat消息接收网络延迟 (ms)
诊断Stat诊断事件状态

SERVER-METRICS (服务器指标)

面板类型说明
CACHE / MQTT / KAFKA / WEBSOCKET / DATABASE / TSEStat各服务连接状态
服务器 CPU 使用率GraphCPU 使用率时序趋势
服务器内存使用量Graph内存使用量时序趋势
JAVA 堆使用量GraphJVM 堆内存使用量
数据 DISK 读写现况Graph磁盘读/写流量
协议别消息接收数GraphOPC、MQTT、Kafka 等协议别接收量
消息接收网络延迟Graph网络延迟时序
全部消息接收量Graph累计消息接收量
消息接收数 BY 1SECGraph每秒消息接收趋势
管道等待队列Graph管道队列深度
管道卸载队列大小GraphRocksDB 卸载队列
管道验证失败数Graph有效性验证失败条数
管道工作者处理时间GraphWorker 处理耗时
超时消息备份处理Graph超时消息备份条数
管道收集器Graph收集器运作情况
存储保存缓冲Graph保存缓冲大小
流处理数GraphWebSocket 流处理量
流运作线程数Graph流活跃线程
流等待队列数Graph流队列等待条数
存储保存数GraphDB 保存条数
存储批处理数Graph批量保存条数
存储工作者数Graph保存 Worker 数
DDS 处理数GraphKafka DDS 分发条数
异步线程活跃计数Graph异步执行活跃线程
异步线程池大小Graph线程池大小
诊断错误数Graph诊断错误发生趋势
日志异常Graph异常日志发生趋势
GC 时间GraphJVM GC 耗时
DISK 使用量Graph磁盘使用量趋势

2. PlantPulse - 数据湖仓库

数据库及存储层的性能和状态监控仪表板。

DATA-GATEWAY (数据网关)

面板说明
TOTAL_QUERY全部查询条数
QPS每秒查询处理量 (Gauge)
QUERY_LATENCY查询延迟时序
QUERY_LATENCY_MAX最大查询延迟
SUCCESS / ERROR成功及失败条数

CACHE (REDIS)

面板说明
CLIENTSRedis 客户端连接数
ALLOCATOR内存分配器状态
KEY_COUNT存储键数
FRAGMENTATION内存碎片率

CEP (ESPER)

面板说明
JAVA_HEAP_USEDCEP 引擎堆内存
EVENT_INGESTION_RATE事件摄取速率
EQL_CPU_TIMEEPL 查询 CPU 时间
EQL_MAP_COUNTEPL 映射计数
EVENT_INGEST_DIFF事件摄取差异
EVENT_DELAY_HISTOGRAM事件延迟分布
CEP_STATEMENT_MATCH_RATE语句匹配速率
EQL_STATEMENT_OUTPUT_RATE语句输出速率

META-STORE (POSTGRES)

面板说明
TOTAL_CONNECTIONS总连接数
QUERY_LATENCY查询延迟
TOTAL_READS_HITS读取命中条数
TOTAL_DB_SIZE全部 DB 大小

EVENT-STORE (CASSANDRA)

面板说明
NATIVE_CLIENT原生客户端连接
LATENCY读/写延迟
READ_PER_SECONDS / WRITE_PER_SECONDS每秒读/写
HEAP / DIRECT_MAPPED_MEMORYJVM 内存
CACHE / CACHE_HIT_RATE缓存及命中率
TOTAL_DATA_SIZE全部数据大小
MEMTABLEMemtable 状态
COMPACTION / COMPACTION_BYTES压实现况
TABLE_COMPACTIONS / TABLE_SSTABLE_COUNT表级压实及 SSTable
BLOOM_FILTER_FALSE_RATIO布隆过滤器误报率
TABLE_READ_LATENCY / TABLE_RANGE_LATENCY / TABLE_WRITE_LATENCY表级延迟
PENDINGS / FLUSH / THREAD_POOL待处理、刷新、线程池
STATEMENT / COMMITLOG / EXCEPTION / MUTATION内部指标
COMPRESSION / TOTAL_SSTABLE压缩及 SSTable 现况

TIMESERIES-STORE (TSE)

面板说明
TSE_MEMORY时序引擎内存
TSE_HTTP_TIMEHTTP 响应时间
TSE_DATASTORE数据存储状态
TSE_QUEUE_PROCESS_COUNT队列处理条数

ANALYTICS-STORE (SPARK)

面板说明
MEMORY_USEDSpark 内存使用量
CONNECTION连接数
OPERATION操作数
REQUEST_RATE请求速率

3. PlantPulse - 边缘网关

边缘设备状态、PLC 连接、数据接收现况的监控仪表板。

概览面板

面板说明
全部边缘网关注册的边缘网关数
电源 (正常/异常)电源状态正常及异常条数
PLCPLC 连接数
全部数据容量采集的全部数据大小
每秒接收合计数全部边缘每秒接收合计 (Gauge)
数据接收最大延迟最大接收延迟 (ms) (Gauge)
日志日志状态

PLC STATUS (PLC 状态)

面板说明
PLC Ping 失败数PLC 连接 Ping 失败趋势
PLC 已连接 / 已断开PLC 连接状态趋势
PLC 值读取成功数数据读取成功趋势
PLC 数据读取失败数数据读取失败趋势
系统错误数趋势系统错误趋势

DATA POINT (数据点)

面板说明
每秒全部发送数 SUM(MPS)全部边缘每秒发送合计
数据点发送条数据点发送条数趋势
发送数据点字节发送数据字节
接收最低/平均/最高延迟接收延迟分布

EDGE H/W (边缘硬件)

面板说明
CPU边缘设备 CPU 使用率
内存内存使用量
磁盘 (SSD)磁盘使用量
网络上传/下载网络流量
温度设备温度

4. PlantPulse - 统计

日数据增长量、系统资源峰值等长期统计追踪的仪表板。用于把握系统的长期增长趋势。

面板说明
全部数据容量全部存储数据大小
日数据全部容量日数据容量趋势
日消息发送量日消息发送条数
日数据增长量日数据增长趋势
消息接收条数消息接收条数趋势
网络延迟平均/最大值网络延迟统计
SSTABLE 增长量Cassandra SSTable 增长趋势
最大 DB 客户端连接DB 连接最大值
异步线程最大执行数异步处理峰值
JAVA 最大 GC 时间GC 最大耗时
CQL 准备最大数CQL 预编译语句最大值
最大分区大小Cassandra 分区最大大小
JAVA 堆最小可用大小JVM 堆可用最小值
异步线程最大等待数异步队列最大等待
最大内存缓冲大小内存缓冲最大值
备份消息处理条数备份处理条数

5. PlantPulse - 消息传递

MQTT、Kafka、WebSocket 消息代理的状态监控仪表板。

SUMMARY (概览)

面板说明
MQTT / KAFKA / WEBSOCKET各代理连接状态
CPU服务器 CPU 使用率
JAVA_HEAPJVM 堆使用量
NETWORK_READ_BYTES网络接收字节

MQTT

面板说明
CPU_USEDMQTT 代理 CPU (Gauge)
MEMORY_USED内存使用量
CONNECTIONS客户端连接数
NETWORK IN/OUT网络入出
GC_COUNT / GC_TIME_MSGC 次数及耗时
THREAD_COUNT线程数
INCOMMING / OUTGOING接收及发送消息数
RETAINED_COUNT保留消息数
SUBSCRIPTIONS订阅数
TOTAL_MESSAGE全部消息数

KAFKA

面板说明
CPU_USEDKafka 代理 CPU (Gauge)
MEMORY_USED内存使用量
GLOBAL_TOPIC全局主题现况
NETWORK IN/OUT网络入出
TOPIC_BYTE_IN/OUT_PER_SEC主题别每秒字节
MESSAGE_PER_SEC_MEAN_RATE / 1M_RATE每秒消息处理量
NETWORK_REQUEST_FETCHFetch 请求条数
OFFLINE_PARTITION_COUNT离线分区数
ACTIVE_CONTROLLER_COUNT活跃控制器数

WEBSOCKET

面板说明
CPU_USEDWebSocket 服务器 CPU (Gauge)
MEMORY_USED内存使用量
CONNECTION_COUNTWebSocket 连接数
ENQUEUE / DEQUEUE队列入出条数

监控工具集成

ELK Stack

可通过 Filebeat → Logstash → Elasticsearch → Kibana 管道采集容器日志,构建日志检索及分析环境。在大规模运维环境中,如希望高效管理日志,可考虑部署。容器标准输出通过 docker 日志驱动采集,容器内文件日志通过主机挂载 (PLANTPULSE_LOG_DIR) 采集。