- prometheus/node_exporter/mysqld_exporter都是由go语言编写,需要先安装GoLang环境
- 下载node_exporter(监控服务器的CPU、内存、存储使用情况)和mysqld_exporter放到Mysql服务器(被监控端)
需要为mysqld_exporter在Mysql数据库新建一个用户,并赋予相应权限
1
2CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';配置mysql_exporter启动时连接mysql的用户名和密码
环境变量方式:
1
2export DATA_SOURCE_NAME='user:password@(hostname:3306)/'
./mysqld_exporter <flags>配置.my.cnf文件
1
2
3
4
5
6[client]
user=exporter
password=exporter
然后启动mysqld_exporter
mysqld_exporter -config.my-cnf=".my.cnf"
- 下载Prometheus放到监控端(或被监控端)。
配置文件prometheus.yml
1 | scrape_configs: |
- 启动prometheus,并查看配置的Linux和Mysql节点状态是否为Up
- 下载Grafana,并按文档安装
下载Percona提供的Dashboards
如果grafana与prometheus不在一台服务器,需要指定prometheus的主机名(此例中应该为db1),access要选择proxy,表示由grafana处理请求,而不是直接请求prometheus。启动Grafana,并添加Prometheus数据源(注意必须为”Prometheus”,因为Percona提供的dashboards使用的是Prometheus数据源)
正常情况下可以看见Mysql和System的仪表盘,如果显示不出来,请检查下面几个方面
- 检查Grafana和grafana-dashboards版本(grafana-4.2 匹配grafana-dashboards-1.3.2,不匹配当前最新版本1.15).
- Grafana使用grafana用户运行,所以需要检查/etc/grafana,/var/lib/grafana,/usr/grafana目录所有者和用户组是否是grafana
- 对于grafana 3.X版本,还需要做如下处理,参见grafana-dashboards
1 |
|
- grafana所有服务器是否配置prometheus所有服务器的IP与Host映射,如上的Prometheus的配置,host应该配置成db1
- 安装成功结果如下图: