监控系列(三)自定义DM采集项(exporter)+主机监控+grafana展示

news2025/1/16 17:05:08

一、概括

  1. 本篇不涉及达梦数据库搭建,操作环境需提前准备
  2. prometheus以及grafana的搭建,请跳转到前文查看

监控系列(一)DM8+Prometheus+Grafana搭建
监控系列(二)Dem对接Prometheus+grafana显示

  1. 自定义的采集项的流程大致如图所示,数据库所在机器需要部署两个进程,一个是监控服务器的exporter,一个是监控主机的exporter

二、监控主机-安装node_exporter

1. node_exporter下载

下载地址:https://prometheus.io/download/ ,下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译。【版本也可使用文章末尾的资料包】
根据环境下载对应的版本,x86环境的话用这个node_exporter-1.5.0.linux-amd64.tar.gz
在这里插入图片描述

2. node_exporter安装(部署在数据库所在服务器)

## 1. 更新同步操作系统时间,避免时间误差    
[root@VM-24-17-centos opt]# ntpdate edu.ntp.org.cn  && hwclock -w
## 2. 新建目录
[root@VM-24-17-centos opt]# mkdir /opt/jiankong/jiankongSoft -p
[root@VM-24-17-centos opt]# cd /opt/jiankong/jiankongSoft
## 3. 上传压缩包 并解压
[root@server ~]# tar -zxvf  node_exporter-1.5.0.linux-amd64.tar.gz -C /opt/jiankong
## 4. 重命名node_exporter文件名
[root@localhost jiankongSoft]# cd /opt/jiankong
[root@localhost jiankong]# mv node_exporter-1.5.0.linux-amd64 node_exporter-1.5.0

3. node_exporter启动

## 5. 进入到node_exporter目录
[root@localhost node_exporter-1.5.0]# cd /opt/jiankong/node_exporter-1.5.0
## 6. 启动服务
[root@localhost node_exporter-1.5.0]# nohup  ./node_exporter > ./node_exporter.log 2>&1 &
## 查看端口默认是9100
[root@server ~]# lsof -i:9100

##  通过浏览器访问http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息
http://192.168.145.162:9100/metrics

## (备用)修改端口的话 用下面的命令
[root@VM-24-17-centos opt]# nohup  ./node_exporter --web.listen-address=":9100" > ./node_exporter.log 2>&1 &

4. node_exporter注册服务(可选)

## 1.编辑服务自启动文件
[root@master1 ~]#vim /lib/systemd/system/node_exporter.service
## 提示 这里用的是9091端口
[root@master1 ~]#cat /lib/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/jiankong/node_exporter-1.5.0/node_exporter  --web.listen-address=":9100"
Restart=on-failure
[Install]
WantedBy=multi-user.target


## 2. 更新systemd服务信息
[root@master1 ~]# systemctl daemon-reload
## 3. 服务开机自动启动
[root@master1 ~]# systemctl enable --now node_exporter.service 
## 4.启动服务
[root@master1 ~]# systemctl start node_exporter

## 其他的备用命令
[root@master1 ~]# systemctl enable node_exporter.service
[root@master1 ~]# systemctl stop node_exporter.service
[root@master1 ~]# systemctl restart node_exporter.service
[root@master1 ~]# systemctl status node_exporter.service
[root@master1 ~]# journalctl -u node_exporter -f -n 500

三、监控数据库-自定义exporter(jar采集)

1. 部署自定义exporter(部署在数据库所在服务器)

  1. 这里数据采集的jar包,是自己编写的。源码在后面的文章也会有提供。可以按需开发修改
  2. jar包中sql语句只会执行select语句不会生成中间表等操作并且只有readonly权限
  3. jar包运行需要jdk1.8的运行环境,如本地没有环境可直接使用DM8目录下的jdk环境
## 1. 新建目录
[root@VM-24-17-centos opt]# mkdir /opt/jiankong/dm_prometheus -p
[root@VM-24-17-centos opt]# cd /opt/jiankong/dm_prometheus
## 2. 上传压缩包 dm_prometheus-1.0.jar 并解压
## 3. 修改jar包连接数据的账号与密码(右键打开到BOOT-INF/classes/下编辑db.setting)

在这里插入图片描述

2. 启动自定义exporter

## 4. 启动服务
## 启动jar包前执行这句,避免jvm占用内存过多
[root@VM-24-17-centos dm_prometheus]#  export MALLOC_ARENA_MAX=2
## 如果机器内存比较大可调整为 -Xms128m  -Xmx1024m 
[root@VM-24-17-centos dm_prometheus]#  nohup java -jar -Xms256m  -Xmx512m dm_prometheus-1.0.jar  > ./dm_prometheus.log 2>&1 &

## 5. 访问接口
##  通过浏览器访问http://被监控端IP:9200/prometheus就可以查看到dm_prometheus在被监控端收集的监控信息
[root@server ~]# lsof -i:9200

http://192.168.145.162:9200/prometheus

在这里插入图片描述

四、修改prometheus配置文件关联数据

## 1. 进入到prometheus目录
[root@localhost prometheus-2.40.5]# cd /opt/jiankong/prometheus-2.40.5
## 2. 编译prometheus.yml配置文件
[root@VM-24-17-centos prometheus-2.35.0]# vim prometheus.yml 

##yml格式 注意文件对齐方式 
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9091"]
	# 添加的是主机监控的接口9100接口
  - job_name: "dm_node_single"
    static_configs:
      - targets: ["192.168.145.162:9100"]
        labels:
          origin_prometheus: '单机测试'
  # 添加的是数据库监控的接口9200接口,如果是一套集群,则在targets标签后进行逗号拼接,如下图所示
  - job_name: "dm_db_single"
    metrics_path: "/prometheus"
    static_configs:
      - targets: ["192.168.145.162:9200"]
        labels:
          cluster_name: '单机测试'  

## 3.修改完成以后进行配置文件校验,避免因为空格等问题导致出错
[root@localhost prometheus-2.40.5]# ./promtool check config prometheus.yml 
Checking prometheus.yml
 SUCCESS: prometheus.yml is valid prometheus config file syntax

在这里插入图片描述

五、重启prometheus并进行连接校验


## 4.重启prometheus
[root@localhost prometheus-2.40.5]# ps -ef|grep prometheus
root       30944       1  0 13:09 ?        00:00:06 /opt/jiankong/prometheus-2.40.5/prometheus 
[root@localhost prometheus-2.40.5]# kill -9 30944
[root@localhost prometheus-2.40.5]# nohup ./prometheus --config.file="prometheus.yml" --web.listen-address="0.0.0.0:9091" > ./prometheus.log 2>&1 &

## 5.访问prometheus,查看是否数据拉取成功
http://101.42.236.144:9091/

回到web管理界面 --》点Status --》点Targets --》可以看到多了一台监控目标
在这里插入图片描述

在这里插入图片描述

六、grafana配置监控主机的图表

1. NodeExporter下载

进入 https://grafana.com/dashboards 页面,
➢ 搜索 Node Exporter,选择下载量最高的中文版本:【可去文末的资料包中直接下载相对应的仪表盘】
https://grafana.com/grafana/dashboards/16098-1-node-exporter-for-prometheus-dashboard-cn-0417-job/
➢ 下载模板 json 文件
在这里插入图片描述

2. 导入Node Exporter模板

在这里插入图片描述

导入事先准备好的仪表盘模板(在文末的资料包中),提示grafana中仪表盘文件最终都是json文件,方便导入导出的
在这里插入图片描述

在这里插入图片描述

3. 效果展示

在这里插入图片描述

在这里插入图片描述

七、grafana配置数据库的图表

1. 导入Node Exporter模板

在这里插入图片描述

导入事先准备好的仪表盘模板(在文末的资料包中),提示grafana中仪表盘文件最终都是json文件,方便导入导出的
在这里插入图片描述

在这里插入图片描述

2. 效果展示

在这里插入图片描述

资料包

链接:https://pan.baidu.com/s/1lo6AynZBR5JdRZwY_1arbA?pwd=o178 提取码:o178

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

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

相关文章

基于数字孪生技术的智慧变电站Web3D可视化系统

今天为大家分享一个采用 数维图 的 Sovit3D 构建轻量化 3D 可视化场景的案例——数字孪生智慧变电站三维可视化系统。多维度呈现变电站场景&#xff0c;实现变电站运行态势的实时监测&#xff0c;运维设备、控制系统和信息系统的互联互通。加强变电站设备的全状态感知力与控制力…

03-MySQL查询数据

目录 DQL语言 单表查询 AS子句 DISTINCT关键字的使用 WHERE条件语句 逻辑操作符 比较操作符 BETWEEN范围查询 LIKE模糊查询 使用IN进行范围查询 NULL空值条件查询 连接查询&#xff08;多表查询&#xff09; INNER JOIN内连接 等值和非等值的连接查询 外连接 JOIN对比…

49.Python的while循环

49.Python的while循环 文章目录49.Python的while循环1. 什么是循环2. 什么是while循环3.课题导入4.while循环语法5.while循环执行流程6. if和while的区别7.课堂练习1. 什么是循环 【循环的百度释义】 特指运行一周而回到原处&#xff0c;再转。 反复地连续地做某事。 【循环…

新征程-猿如意试用一波!

猿如意传送门&#xff08;必带&#xff09; 猿如意下载地址&#xff1a;猿如意-程序员的如意兵器,工具代码,一搜就有 猿如意使用了几次了&#xff0c;今天来想分享一下我对于猿如意的使用感受吧&#xff01;&#xff01; 先说结论&#xff1a;值得每个程序员都在电脑里安装一…

MySQL的基础架构简述

文章目录一、一条SQL查询语句是如何执行的1、连接器2、查询缓存3、分析器4、优化器5、执行器一、一条SQL查询语句是如何执行的 开篇先上基本架构示意图&#x1f917;&#xff1a; 大体来说&#xff0c;MySQL可以分为 Server 层和存储引擎两部分。 Server 层包括连接…

大一作业HTML网页作业 HTML校园篮球网页作业(12个页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

前沿系列--简述Diffusion Model 扩散模型(无代码版本)

文章目录前言why扩散简述how如何扩散逆向过程小结流程训练过程预测过程总结前言 OK&#xff0c;今天的话&#xff0c;我们来搞一下这个扩散模型&#xff0c;来对这个玩意进行一个简单的了解&#xff0c;因为这个也是目前还算比较前沿的东西&#xff0c;也挺有用的&#xff0c;…

CSAPP-Lab2 BombLab解析

文章目录ReferencePhase1Phase2Phase3Phase4Phase5Phase6Part1Part2Part3Part4Part5Part6SecretBombSummaryReference GDB Command Reference - disassemble command&#xff1a;怎么使用GDB进行反汇编调试GDB X CommandGDB and Debugging&#xff1a;GDB上手教程和如何进行de…

大一作业HTML网页作业 HTML CSS制作二十四节气网页

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

背包问题:蛇优化算法(Snake Optimizer,SO)求解背包问题(Knapsack Problem,KP)提供Matlab代码

一、背包问题 1.1背包问题描述 背包问题(Knapsack Problem&#xff0c;KP)是一种重要的组合优化问题&#xff0c;在生活的许多领域都有着十分广泛的应用。背包问题可以描述为&#xff1a;给定一个背包和n种物品&#xff0c;其中&#xff0c;背包的容量为VVV &#xff0c;第i …

Linux tar报错 无法 stat: 没有那个文件或目录 tar: 由于前次错误,将以上次的错误状态退出

解决方法 解决方式&#xff1a;-czf 的f必须在最后&#xff0c;因为f标识指定压缩后的文件名&#xff0c;f后面紧跟着的字符串就是你所指定的压缩后的文件名&#xff0c;所以f必须在后面 我记忆的方法&#xff1a;czf 吃早饭 举例&#xff1a;压缩多个文件、目录,压缩后得到的文…

Go语言GOPATH是什么

一、GOPATH的概念 GOPATH 是 Go 语言中使用的一个环境变量&#xff0c;它使用绝对路径提供项目的工作目录&#xff08;也称为工作区&#xff09;, 是存放 Golang 项目代码的文件路径, GOPATH 适合处理大量 Go语言源码、多个包组合而成的复杂工程。 工作目录是一个工程开发的相对…

【机器学习】特征独立性检验-特征太多删特征-删who呢

总结 MvTest独立性分析方法——检验数值型特征与label是否有关系&#xff0c;删除与label无关&#xff08;独立&#xff09;的特征&#xff1b;corr协方差函数 相关性分析——找到数值型特征与数值型特征之间相关性高的数值型特征&#xff0c;然后删除&#xff08;相关性高的数…

Xcode 导入共享代码文件却提示找不到其中方法或类型的原因与解决

文章目录 问题现象问题分析1. 原景重现2. 为什么找不到共享代码文件中的方法?3. 解决之道总结结束语问题现象 正所谓“一个好汉三个帮,一块篱笆三个桩”,开发一款优秀的 App 也绝对少不了第三方高质量代码的加持。 但有时候,我们明明已在 Xcode 中导入了第三方共享代码文…

微服务框架 SpringCloud微服务架构 多级缓存 46 JVM 进程缓存 46.3 初识Caffeine

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存46 JVM 进程缓存46.3 初识Caffeine46.3.1 本地进程缓存46.3.2 Caffeine 示例46 JVM 进程缓存 46.3 初…

openGemini v0.2.0版本正式发布:5大特性全面增强

摘要&#xff1a;openGemini是华为云面向物联网和运维监控场景开源的一款云原生分布式时序数据库&#xff0c;兼容InfluxDB API&#xff0c;具有高性能、高并发、高扩展等特点。openGemini是华为云面向物联网和运维监控场景开源的一款云原生分布式时序数据库&#xff0c;兼容In…

Docker redis Connection refused 问题排查

问题描述&#xff1a; 用 docker分别运行2个容器&#xff0c;一个spring boot应用&#xff0c;一个是redis 然后发现Spring boot项目无法访问redis。在本地启动Spring boot项目可以访问Redis,然后打成JAR直接启动也能访问。但是做成容器访问Redis却总是报错。 2022-12-16 06:…

RK3588 调试 phy

参考&#xff1a;Rockchip_Developer_Guide_Linux_GMAC_CN Rockchip_Developer_Guide_Linux_GMAC_Mode_Configuration_CN GMAC 接口电路 RK3588 芯片拥有 2 个 GMAC 控制器&#xff0c;提供 RMII 或 RGMII 接口连接外置的 Ethernet PHY GMAC 控制器支持以下功能&#xff1a; …

LSTM前向传播代码实现——LSTM从零实现系列(3)

一、前言 这个LSTM系列是在学习时间序列预测过程中的一些学习笔记&#xff0c;包含理论分析和源码实现两部分。本质属于进阶内容&#xff0c;因此神经网络的基础内容不做过多讲解&#xff0c;想学习基础&#xff0c;可看之前的神经网络入门系列文章&#xff1a; https://blog.…

全自动化数据洞察!数据分布对比可视化!

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; 数据分析实战系列&#xff1a;https://www.showmeai.tech/tutorials/40 &#x1f4d8; 本文地址&#xff1a;https://www.showmeai.tech/article-detail/411 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;转…