首页 数据库

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

1.监控主机-下载node_exporter
下载地址:https://prometheus.io/download/ ,下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译。
微信图片_20230222100058.png

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

tar -zxvf  node_exporter-1.5.0.linux-amd64.tar.gz -C /opt/jiankong
cd /opt/jiankong
mv node_exporter-1.5.0.linux-amd64/ node_exporter-1.5.0
  1. node_exporter启动
cd /opt/jiankong/node_exporter-1.5.0
nohup  ./node_exporter > ./node_exporter.log 2>&1 &

微信图片_20230222101737.png

通过浏览器访问http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息
http://192.168.145.162:9100/metrics
(备用)修改端口的话 用下面的命令

nohup  ./node_exporter --web.listen-address=":9100" > ./node_exporter.log 2>&1 &

微信图片_20230222101922.png

4.监控数据库-自定义exporter(jar采集)
(4.1).部署自定义exporter(部署在数据库所在服务器)

这里数据采集的jar包,是从大佬那里拿的。源码在最后贴出来提供。可以按需开发修改
jar包中sql语句只会执行select语句不会生成中间表等操作并且只有readonly权限
jar包运行需要jdk1.8的运行环境,如本地没有环境可直接使用DM8目录下的jdk环境

(4.2).新建目录

mkdir /opt/jiankong/dm_prometheus -p
cd /opt/jiankong/dm_prometheus

(4.3).上传压缩包 dm_prometheus-1.0.jar 并vi编辑jar包中的连接数据的账号与密码(打开到BOOT-INF/classes/下编辑db.setting)
5.启动自定义exporter
微信图片_20230222103336.png

(4.4).启动自定义exporter
启动jar包前执行这句,避免jvm占用内存过多

export MALLOC_ARENA_MAX=2
如果机器内存比较大可调整为 -Xms128m  -Xmx1024m 
nohup java -jar -Xms256m  -Xmx512m dm_prometheus-1.0.jar  > ./dm_prometheus.log 2>&1 &

微信图片_20230222103907.png

以上报错为jdk版本过低导致,调用dmdbms中的jdk即可解决
微信图片_20230222104842.png

(4.5).访问接口
通过浏览器访问http://被监控端IP:9200/prometheus就可以查看到dm_prometheus在被监控端收集的监控信息

lsof -i:9200
http://192.168.145.162:9200/prometheus

微信图片_20230222105026.png

5.修改prometheus配置文件关联数据
(5.1).进入到prometheus目录

cd /opt/jiankong/prometheus-2.42.0

(5.2).编译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: ["192.168.134.143:9091"]
    # 添加的是主机监控的接口9100接口
  - job_name: "dm_node_single"
    static_configs:
      - targets: ["192.168.134.143:9100"]
        labels:
          origin_prometheus: '单机测试'
  # 添加的是数据库监控的接口9200接口,如果是一套集群,则在targets标签后进行逗号拼接,如下图所示
  - job_name: "dm_db_single"
    metrics_path: "/prometheus"
    static_configs:
      - targets: ["192.168.134.143:9200"]
        labels:
          cluster_name: '单机测试'  

(5.3).修改完成以后进行配置文件校验,避免因为空格等问题导致出错

./promtool check config prometheus.yml 

微信图片_20230222110516.png

微信图片_20230222110537.png

集群配置方法:
微信图片_20230222110713.png

6.重启prometheus并进行连接校验

ps -ef|grep prometheus
kill -9 pid
nohup ./prometheus --config.file="prometheus.yml" --web.listen-address="0.0.0.0:9091" > ./prometheus.log 2>&1 &

7.访问prometheus,查看是否数据拉取成功

http://192.168.134.143:9091/

微信图片_20230222111114.png

微信图片_20230222111930.png

8.grafana配置监控主机的图表并导入dashboard
(8.1).进入 https://grafana.com/dashboards 页面,搜索 Node Exporter,选择下载量最高的中文版本:
(8.2).https://grafana.com/grafana/dashboards/16098-1-node-exporter-for-prometheus-dashboard-cn-0417-job/
(8.3).下载模板 json 文件
微信图片_20230222112224.png

(8.4).导入模板 json 文件后效果,到方法直接在grafana的Web界面选import dashboard点点点就好
微信图片_20230222113452.png

微信图片_20230222113537.png

微信图片_20230222114533.png

祝基佬们旅途愉快


文章评论

评论已关闭