若你的机器还没有安装prometheus,先参考下面的安装步骤:
part 1:prometheus的介绍与安装
熟悉了上面的两个部分后,我们进入今天的服务监控,以mariadb为例:
监控mysql需要在被监控机器安装mysql_exporter
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 ~]# mysql MariaDB [(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)]> exit Bye
#备注:此处是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
6. 配置prometheus拉取mysql节点信息
[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的server端进行修改
重启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 9090 LISTEN 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'
9. prometheusUI的英文翻译
Alerts: 表示可以看到我们定义的告警规则 Graph:表示界面查询数据,生成图片,或者返回数据 Status: 下面的target:表示我们的远端的监控,可以看exporter的运行情况
以上是prometheus服务监控之mysql监控怎么配置的详细内容。更多信息请关注PHP中文网其他相关文章!