首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
软件
运维软件
办公软件
书籍资源
技术陪跑营
重要信息
首页 运维教程系统服务prometheus服务监控之mysql监控

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的英文翻译

熟悉了上面的两个部分后,我们进入今天的服务监控,以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 ~]# 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
[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 9104
LISTEN   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 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'

prometheusUI的英文翻译

在这里插入图片描述

Alerts: 表示可以看到我们定义的告警规则
Graph:表示界面查询数据,生成图片,或者返回数据 Status:
下面的target:表示我们的远端的监控,可以看exporter的运行情况

总结:prometheus配置起来很简单,但是图表的确不好看,下节课我们尝试让prometheus跟grafana结合

本文链接:http://www.geekyunwei.com/994.html

网友评论comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 公众号《极客运维之家》
扫二维码
扫二维码
返回顶部