当前位置: 首页 > news >正文

Nacos 监控手册

Nacos 0.8.0版本完善了监控系统,支持通过暴露metrics数据接入第三方监控系统监控Nacos运行状态,目前支持prometheus、elastic search和influxdb,下面结合prometheus和grafana如何监控Nacos。与elastic search和influxdb结合可自己查找相关资料

搭建Nacos集群暴露metrics数据

配置application.properties文件,暴露metrics数据

management.endpoints.web.exposure.include=*

访问{ip}:8848/nacos/actuator/prometheus,看是否能访问到metrics数据

搭建prometheus采集Nacos metrics数据

下载你想安装的prometheus版本,地址为download prometheus

linux & mac

解压prometheus压缩包

tar xvfz prometheus-*.tar.gz
cd prometheus-*

修改配置文件prometheus.yml采集Nacos metrics数据

    metrics_path: '/nacos/actuator/prometheus'static_configs:- targets: ['{ip1}:8848','{ip2}:8848','{ip3}:8848']

启动prometheus服务

./prometheus --config.file="prometheus.yml"

windows

下载对应的windows版本并解压

修改配置文件prometheus.yml采集Nacos metrics数据

    metrics_path: '/nacos/actuator/prometheus'static_configs:- targets: ['{ip1}:8848','{ip2}:8848','{ip3}:8848']

启动prometheus服务

prometheus.exe --config.file=prometheus.yml

通过访问http://{ip}:9090/graph可以看到prometheus的采集数据,在搜索栏搜索nacos_monitor可以搜索到Nacos数据说明采集数据成功 

IMAGE

搭建grafana图形化展示metrics数据

和prometheus在同一台机器上安装grafana,使用 yum 安装grafana

mac

brew install grafana
brew services start grafana

linux

sudo yum install https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.4-1.x86_64.rpm
sudo service grafana-server start

windows

参考文档:Install Grafana on Windows | Grafana documentation

访问grafana: http://{ip}:3000

配置prometheus数据源 

IMAGE

导入Nacos grafana监控模版 

IMAGE

Nacos监控分为三个模块:

  • nacos monitor展示核心监控项 

    IMAGE

  • nacos detail展示指标的变化曲线 

    IMAGE

  • nacos alert为告警项 

    IMAGE

配置grafana告警

当Nacos运行出现问题时,需要grafana告警通知相关负责人。grafana支持多种告警方式,常用的有邮件,钉钉和webhook方式

钉钉告警

钉钉可以通过配置钉钉机器人 

IMAGE

配置钉钉通知url 

IMAGE

测试告警项 

IMAGE

邮件告警

修改defaults.ini配置文件,增加邮件告警

#################################### SMTP / Emailing ##########################
[smtp]
enabled = true
host = smtp.126.com:25
user = xxxxxx
password = xxxxx
;cert_file =
;key_file =
skip_verify = true
from_address = xxxxxx@126.com[emails]
;welcome_email_on_sign_up = false

配置通知邮箱 

IMAGE

Nacos metrics含义

jvm metrics

指标含义
system_cpu_usageCPU使用率
system_load_average_1mload
jvm_memory_used_bytes内存使用字节,包含各种内存区
jvm_memory_max_bytes内存最大字节,包含各种内存区
jvm_gc_pause_seconds_countgc次数,包含各种gc
jvm_gc_pause_seconds_sumgc耗时,包含各种gc
jvm_threads_daemon线程数

Nacos 监控指标

指标含义
http_server_requests_seconds_counthttp请求次数,包括多种(url,方法,code)
http_server_requests_seconds_sumhttp请求总耗时,包括多种(url,方法,code)
nacos_timer_seconds_sumNacos config水平通知耗时
nacos_timer_seconds_countNacos config水平通知次数
nacos_monitor{name='longPolling'}Nacos config长连接数
nacos_monitor{name='configCount'}Nacos config配置个数
nacos_monitor{name='dumpTask'}Nacos config配置落盘任务堆积数
nacos_monitor{name='notifyTask'}Nacos config配置水平通知任务堆积数
nacos_monitor{name='getConfig'}Nacos config读配置统计数
nacos_monitor{name='publish'}Nacos config写配置统计数
nacos_monitor{name='ipCount'}Nacos naming ip个数
nacos_monitor{name='domCount'}Nacos naming域名个数(1.x 版本)
nacos_monitor{name='serviceCount'}Nacos naming域名个数(2.x 版本)
nacos_monitor{name='failedPush'}Nacos naming推送失败数
nacos_monitor{name='avgPushCost'}Nacos naming平均推送耗时
nacos_monitor{name='leaderStatus'}Nacos naming角色状态
nacos_monitor{name='maxPushCost'}Nacos naming最大推送耗时
nacos_monitor{name='mysqlhealthCheck'}Nacos naming mysql健康检查次数
nacos_monitor{name='httpHealthCheck'}Nacos naming http健康检查次数
nacos_monitor{name='tcpHealthCheck'}Nacos naming tcp健康检查次数

nacos 异常指标

指标含义
nacos_exception_total{name='db'}数据库异常
nacos_exception_total{name='configNotify'}Nacos config水平通知失败
nacos_exception_total{name='unhealth'}Nacos config server之间健康检查异常
nacos_exception_total{name='disk'}Nacos naming写磁盘异常
nacos_exception_total{name='leaderSendBeatFailed'}Nacos naming leader发送心跳异常
nacos_exception_total{name='illegalArgument'}请求参数不合法
nacos_exception_total{name='nacos'}Nacos请求响应内部错误异常(读写失败,没权限,参数错误)

client metrics

指标含义
nacos_monitor{name='subServiceCount'}订阅的服务数
nacos_monitor{name='pubServiceCount'}发布的服务数
nacos_monitor{name='configListenSize'}监听的配置数
nacos_client_request_seconds_count请求的次数,包括多种(url,方法,code)
nacos_client_request_seconds_sum请求的总耗时,包括多种(url,方法,code)

Nacos-Sync监控

随着Nacos 0.9版本发布,Nacos-Sync 0.3版本支持了metrics监控,能通过metrics数据观察Nacos-Sync服务的运行状态,提升了Nacos-Sync的在生产环境的监控能力。 整体的监控体系的搭建参考Nacos监控手册

grafana监控Nacos-Sync

和Nacos监控一样,Nacos-Sync也提供了监控模版,导入监控模版

Nacos-Sync监控同样也分为三个模块:

  • nacos-sync monitor展示核心监控项 

    monitor

  • nacos-sync detail和alert展示监控曲线和告警 

    detail

Nacos-Sync metrics含义

Nacos-Sync的metrics分为jvm层和应用层

jvm metrics

指标含义
system_cpu_usageCPU使用率
system_load_average_1mload
jvm_memory_used_bytes内存使用字节,包含各种内存区
jvm_memory_max_bytes内存最大字节,包含各种内存区
jvm_gc_pause_seconds_countgc次数,包含各种gc
jvm_gc_pause_seconds_sumgc耗时,包含各种gc
jvm_threads_daemon线程数

应用层 metrics

指标含义
nacosSync_task_size同步任务数
nacosSync_cluster_size集群数
nacosSync_add_task_rt同步任务执行耗时
nacosSync_delete_task_rt删除任务耗时
nacosSync_dispatcher_task从数据库中分发任务
nacosSync_sync_task_error所有同步执行时的异常
http://www.lryc.cn/news/186652.html

相关文章:

  • 项目需求分析5大常见问题及解决方案
  • C#学习系列相关之多线程(四)----async和await的用法
  • 极智AI | 大模型优化之KV Cache
  • Android 使用 registerForActivityResult() 打开系统相册或相机获取图像
  • 如何制作网页 ico
  • golang gorm 增删改查以及使用原生SQL(以操作mysql为例)
  • 代码随想录 单调栈part2
  • 详解利用高斯混合模型拆解多模态分布 + 精美可视化
  • 排序算法之【归并排序】
  • Qt中QTimer定时器的用法
  • vue-组件定义注册使用
  • 斑馬打印機打印中文
  • (一)Apache log4net™ 手册 - 介绍
  • 基于Java的民宿管理系统设计与实现(源码+lw+部署文档+讲解等)(民宿预约、民宿预订、民宿管理、酒店预约通用)
  • 039:mapboxGL更换地图上的鼠标样式
  • 【云原生】K8S对外服务之Ingress
  • 分布式锁如何实现
  • Mysql存储-EAV模式
  • 全局变量报错:\Output\STM32.axf: Error: L6218E: Undefined symbol
  • 算法错题簿(持续更新)
  • 基于Springboot实现疫情网课管理系统项目【项目源码+论文说明】
  • Linux文件与目录的增删改查
  • JVM的内存模型
  • 数据采集项目之业务数据(三)
  • vuedraggable影响点击事件的解决办法
  • Linux 中的 grep 命令
  • 阶段五-Day03-Ajax
  • EPOLL单线程版本 基于reactor 的 httpserver文件下载 支持多个客户端同时处理
  • uniapp实现微信小程序隐私协议组件封装
  • 【Node.js】NPM 和 package.json