跳转到内容
OpenClaw 不踩坑恶意 Skills ,企业需 Skills Registry:Nacos 3.2 发布点此了解

监控手册

Nacos 监控主要关注两类信息:

  • Nacos Server 自身指标,例如 JVM、HTTP、gRPC、配置管理和服务发现指标。
  • 健康检查入口,例如 liveness 和 readiness。

暴露 Nacos Server 指标

Nacos 通过 Spring Boot Actuator 暴露 Prometheus 指标。默认配置文件中该能力是注释状态。需要在每个 Nacos Server 节点上开启:

management.endpoints.web.exposure.include=prometheus

如果你已经暴露了其他 Actuator endpoint,请把 prometheus 加入列表。

重启节点后,访问:

http://{nacos-server-host}:8848/nacos/actuator/prometheus

其中 /nacos 来自默认的 nacos.server.contextPath。如果你修改了服务端上下文路径,请同步调整访问地址。

Prometheus 抓取示例

Prometheus 可以直接抓取每个 Nacos Server 节点:

scrape_configs:
- job_name: nacos
metrics_path: /nacos/actuator/prometheus
static_configs:
- targets:
- 10.0.0.1:8848
- 10.0.0.2:8848
- 10.0.0.3:8848

如果 Nacos Server 使用了不同端口或上下文路径,请修改 targetsmetrics_path

Grafana 可以使用 Prometheus 作为数据源。社区维护的 Dashboard 模板可参考 nacos-template

健康检查

Nacos 3.x 提供 v3 健康检查接口。它们适合给负载均衡、Kubernetes 探针或巡检系统使用。

对象接口
Nacos Server 状态/nacos/v3/admin/core/state
Nacos Server liveness/nacos/v3/admin/core/state/liveness
Nacos Server readiness/nacos/v3/admin/core/state/readiness
独立控制台 liveness/v3/console/health/liveness
独立控制台 readiness/v3/console/health/readiness

如果修改了 nacos.server.contextPathnacos.console.contextPath,请把对应上下文路径加入接口地址。

关键指标

Prometheus 中的指标名称会根据 Micrometer 类型带上后缀。例如 timer 通常会导出 _seconds_count_seconds_sum 等序列。排查时可以先搜索基础名称,再查看具体标签。

基础资源和请求

指标说明
system_cpu_usage系统 CPU 使用率。
system_load_average_1m1 分钟系统负载。
jvm_memory_used_bytesJVM 已使用内存。
jvm_memory_max_bytesJVM 最大内存。
jvm_gc_pause_secondsGC 次数和耗时。
jvm_threads_daemonJVM daemon 线程数。
http_server_requests_secondsHTTP 请求次数和耗时。
grpc_server_requestsgRPC 请求耗时,包含 requestClasssuccesserrorCodemodule 等标签。
grpc_server_executorgRPC 服务端线程池状态,包含 active、pool size、queue task 等标签。

Core 指标

指标说明
nacos_monitor{module="core",name="longConnection"}按模块统计的长连接数量。
nacos_monitor_summaryRaft read index、leader read、apply log、apply read 等摘要指标。

配置管理指标

指标说明
nacos_monitor{module="config",name="getConfig"}配置查询统计。
nacos_monitor{module="config",name="publish"}配置发布统计。
nacos_monitor{module="config",name="longPolling"}配置长轮询数量。
nacos_monitor{module="config",name="configCount"}配置数量。
nacos_monitor{module="config",name="notifyTask"}配置通知任务堆积。
nacos_monitor{module="config",name="notifyClientTask"}客户端通知任务堆积。
nacos_monitor{module="config",name="dumpTask"}配置 dump 任务堆积。
nacos_monitor{module="config",name="fuzzySearch"}模糊查询统计。
nacos_config_subscriber{version="v1"} / nacos_config_subscriber{version="v2"}配置监听者数量。
nacos_timer{module="config",name="readConfigRt"}读配置耗时。
nacos_timer{module="config",name="writeConfigRt"}写配置耗时。
nacos_timer{module="config",name="notifyRt"}通知耗时。
nacos_timer{module="config",name="dumpRt"}dump 耗时。
nacos_exception{module="config",name="illegalArgument"}配置参数异常统计。
config_change_count配置变更 TopN 统计。

服务发现指标

指标说明
nacos_monitor{module="naming",name="serviceCount"}服务数量。
nacos_monitor{module="naming",name="ipCount"}实例数量。
nacos_monitor{module="naming",name="subscriberCount"}订阅者数量。
nacos_monitor{module="naming",name="totalPush"}推送总数。
nacos_monitor{module="naming",name="failedPush"}推送失败数。
nacos_monitor{module="naming",name="emptyPush"}空推送数。
nacos_monitor{module="naming",name="avgPushCost"}平均推送耗时。
nacos_monitor{module="naming",name="maxPushCost"}最大推送耗时。
nacos_monitor{module="naming",name="leaderStatus"}服务发现模块 leader 状态。
nacos_monitor{module="naming",name="serviceSubscribedEventQueueSize"}服务订阅事件队列长度。
nacos_monitor{module="naming",name="serviceChangedEventQueueSize"}服务变更事件队列长度。
nacos_monitor{module="naming",name="pushPendingTaskCount"}待推送任务数量。
nacos_naming_subscriber{version="v1"} / nacos_naming_subscriber{version="v2"}服务订阅者数量。
nacos_naming_publisher{version="v1"} / nacos_naming_publisher{version="v2"}服务提供者数量。
service_change_count服务变更 TopN 统计。

实验性分布式锁指标

分布式锁属于实验性功能。如果使用该能力,可以关注:

指标说明
nacos_monitor{module="lock",name="grpcLockTotal"}gRPC 加锁请求总数。
nacos_monitor{module="lock",name="grpcLockSuccess"}gRPC 加锁成功数。
nacos_monitor{module="lock",name="grpcUnLockTotal"}gRPC 解锁请求总数。
nacos_monitor{module="lock",name="grpcUnLockSuccess"}gRPC 解锁成功数。
nacos_monitor{module="lock",name="aliveLockCount"}当前存活锁数量。
nacos_timer{module="lock",name="lockHandlerRt"}锁请求处理耗时。

告警建议

场景建议关注
节点不可用readiness 失败、HTTP/gRPC 请求错误率、JVM 资源、进程存活。
gRPC 堆积grpc_server_executor 的 active、queue、completed task 变化。
配置推送延迟notifyTasknotifyClientTasknotifyRtdumpTask
配置发布异常publishwriteConfigRtnacos_exception{module="config"}
服务推送异常failedPushpushPendingTaskCountavgPushCostmaxPushCost
连接异常变化longConnectionnacos_config_subscribernacos_naming_subscriber
锁使用异常加锁成功率、解锁成功率、aliveLockCount

常见排查

访问 /actuator/prometheus 返回 404 或没有数据

检查 management.endpoints.web.exposure.include 是否包含 prometheus,确认节点已重启,并核对 nacos.server.contextPath

配置了 nacos.prometheus.metrics.enabled=true,但仍没有 Nacos Server 指标

这是预期行为。该配置属于 Prometheus 服务发现生态文档,不用于开启 Nacos Server 自身指标。

Prometheus 抓取部分节点失败

检查节点端口、上下文路径、网络策略和 Prometheus 抓取配置。集群每个节点都需要单独暴露并被抓取。

指标中没有某个模块

确认对应模块是否启用。例如仅启动配置模块时,服务发现相关指标不会完整出现。实验性分布式锁指标也只有使用相关能力后才有意义。