Nacos 接入

最近更新时间:2025-11-19 15:24:12

我的收藏

操作场景

本文旨在引导用户快速实现对 Nacos 监控数据的采集,无论 Nacos 部署在独立服务器还是 Kubernetes 集群,都可按照指引轻松获取节点的运行状态和指标信息。

操作步骤

Nacos 暴露监控指标

本章将介绍如何在传统发行版部署、Docker 部署Kubernetes 部署环境下,为 Nacos 服务启用 Prometheus 监控指标的暴露,无论是单机模式还是集群模式均适用。如果您使用的是集群模式,请提前确定需要被采集的节点,所有需采集的节点都必须完成相应的指标暴露配置。
传统发行版部署
Docker 部署
Kubernetes 部署
1. 找到 Nacos 安装目录下 conf 文件夹中的 application.properties 文件。路径示例:
{NACOS_HOME}/conf/application.properties
其中 {NACOS_HOME} 为实际的 Nacos 安装路径。
2. 在 application.properties 文件末尾添加如下配置(如已存在请直接修改为以下内容):
management.endpoints.web.exposure.include=prometheus
3. 保存文件后,重新启动 Nacos 服务以使配置生效。
4. 服务启动后,在主机上执行如下命令,检查 metrics 数据是否已经生成。
curl localhost:8848/nacos/actuator/prometheus
命令执行结果如下:

1. 注入环境变量。
配置方式一:docker-compose 方式环境变量注入,docker-compose.yml 示例如下。
version: "3"
services:
nacos:
image: nacos/nacos-server:latest
container_name: nacos
ports:
- "8848:8848"
environment:
# ...
# 增加这个环境变量
- management.endpoints.web.exposure.include=prometheus
# ...
配置方式二:docker run 方式环境变量注入,在运行 Nacos 容器时,直接使用 -e 参数为容器设置所需的环境变量。
docker run -d \\
--name nacos \\
-e management.endpoints.web.exposure.include=prometheus \\
-p 8848:8848 \\
nacos/nacos-server:latest
2. 容器启动后,进入容器并运行以下命令,以确认 metrics 数据是否已生成。
curl localhost:8848/nacos/actuator/prometheus
命令执行结果如下:

1. 在 Kubernetes 环境下,可以通过增加环境变量的形式来暴露监控指标。
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: nacos
namespace: public
spec:
replicas: 3
selector:
matchLabels:
app: nacos
template:
metadata:
labels:
app: nacos
spec:
containers:
- name: nacos
image: nacos/nacos-server:latest
env:
#...
# 增加这个环境变量
- name: management.endpoints.web.exposure.include
value: 'prometheus'
#...

2. 增加环境变量后,Nacos 服务会重启,重启后进入 Pod,执行命令查看是否有 metrics 数据:
curl localhost:8848/nacos/actuator/prometheus
命令执行结果如下:


配置采集

2. 在实例列表中,选择对应的 Prometheus 实例。
3. 进入实例详情页,选择数据采集 > 集成中心
4. 在集成中心找到并单击 Nacos,即会弹出一个安装窗口,在安装页面填写集成名称并选择部署方式,具体配置方式如下。
StaticConfig(静态采集配置)
ServiceDiscovery(服务发现配置)
如果 Nacos 部署在非容器环境,可通过 StaticConfig 类型部署监控采集配置。具体配置步骤如下:
1. 在弹出的安装窗口中,找到实例配置 > 部署类型,下拉选择 StaticConfig
2. 静态采集配置 > 采集目标地址中,填写 Nacos 服务的 host:port,支持添加多个,需保证网络与 Prometheus 实例互通。
3. 确认 Exporter 配置 > 指标采集路径中的 path 是否与 Nacos 服务配置一致。
4. 按需填写其他 Exporter 配置,然后单击保存

参数
说明
名称
集成名称,命名规范如下:
名称具有唯一性。
名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'。
部署类型
监控的部署类型,StaticConfig 代表静态采集配置。
采集目标地址
输入采集目标地址,格式:host:port,支持添加多个。需保证网络与 Prometheus 实例互通,如需通过公网访问,可参考 TKE Serverless 集群如何放通外网
指标采集路径
Nacos 指标暴露的路径,默认为 /nacos/actuator/prometheus。
抓取间隔
默认15s,填写示例:60s、1m30s、5m。
抓取超时
默认10s,抓取超时必须小于等于抓取间隔,填写方式同抓取间隔。
Metric Relabel 配置
选填。兼容 Prometheus 原生的 metric_relabel_configs 和 Prometheus Operator 原生的 metricRelabelings 配置。不可混用。
如果 Nacos 部署在容器环境,可通过 ServiceDiscovery 类型部署监控采集配置。具体配置步骤如下:
1. 确保当前 Prometheus 实例已成功关联 Nacos 所在集群,步骤请参见 集成容器服务
2. 在弹出的安装窗口中,找到实例配置 > 部署类型,下拉选择 ServiceDiscovery
3. 服务发现配置中,选取待监控的 Nacos 服务所在的集群,填写 Nacos 服务所在的命名空间、指标暴露的端口号或端口名称、Nacos Pod 标签。
4. 确认 Exporter 配置 > 指标采集路径中的 path 是否与 Nacos 服务配置一致。
5. 按需填写其他 Exporter 配置,然后单击保存

参数
说明
名称
集成名称,命名规范如下:
名称具有唯一性
名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'
部署类型
监控的部署类型,ServiceDiscovery 代表服务发现配置。
集群
待监控的 Nacos 服务所在的集群,需确保集群已成功被当前 Prometheus 实例关联,步骤请参见 集成容器服务
命名空间
Nacos 服务所在的集群命名空间。
端口
Nacos 指标暴露的端口号或端口名称,需在工作负载 spec.template.spec.containers.ports 中增加端口配置。
Pod 标签
Nacos 服务 Pod 在 metadata.labels 中显式配置的标签。当通过工作负载创建 pod 时,则为工作负载 spec.template.metadata.labels 中配置的标签。
指标采集路径
Nacos 指标暴露的路径,默认为 /nacos/actuator/prometheus。
抓取间隔
默认15s,填写示例:60s、1m30s、5m。
抓取超时
默认10s,抓取超时必须小于等于抓取间隔,填写方式同抓取间隔。
Metric Relabel 配置
选填。兼容 Prometheus 原生的 metric_relabel_configs 和 Prometheus Operator 原生的 metricRelabelings 配置。不可混用。

查看监控

前提条件

Prometheus 实例已绑定 Grafana 实例。

操作步骤

1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 选择数据采集 > 集成中心,在集成中心页面找到 Nacos 监控卡片并点击弹出集成页面,选择 Dashboard > Dashboard 安装/升级来安装对应的 Grafana Dashboard。
3. 选择查看已集成,在已集成列表中单击 Grafana 图标即可自动进入 Nacos 监控大盘,查看实例相关的监控数据,如下图所示: