Kube-Prometheus监控Nacos(五)
一、概述
本文介绍如何使用 Kube-Prometheus 监控 Nacos 服务。Nacos 自带 Prometheus 指标接口,无需额外部署 Exporter,只需通过 Endpoint 和 ServiceMonitor 配置即可实现监控。
监控方式:
- Nacos 内置了 Micrometer 指标,通过
/nacos/actuator/prometheus接口暴露 - 使用 Endpoints 手动指定 Nacos 集群节点 IP
- 通过 ServiceMonitor 配置 Prometheus 采集规则
二、配置部署
2.1 创建 Endpoints
由于 Nacos 通常部署在 K8s 集群外部,需要手动创建 Endpoints 指向 Nacos 服务器。
apiVersion: v1
kind: Endpoints
metadata:
name: nacos-exporter
namespace: monitoring
subsets:
- addresses:
- ip: # 列举 nacos 的机器的ip1
- ip: # 列举 nacos 的机器的ip2 ...
ports:
- name: http
port: 8848 # nacos-exporter 端口
protocol: TCP
配置说明:
addresses:列举所有 Nacos 集群节点的 IP 地址port: 8848:Nacos 默认端口,也是 Prometheus 指标暴露端口
2.2 创建 Service
apiVersion: v1
kind: Service
metadata:
labels:
app: nacos-exporter
type: nacos
version: 1.4.4
platform: mos
name: nacos-exporter
namespace: monitoring
spec:
ports:
- port: 8848 # nacos-exporter 端口
protocol: TCP
targetPort: http
type: ClusterIP
配置说明:
- Service 不需要 selector,因为它关联的是手动创建的 Endpoints
platform: mos:自定义标签,用于环境区分
2.3 创建 ServiceMonitor
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: nacos-exporter
namespace: monitoring
spec:
endpoints:
- interval: 15s
path: /nacos/actuator/prometheus
port: http
targetLabels: [platform]
namespaceSelector:
matchNames:
- monitoring
selector:
matchLabels:
app: nacos-exporter
type: nacos
配置说明:
path: /nacos/actuator/prometheus:Nacos 的 Prometheus 指标路径interval: 15s:每 15 秒采集一次指标targetLabels:将 Service 的platform标签添加到采集的指标中
三、验证部署
# 检查 Endpoints 是否创建成功
kubectl get endpoints nacos-exporter -n monitoring
# 检查 Service 状态
kubectl get svc nacos-exporter -n monitoring
# 检查 ServiceMonitor
kubectl get servicemonitor nacos-exporter -n monitoring
# 测试访问 Nacos 指标接口
curl http://<nacos-ip>:8848/nacos/actuator/prometheus
四、监控指标说明
Nacos 提供的核心监控指标:
nacos_monitor{name="serviceCount"}:服务数量nacos_monitor{name="instanceCount"}:实例数量nacos_monitor{name="configCount"}:配置数量nacos_monitor{name="publishSuccessCount"}:配置发布成功次数nacos_monitor{name="publishFailCount"}:配置发布失败次数http_server_requests_seconds_*:HTTP 请求的响应时间统计jvm_*:JVM 相关指标(内存、线程、GC 等)
五、注意事项
- Nacos 版本要求:Nacos 1.4.0 及以上版本才支持 Prometheus 指标暴露
- 网络访问:确保 K8s 集群能够访问 Nacos 服务器的 8848 端口
- 多节点配置:Nacos 集群需要在 Endpoints 中列出所有节点 IP
- 指标路径:不同 Nacos 版本可能指标路径有差异,请根据实际情况调整
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逐光の博客!
评论





