如何将支持标准可观测性协议的中间件快速接入观测

前言

作为一名云原生工程师,如何将支持标准可观测性协议的中间件快速接入观测云呢?答案是只需要三步。

  • 首先,需要确定您要观测的中间件类型。支持标准可观测性协议中间件可通过观测云的 DataKit 采集到中间件的关键指标。有些中间件自带可观测,会提供相应的端口和 /metrics 对外提供指标。有些中间件需要启动 exporter,通过 exporter 对外暴露 metrics。
  • 其次,安装 DataKit。再开通 Prom 采集器。Prometheus 提供了一种规范的方式来收集中间件的指标,DataKit 内置了 Prom 采集器,在不安装 Prometheus 的情况下,只需要在采集器配置文件中指定 metrics 的 url ,可以轻松采集到中间件的指标。
  • 最后,可视化指标数据。通过「观测云」-「场景」-「仪表板」-「+新建仪表板」即可实现指标的可视化,观测云内置了多种中间件的仪表板,支持时序图、概览图、饼图、矩形树图、蜂窝图等几十种可视化图表。图表中通过简单 DQL 查询直接选择指标来展示数据。

下面以 HBase 为案例来快速接入观测云。HBase 是 JAVA 开发的分布式开源数据库,自身不提供 metrics,需要借助 JMX exporter来暴露指标。JMX(Java Management Extensions)用于 Java 程序扩展监控和管理项。为应用程序植入观测功能的框架提供了一种简单的、标准的可观测的方式。JMX 最常用的场景就是暴露 Java 程序指标,任何 Java 程序都可开启 JMX。观测云的 DataKit 支持直接采集 JMX 暴露的指标。

如何将支持标准可观测性协议的中间件快速接入观测_第1张图片

环境版本

  • CentOS 7.9
  • DataKit 1.5.6
  • JDK 1.8.0_341
  • HBase 2.4.16

前置条件

  • 您需要先创建一个观测云账号
  • 已安装 HBase 2.4.16 (二进制安装路径是 /opt/soft/hbase-2.4.16)

操作步骤

1 配置 HBase

1.1 下载 JMX exporter

下载 jmx_prometheus_javaagent-0.17.2.jar,解压放到 HBase 的 bin 目录。
本示例目录是 /opt/soft/hbase-2.4.16/bin/jmx_prometheus_javaagent-0.17.2.jar

1.2 配置 HBase

新建 /opt/soft/hbase-2.4.16/conf/hbase_jmx_config.yaml

rules:
- pattern: '.*'

修改 /opt/soft/hbase-2.4.16/conf/hbase-env.sh,配置对外暴露端口 30001

 export HBASE_MASTER_OPTS="  -javaagent:/opt/soft/hbase-2.4.16/bin/jmx_prometheus_javaagent-0.17.2.jar=30001:/opt/soft/hbase-2.4.16/conf/hbase_jmx_config.yaml"
export HBASE_REGIONSERVER_OPTS="-javaagent:/opt/soft/hbase-2.4.16/bin/jmx_prometheus_javaagent-0.17.2.jar=30001:/opt/soft/hbase-2.4.16/conf/hbase_jmx_config.yaml"

如何将支持标准可观测性协议的中间件快速接入观测_第2张图片

1.3 重启 HBase
cd /opt/soft/hbase-2.4.16/bin
./stop-hbase.sh
./start-hbase.sh

执行如下命令,验证是否可以输出指标。

curl http://localhost:30001/metrics

如何将支持标准可观测性协议的中间件快速接入观测_第3张图片

2 采集指标

2.1 安装 DataKit

登录「观测云」-「集成」-「DataKit」-「Linux」,在第二步中,点击右边的「复制图标」,在 Linux 主机上安装 DataKit。

如何将支持标准可观测性协议的中间件快速接入观测_第4张图片

2.2 开启采集器

开通 prom 采集器比较方便,只需复制 prom.conf.sample 文件,改成以 .conf 扩展名的文件,再配置待采集的 url。

cd /usr/local/datakit/conf.d/prom
cp prom.conf.sample prom_hbase.conf

编辑 prom_hbase.conf,urls 中配置 HBase 指标的地址 http://localhost:30001/metrics

由于 HBase 指标有 untyped 类型,而默认配置只采集 counter 和gauge 类型的指标,这里需要设置 metric_types = [] 采集全部类型指标。

如何将支持标准可观测性协议的中间件快速接入观测_第5张图片

重启 DataKit,让新的采集器生效。

systemctl restart datakit
2.3 查看指标

登录「观测云」- 「指标」,查看采集到的指标。

以 Hadoop_HBase_numRegionServers 指标为例,观测云默认会把第一个下划线前面的 Hadoop 作为指标集,第一个下划线后面的 HBase_numRegionServers 作为指标。

# TYPE Hadoop_HBase_numRegionServers untyped
Hadoop_HBase_numRegionServers{name="Master",sub="Server",} 1.0

在「指标分析」中选择 Hadoop 指标集,再选 HBase_numRegionServers 指标即可可视化该指标。

如何将支持标准可观测性协议的中间件快速接入观测_第6张图片

在「指标管理」中可查看具体的指标集名称。

如何将支持标准可观测性协议的中间件快速接入观测_第7张图片

在 Hadoop 指标集中可以看到 host 标签,可以用做该标签做下拉框。

如何将支持标准可观测性协议的中间件快速接入观测_第8张图片

3 视图制作

登录「观测云」-「场景」-「仪表板」-「+新建仪表板」,输入 HBase 点「确定」新建仪表板。

如何将支持标准可观测性协议的中间件快速接入观测_第9张图片

点击 HBase 视图中的「新建视图变量」-「+添加视图变量」,数据链路选 DQL,变量查询输入 show_tag_value(from=['Hadoop'],keyin=['host']),其中 Hadoop 是指标集,host 是指标集中的标签。变量名输入 “host”,显示名输入“主机”,这样就制作了“主机”下拉框。

如何将支持标准可观测性协议的中间件快速接入观测_第10张图片

在 HBase 视图中拖一个“时序图”,简单查询表达式选择“指标”,指标集选择“Hadoop”,指标选择 HBase_numRegionServers。再点击「添加筛选」图标,再选择“host”和“#{host}”,这为了与主机下拉框做联动。左边选择“面积图”,图表标题输入“Region Servers”。自此“Region Servers”时序图制作完成。

如何将支持标准可观测性协议的中间件快速接入观测_第11张图片

根据同样的方式制作其它图表,制作完成后点击主机下拉框选择对应主机,展示的即是该主机上部署的 HBase 的指标视图。

如何将支持标准可观测性协议的中间件快速接入观测_第12张图片

你可能感兴趣的:(中间件,可观测性)