prometheus服务监控之mysql监控
2021/4/14 19:31:04
本文主要是介绍prometheus服务监控之mysql监控,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1. 上传解压安装mysqld_exporter
- 2. 安装mariadb
- 3. 在数据库里创建mysql账号用户收集数据
- 4. 在mysql_exporter中设置mysql配置信息
- 5. 启动mysql_exporter
- 6. 配置prometheus拉取mysql节点信息
- 7. 通过web端查看
- 8. prometheus.yml配置文件详解
- prometheusUI的英文翻译
若你的机器还没有安装prometheus,先参考下面的安装步骤:
part 1:prometheus的介绍与安装
part 2 :prometheus图形界面的基本监控配置
熟悉了上面的两个部分后,我们进入今天的服务监控,以mariadb为例:
监控mysql需要在被监控机器安装mysql_exporter
mysql_exporter下载地址:https://prometheus.io/download/
1. 上传解压安装mysqld_exporter
[root@xinsz08-20 ~]# tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz文件名字太长,重命名一下:[root@xinsz08-20 ~]# mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter[root@xinsz08-20 ~]# cd mysqld_exporter/[root@xinsz08-20 mysqld_exporter]# pwd/root/mysqld_exporter
2. 安装mariadb
[root@xinsz08-20 mysqld_exporter]# yum install mariadb\* -y[root@xinsz08-20 ~]# systemctl start mariadb[root@xinsz08-20 ~]# systemctl enable mariadb[root@xinsz08-20 ~]# ss -natlp |grep 3306 //查看端口是否开启LISTEN 0 80 0.0.0.0:3306 0.0.0.0:* users:(("mysqld",pid=67872,fd=22))
3. 在数据库里创建mysql账号用户收集数据
[root@xinsz08-20 ~]# mysqlMariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '12345678';Query OK, 0 rows affected (0.000 sec)MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.000 sec)MariaDB [(none)]> exitBye[root@xinsz08-20 ~]#
备注: 此处是prometheus服务器来找mysql_exporter,然后mysql_exporter 在找mariadb,所以这里用的是localhost,指的是mysql_exporter的ip
4. 在mysql_exporter中设置mysql配置信息
[root@xinsz08-20 mysqld_exporter]# pwd/root/mysqld_exporter[root@xinsz08-20 mysqld_exporter]# vim .my.cnf (手工创建)[client]user=mysql_monitor password=12345678
5. 启动mysql_exporter
[root@xinsz08-20 mysqld_exporter]# nohup ./mysqld_exporter --config.my-cnf=/root/mysqld_exporter/.my.cnf &[1] 68166
查看端口(9104)
[root@xinsz08-20 ~]# ss -naltp |grep 9104LISTEN 0 128 *:9104 *:* users:(("mysqld_exporter",pid=68249,fd=3))
6. 配置prometheus拉取mysql节点信息
在prometheus的server端进行修改
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# pwd/root/prometheus-2.16.0.linux-amd64[root@zmedu-17 prometheus-2.16.0.linux-amd64]# vim prometheus.yml - job_name: 'mariadb'static_configs: - targets: ['192.168.1.20:9104']
重启prometheus服务
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# pkill prometheus[root@zmedu-17 prometheus-2.16.0.linux-amd64]# lsof -i:9090[root@zmedu-17 prometheus-2.16.0.linux-amd64]# ./prometheus &[1] 84662[root@zmedu-17 ~]# ss -naltp |grep 9090LISTEN 0 128 [::]:9090 [::]:* users:(("prometheus",pid=84662,fd=9))
7. 通过web端查看
http://192.168.1.17:9090
查看mysql的连接数,看到只有一个连接数:
mysql_global_status_aria_pagecache_blocks_unused
8. prometheus.yml配置文件详解
global:# 全局配置 scrape_interval: 15s # 多久收集一次数据 evaluation_interval: 15s # 多久评估一次规则 scrape_timeout: 10s # 每次收集数据的超时时间# Alertmanager configuration #告警设置alerting: alertmanagers: - static_configs: #告警规则,也可以基于动态方式进行告警- targets: rule_files: #规则文件#收集数据配置列表scrape_configs: - job_name: 'prometheus'
prometheusUI的英文翻译
Alerts: 表示可以看到我们定义的告警规则
Graph:表示界面查询数据,生成图片,或者返回数据 Status:
下面的target:表示我们的远端的监控,可以看exporter的运行情况
总结:prometheus配置起来很简单,但是图表的确不好看,下节课我们尝试让prometheus跟grafana结合
这篇关于prometheus服务监控之mysql监控的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7