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

前言

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

  • 首先,需要确定您要观测的中间件类型。支持标准可观测性协议中间件可通过观测云的 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 暴露的指标。

环境版本

  • 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"

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

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

curl http://localhost:30001/metrics

2 采集指标

2.1 安装 DataKit

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

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 = [] 采集全部类型指标。

重启 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 指标即可可视化该指标。

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

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

3 视图制作

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/324022.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手游开发项目经验简单总结

这是我最近一个完整的手游开发项目的简单总结,请大家指点 引擎 语言 编辑器 项目开发模块规划分 主项目工程,UI资源项目工程,模型场景资源项目工程 热更框架 前后端协议 UI 图集 多语言适配 SLG场景和其他场景 战斗 美术模型资源 人物 动作…

ClickHouse基础介绍

目录 前言 1、什么是clickhouse 2、OLAP场景的关键特征 3、列式存储更适合于OLAP场景的原因 4、clickhouse的独特功能 5、clickhouse的缺点 6、性能 6.1、单个大查询的吞吐量 6.2、处理短查询的延迟时间 6.3、处理大量短查询的吞吐量 6.4、数据的写入性能 前言 11月…

外包干了2个月,感觉技术明显退步...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

idea 专业版(学习版)安装windows/linux(ubuntu为例)通用

下载 IntelliJ IDEA 2021.1.3专业版 打开浏览器并前往 JetBrains 官方网站的下载页面。选择适用于 Linux 的专业版(2021.1.3为例),并下载适合你系统架构的安装包(通常是 .tar.gz 格式)。 安装 IntelliJ IDEA 打开终…

C语言编译器(C语言编程软件)完全攻略(第五部分:VS2015使用教程(使用VS2015编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 五、VS2015使用教程&#xff08;使用VS2015编写C语言程序&#xff09; 前面我们给出了一段完整的C语言代码&#xff0c;就是在显示器上输出“C语言中文网”&#xff0c;如下所示&#xff1a; #include <stdio.h> int main() {…

kubectl常用命令(主题篇)

上一篇是按照操作把全局性的命令给整理出来&#xff0c;但是在实际的使用中&#xff0c;经常需要对某一个主题进行操作&#xff0c;因此这一篇按照对应的主题进行一系列操作。 集群 查看集群基本信息 kubectl cluster-info namespace 命名空间 查看 kubectl get namespace k…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制&#xff0c;可以用来启用框架扩展和替换组件,主要用于框架…

FindMy技术用于键盘

键盘是我们生活中不可或缺的输入工具&#xff0c;是人与计算机之间沟通的桥梁&#xff0c;无论是编写文档、浏览网页、玩游戏、或是进行复杂的数据分析&#xff0c;键盘都在其中发挥着关键的作用。此外&#xff0c;键盘还是各种软件的快捷键操作的关键。通过熟练地运用快捷键&a…

c语言:用结构体求平均分|练习题

一、题目 用c语言的结构体&#xff0c;求4位学生成绩的平均分 如图&#xff1a; 二、代码截图【带注释】 三、源代码【带注释】 #include <stdio.h> float aver();//声明平均分函数 void printScore();//声明打印函数 //设置结构体&#xff0c; struct student { …

编程基础 - 初识Linux

编程基础 - 初识Linux 返回序言及专栏目录 文章目录 编程基础 - 初识Linux前言一、Linux发展简介二、现代Linux三、Linux系统各发行版小结 前言 为什么要学习Linux呢&#xff1f;我这Windows用得好好的&#xff0c;简单易用傻瓜式、用的人还超多&#xff01;但是我要告诉你的…

Linux操作系统——进程控制(一) 进程创建和进程终止

进程创建 fork函数 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进程id&#xff…

借助文档控件Aspose.Words,使用 Java 在 Word 文档中创建表格

Microsoft Word 是一种流行的文字处理应用程序&#xff0c;用于创建各种类型的文档。这些文档可能包含多种类型的元素&#xff0c;包括文本、图像、表格和图表。当涉及到用 Java 自动创建和操作文档时&#xff0c;您可能需要一个轻松的解决方案来在 Word 文档中创建表格。因此&…