写点什么

Nacos 可观测性最佳实践

作者:观测云
  • 2025-02-21
    上海
  • 本文字数:1841 字

    阅读完需:约 6 分钟

Nacos 可观测性最佳实践

Nacos 介绍

Nacos 组件简介

Nacos 是阿里巴巴开源的一款强大的云原生应用配套工具,它是一个高度集成且功能丰富的平台,特别适合构建和管理现代云原生应用的微服务架构。

Nacos 提供以下核心功能:

  • 服务发现与健康检查:Nacos 支持 DNS 与 RPC 服务发现协议,允许自动发现、路由与负载均衡微服务实例。它通过健康检查机制监控服务实例状态,确保将请求转发给健康的实例,故障实例会被自动移除服务列表。

  • 动态配置服务:提供了一个集中式的配置管理平台,使得应用可以在运行时动态获取或更新配置,无需重启。配置变更时,Nacos 能实时推送给相关应用实例。

  • 动态 DNS 服务:支持权重路由的 DNS 服务,有助于灵活管理流量分配,便于实施蓝绿部署、灰度发布及流量镜像等策略。

  • 服务与元数据管理:为微服务和应用提供丰富服务注册信息及元数据管理能力,便于进行更细致的服务治理和监控。

相比其他同类工具如 Eureka,Nacos 拥有更多优势,包括但不限于配置管理、消息总线功能、更健壮的健康检查机制、对多数据中心的良好支持等,这些特性使 Nacos 成为构建复杂分布式系统时的优选方案。

在分布式系统中,服务之间的相互调用依赖于 Nacos 的服务发现功能。如果 Nacos 出现故障或数据不准确,服务消费者可能无法正确找到服务提供者。同时,当 Nacos 作为配置管理中心时,存储着应用程序的各种关键配置信息,如数据库连接字符串、日志级别、业务规则等。任何配置信息的错误或不及时更新都可能对应用程序产生严重影响。因此,监控 Nacos 的运行状态对于确保服务稳定性和可靠性至关重要。通过深入了解 Nacos 的监控指标,并合理应用它们来优化服务性能,开发人员可以更加有效地管理和维护微服务系统。

暴露 Nacos 指标

Nacos 指标数据的暴露可以通过如下的配置来开启:

1、在 Nacos 的 application.properties 文件中添加如下配置

management.endpoints.web.exposure.include=*
复制代码

2、重启 Nacos,并通过如下的访问地址校验是否能访问到指标数据

http://{ip}:8848/nacos/actuator/prometheus
复制代码

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在「集成」 - 「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。



数据采集

我们将通过 DataKit 中的 Nacos 采集器对 Nacos 的监控指标进行采集。采集器配置说明如下:

1、开启 Nacos 采集器

cp /usr/local/datakit/conf.d/prom/prom.conf.sample /usr/local/datakit/conf.d/prom/nacos-prom.conf
复制代码

2、修改 nacos-prom.conf 配置文件

[[inputs.prom]]  urls = ["http://nacos.default:8848/nacos/actuator/prometheus"]  ## 忽略对 url 的请求错误  ignore_req_err = false  ## 采集器别名  source = "nacos"  metric_types = []  measurement_prefix = "nacos_"  ## 采集间隔 "ns", "us" (or "µs"), "ms", "s", "m", "h"  interval = "10s"  ## TLS 配置  tls_open = false  ## 自定义Tags  [inputs.prom.tags]  # some_tag = "some_value"  # more_tag = "some_other_value"
复制代码

主要参数说明:

  • urls:prometheus 指标地址,这里填写 Nacos 暴露出来的指标 url

  • source:采集器别名,建议写成 nacos

  • interval:采集间隔

  • measurement_prefix:指标前缀,便于指标分类查询

  • tls_open:TLS 配置

  • metric_types:指标类型,不填,代表采集所有指标

3、重启 Datakit 服务让配置生效

datakit service -R
复制代码

关键指标

1、JVM Metrics


2、Nacos 监控指标


3、Nacos 异常指标


场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “Nacos”, 选择 “Nacos 监控视图”,点击 “确定” 即可添加视图。






注意:该视图模板要求监控数据要打上 env 的标签。

监控器(告警)

CPU 使用率过高告警




水平通知失败告警




推送失败告警




总结

总之,通过对 Nacos 服务的监控,让使用者能够全面掌控其运行状态、性能表现以及服务间的调用关系,便于及时发现和解决问题,保障系统稳定高效运行。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
Nacos 可观测性最佳实践_nacos_观测云_InfoQ写作社区