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

前言

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

  • 首先,需要确定您要观测的中间件类型。支持标准可观测性协议中间件可通过观测云的 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.mzph.cn/news/599312.shtml

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

相关文章

数据库备份规范

备份方式 1、周期性例行备份 生产数据库例行备份统一使用定时任务备份,备份时间定时到业务低峰期。每天备份一次,保留7天的备份,超过7天的备份包括binlog上传到s3存储上。 2、线上数据库变更前备份。 分为自动变更和手动变更,遵…

【c++】入门3

引用 1.swap交换两个变量值的时候可以用引用 2.例题中通过前序遍历数组构建二叉树&#xff0c;可以用引用传别名. #include <stdio.h> #include <stdlib.h> typedef struct BinaryTreeNode {char data;struct BinaryTreeNode* left;struct BinaryTreeNode* right; …

八、Lua脚本详解—— 超详细操作演示!

八、Lua脚本详解 —— 超详细操作演示&#xff01; 八、Lua脚本详解8.1 Lua 简介8.2 Linux 系统的Lua8.2.1 Lua 下载8.2.2 Lua 安装8.2.3 Hello World 8.3 Win 系统的Lua8.4 Lua 脚本基础8.4.1 注释8.4.2 数据类型8.4.3 标识符8.4.4 运算符8.4.5 函数8.4.6 流程控制语句8.4.7 循…

Java web项目openSession和getCurrentSession切换

一.openSession 在配置文件配置sessionFactory-hibernateProperties添加 <prop key"hibernate.current_session_context_class">thread</prop> 二 .getCurrentSession 第一步&#xff1a; 去掉配置&#xff1a; <prop key"hibernate.current…

MinIO 批处理框架添加了对过期时间的支持

您现在可以使用 MinIO 批处理框架执行 S3 删除操作&#xff0c;以通过单个 API 请求删除大量对象。借助 MinIO 批处理框架&#xff0c;可以快速轻松地在 MinIO 部署中执行重复或批量操作&#xff0c;例如批量复制和批量密钥轮换。MinIO 批处理框架处理所有手动工作&#xff0c;…

【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建

【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 概述-CSDN博客 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建-CSDN博客 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行模式-CSDN博客 1、模板虚拟机环境准备 1.1、 hadoop100 虚拟机配置要求如下 &…

小兔鲜儿 uniapp - 项目打包

目录 微信小程序端​ 核心步骤​ 步骤图示​ 条件编译​ 条件编译语法​ 打包为 H5 端​ 核心步骤​ 路由基础路径​ 打包为 APP 端​ 微信小程序端​ 把当前 uni-app 项目打包成微信小程序端&#xff0c;并发布上线。 核心步骤​ 运行打包命令 pnpm build:mp-weix…

Day13- 二叉树part02

一、二叉树的层序遍历 题目一&#xff1a;102. 二叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 实现二叉树的层序遍历通常使用队列&#xf…

Java 如何实现微信支付功能代码示例

微信支付是由中国的腾讯公司推出的一种移动支付方式。它允许用户通过在微信应用中绑定银行卡或其他支付方式来进行交易&#xff0c;包括在线购物、转账、付款码支付等。微信支付的特点包括便捷、安全、快速和全面&#xff0c;使用户可以随时随地完成交易。用户可以通过扫描商家…

openGauss学习笔记-187 openGauss 数据库运维-常见故障定位手段

文章目录 openGauss学习笔记-187 openGauss 数据库运维-常见故障定位手段187.1 操作系统故障定位手段187.2 网络故障定位手段187.3 磁盘故障定位手段187.4 数据库故障定位手段 openGauss学习笔记-187 openGauss 数据库运维-常见故障定位手段 187.1 操作系统故障定位手段 查询…

Vue2/Vue3-插槽(全)

一、插槽的定义 vue实现了一套内容分发的Api&#xff0c;将<slot>元素作为承载内容分发 二、插槽的注意事项 父组件模板的内容只能访问父组件的作用域&#xff0c;子组件的模板只能访问子组件的作用域。 也就是说插槽的内容可以访问父组件的数据作用域&#xff0c;因为插…

【Element】el-form和el-table嵌套实现表格编辑并提交表单校验

一、背景 页面需要用到表格采集用户数据&#xff0c;提交时进行表单校验&#xff1b;即表格中嵌套着表单&#xff0c;保存时进行表单校验 二、功能实现 2.1、el-form和el-table嵌套说明 ① :model"formData" 给表单绑定数据&#xff0c;formData是表单的数据对象 …

springboot、spring-kafka、kafka-client的版本对应关系

在使用springboot集成kafka的时候需要注意springboot版本、引用的依赖spring-kafka版本和kafka中间件版本的对应关系&#xff0c;否则可能会因为版本不兼容导致出现错误。 1、含义说明&#xff08;摘自官网&#xff09; Spring Boot&#xff1a;是springboot的版本。Spring fo…

设计模式——最全梳理,最好理解

新年献礼&#xff01; 设计模式呕心梳理 创建型模式 单例模式&#xff08;Singleton Pattern&#xff09;https://blog.csdn.net/qq_34869143/article/details/134874044 整理中... 结构型模式 代理模式&#xff08;Proxy Pattern&#xff09;https://blog.csdn.net/qq_34…

任务调度实现

一、定时任务概述 在项目中开发定时任务应该一种比较常见的需求&#xff0c;在 Java 中开发定时任务主要有三种解决方案&#xff1a;一是使用JDK 自带的 Timer&#xff0c;二是使用 Spring Task&#xff0c;三是使用第三方组件 Quartz Timer 是 JDK 自带的定时任务工具,其简单易…

解决:Microsoft Visual C++ 14.0 is required.

Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools 当我们安装绝大部分python包的时候可以通过pip install 或者 conda install解决&#xff0c;但是任然有些包是安装不了的&#xff0c;比如我的就是在安装pyqt5的时候报Building wheel for…

nlp中的transformer中的mask

由于在实现多头注意力时需要考虑到各种情况下的掩码&#xff0c;因此在这里需要先对这部分内容进行介绍。在Transformer中&#xff0c;主要有两个地方会用到掩码这一机制。第1个地方就是在上一篇文章用介绍到的Attention Mask&#xff0c;用于在训练过程中解码的时候掩盖掉当前…

AIGC(生成式AI)试用 16 -- 续1,调优和提示词

本欲结束AIGC的试用&#xff0c;后来的一场AIGC的专业培训讲解&#xff0c;觉得还是有必要再记录些什么。 个人揣摩是一回事&#xff0c;毕竟与专业还是有着差距。 揣摩是实践&#xff0c;专业是理论&#xff0c;无论从实践到理论&#xff0c;还是理论到实践&#xff0…

Leetcode 超难题目 Hard

动态规划 2945. 找到最大非递减数组的长度 (难度分2943,“超难”) 这道题很有可能是LC主站(LCP除外)新的天花板,之所以难度分没有超过1719题,是因为双周赛样本量本身不多,而这题有一定的“猜结论”。某个LC积分2900+的大佬认为,即使数据范围只有1000,这也是一道相当…

基于MyCat2.0实现MySQL分库分表方案

目录 一、MyCat概述 二、MyCat作用 2.1 数据分片 2.1.1 垂直拆分 2.1.1.1 垂直分库 2.1.1.2 垂直分表 2.1.1.3 总结 2.1.2 水平拆分 2.1.2.1 水平分库 2.1.2.2 水平分表 2.1.2.3 总结 2.2 读写分离 2.3 多数据源整合 三、MyCat 与ShardingJDBC的区别 3.1 MyCat …