如何使用Prometheus监控Nebula

本文介绍如何使用Prometheus监控Nebula。

前提条件

已将VPC实例接入可观测监控 Prometheus 版。具体操作,请参见Prometheus实例 for ECS

自建Prometheus观测Nebula的痛点

使用自建Prometheus监控VPC内ECS上自建Nebula时,可能面临的典型问题有以下几点:

  • 由于安全、组织管理等因素,您的业务通常部署在多个相互隔离的VPC,因此这需要您在多个VPC内都重复、独立部署Prometheus,导致部署和运维成本较高。

  • 每套完整的自建监控系统都需要安装并配置Prometheus、Grafana、AlertManager等,其过程复杂、实施周期长。

  • 缺少与阿里云ECS快速集成的服务发现(ServiceDiscovery)机制,因此无法根据ECS标签来灵活定义抓取Targets。如果自行实现类似功能,则需要您使用Golang语言开发代码调用阿里云ECS POP接口,以集成开源Prometheus代码,然后通过编译打包后部署,这种方式实现门槛高、过程复杂、且版本升级困难。

  • 常用开源Grafana大盘无法结合观测组件的原理与最佳实践进行深入定制。

  • 缺少Nebula告警项模板,需要您自行配置告警规则,导致消耗的工作量较大,且技术实现困难。

自建Prometheus与阿里云Prometheus的对比

Nebula监控场景下,自建Prometheus与可观测监控 Prometheus 版的详细对比如下:

对比项

自建Prometheus

可观测监控 Prometheus 版

部署、维护成本

多个VPC内,需要您自购ECS部署Prometheus、Grafana、AlertManager,运维成本高。

可观测监控 Prometheus 版、Grafana及告警中心的一体化、全托管、免运维、开箱即用。

可用性、性能、数据容量

高可用能力不足、性能低、数据容量规模小。

高可用、高性能、大数据容量。

服务发现

ECS环境下,通过开源Static_Configs、三方注册中心等方式采集服务发现,使用不便,且维护成本高

内置了aliyun_sd_configs,方便您使用ECS标签进行目标ECS匹配,达到与Kubernetes场景的LabelSelector一致体验,极大简化服务发现的配置和维护复杂度。

Grafana大盘

开源Grafana Nebula大盘通常较单一,大多只是直接展示采集的Metric,缺少结合Nebula原理和最佳实践进行深入优化。

提供专业Nebula大盘模板,方便您快速、精准掌握Nebula全链路运行情况,并定位排查问题。

告警规则

缺少Nebula告警指标模板,需要用户自行研究、配置告警规则。

根据Nebula监控实践,提供专业、灵活的告警指标模板,您可以白屏化配置各告警规则。

通过上述对比可以看出,使用可观测监控 Prometheus 版观测Nebula可以极大的简化您的运维流程并降低运维成本,使用可观测监控 Prometheus 版观测Nebula具体操作,请参见下文使用Prometheus监控Nebula

使用Prometheus监控Nebula

功能入口

功能入口一:集成中心

  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,进入集成中心页面。

功能入口二:接入中心

  1. 登录ARMS控制台

  2. 在左侧导航栏单击接入中心,然后在组件应用区域单击Nebula卡片的添加,然后在弹出的页面根据控制台指引完成组件接入。

步骤一:接入Nebula

这里以从集成中心入口为例,介绍接入Nebula组件的操作,具体步骤如下。

  1. 接入Nebula组件。

    • 若您初次安装Nebula类型的组件:

      在集成中心页面单击未安装区域Nebula组件卡片的安装vr

    • 若您已安装Nebula类型的组件,需要再次添加该组件:

      在集成中心页面单击已安装区域Nebula组件卡片的添加

  2. STEP2区域的配置页签配置相关参数,并单击确定,完成组件接入。

    参数

    说明

    Exporter名称

    当前Nebula实例监控的名称,建议可使用Nebula自身的名称。

    MetaD Metrics监听端口

    Nebula各组件Metric的监听端口,以便可观测监控 Prometheus 版访问这些端口获取监控数据。

    GraphD Metrics监听端口

    StorageD Metrics监听端口

    MetaD ECS标签(服务发现)

    Nebula各组件在VPC内ECS的标签,以便可观测监控 Prometheus 版根据标签查找出目标ECS列表。

    GraphD ECS标签(服务发现)

    StorageD ECS标签(服务发现)

    MetaD的ECS标签值

    Nebula各组件在VPC内ECS的标签值。

    GraphD的ECS标签值

    StorageD的ECS标签值

    metrics采集间隔(秒)

    可观测监控 Prometheus 版采集Nebula监控数据的时间间隔,默认30秒。

    说明

    STEP2区域的指标页签可查看监控指标。

    已接入的组件会显示在集成中心页面的已安装区域。单击该组件卡片,在弹出的面板中可以查看Targets、指标、大盘、告警、服务发现配置、Exporter等信息。集成中心的更多信息,请参见集成中心

步骤二:查看Nebula大盘数据

可观测监控 Prometheus 版默认集成了Nebula的Grafana大盘,您无需单独安装Grafana,即可查看Nebula各个组件的观测大盘。

集成中心页面单击已安装区域的Nebula组件卡片,然后在弹出的对话框中单击大盘页签可以查看该组件的大盘略缩图和超链接,单击超链接进入阿里云Grafana页面,查看对应观测大盘。veekl

步骤三:配置Nebula监控告警

集成中心页面单击已安装区域的Nebula组件卡片,然后在弹出的面板中单击告警页签(图标①),并选择告警分组为Nebula(图标②),查看Nebula的Prometheus告警。ve

可观测监控 Prometheus 版会自动创建Nebula各组件的推荐告警规则,然后需要您手动修改告警规则阈值后启动即可。您还可以根据业务需求新增告警规则。创建Prometheus告警规则的具体操作,请参见Prometheus告警规则