Prometheus入门使用(二)
Prometheus监控MySQL:
1.下载mysqld_exporter:
root@dokcer:~# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
2.解压mysqld_exporter:
root@dokcer:~# tar -xzvf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local
3.创建链接文件:
root@dokcer:~# ln -sv /usr/local/mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter /usr/local/bin/mysql_exporter
'/usr/local/bin/mysqld_exporter' -> '/usr/local/mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter'
4.安装并启动mysql server
root@dokcer:~# apt install mysql-server
root@dokcer:~# sudo systemctl start mysql.service
5.添加用户和赋予权限信息:
mysql> CREATE USER 'exporter'@'localhost' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
6.编辑mysqld_exporter配置文件 .my.cnf文件(默认文件在~/.my.cnf)
root@dokcer:~# vim /usr/local/mysqld_exporter-0.14.0.linux-amd64/.my.cnf
[client]
user=exporter #mysql 用户
password=123456 #mysql密码
7.后台运行mysqld_exporter
root@dokcer:~# nohup mysqld_exporter --config.my-cnf='/usr/local/mysqld_exporter-0.14.0.linux-amd64/.my.cnf' &
8.查看mysqld exporter端口状态
root@dokcer:~# lsof -i:9104
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld_ex 2456 root 3u IPv6 26780 0t0 TCP *:9104 (LISTEN)
root@dokcer:~# netstat -tulp | grep 9104
tcp6 0 0 [::]:9104 [::]:* LISTEN 2456/mysqld_exporte
root@dokcer:~# ss -natlp | grep 9104
LISTEN 0 128 *:9104 *:* users:(("mysqld_exporter",pid=2456,fd=3))
访问http://IP:9104/metrics:
Prometheus添加MySQL主机:
1.添加Prometheus配置文件,添加MySQL主机
root@dokcer:~# vim /usr/local/prometheus/prometheus.yml
- job_name: "mysql"
static_configs:
- targets: ["192.168.0.50:9104"]
2.重启prometheus
root@dokcer:~# pkill prometheus
root@dokcer:~# nohup /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &
Grafana添加MySQL图形界面:
添加Prometheus数据源:
需要注意的是如果是Prometheus官方的exporter的话,不用另外添加mysql数据源,只要添加Prometheus数据源即可,只要添加地址为http://IP:9090就可以查到监控的所有主机的数据(mysql
,localhost
数据):
试着查询一下mysql_up
数据,mysql_server已经启动:
导入mysql监控模板:
模板链接:
https://github.com/percona/grafana-dashboards
导入模板之后模板会自动读取默认的Prometheus数据源,然后就可以显示mysql运行数据,某些面板要安装插件: