注册
【与达梦同行】监控系列(三)自定义DM采集项(exporter)+主机监控+grafana展示
技术分享/ 文章详情 /

【与达梦同行】监控系列(三)自定义DM采集项(exporter)+主机监控+grafana展示

卖女孩的小废柴 2022/12/16 3506 4 1

文章地址

dm+prometheus+grafana的地址,请跳转到连接查看
监控系列(一)Dm8+Prometheus+Grafana搭建
监控系列(二)Dem对接Prometheus+grafana显示
监控系列(三)自定义DM采集项(exporter)+主机监控+grafana展示
监控系列(四)Prometheus的自定义配置DM的告警监控项(短信/邮件)
监控系列(五)利用半自动部署工具十分钟搞定达梦与prometheus监控部署

一、概括

  1. 本篇不涉及达梦数据库搭建以及Dem的搭建,操作环境需提前准备

  2. prometheus以及grafana的搭建,请跳转到前文查看
    监控系列(一)Dm8+Prometheus+Grafana搭建
    监控系列(二)Dem对接Prometheus+grafana显示

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

image.png
4. 本篇文章最终效果如下图
image.png
image.png
image.png

二、监控主机-安装node_exporter

1. node_exporter下载

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

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)

image.png

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

image.png

四、修改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

image.png

五、重启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 --》可以看到多了一台监控目标
image.png
image.png

六、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 文件
image.png

2. 导入Node Exporter模板

image.png
导入事先准备好的仪表盘模板(在文末的资料包中),提示grafana中仪表盘文件最终都是json文件,方便导入导出的
image.png
image.png

3. 效果展示

image.png
image.png

七、grafana配置数据库的图表

1. 导入Node Exporter模板

image.png
导入事先准备好的仪表盘模板(在文末的资料包中),提示grafana中仪表盘文件最终都是json文件,方便导入导出的
image.png
image.png

2. 效果展示

image.png

资料包

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

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服