CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
export DATA_SOURCE_NAME='user:password@(hostname:3306)/' ./mysqld_exporter <flags>
[client] user=exporter password=exporter 而后启动mysqld_exporter mysqld_exporter -config.my-cnf=".my.cnf"
scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] labels: instance: prometheus - job_name: linux static_configs: # 192.168.1.7为node_exporter所在服务器的IP;9100为node_exporter暴露的端口 - targets: ['192.168.1.7:9100'] labels: #db1为实例名,之后在Grafana获取prometheus时,要配置prometheus全部服务器的host为db1 instance: db1 - job_name: mysql static_configs: # 192.168.1.7为mysqld_exporter所在服务器的IP;9100为mysqld_exporter暴露的端口 - targets: ['192.168.1.7:9104'] labels: instance: db1
启动prometheus,并查看配置的Linux和Mysql节点状态是否为Upjava
下载Grafana,并按文档安装node
下载Percona提供的Dashboards
若是grafana与prometheus不在一台服务器,须要指定prometheus的主机名(此例中应该为db1),access要选择proxy,表示由grafana处理请求,而不是直接请求prometheus。mysql
正常状况下能够看见Mysql和System的仪表盘,若是显示不出来,请检查下面几个方面linux
- 检查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](https://github.com/percona/grafana-dashboards) > sed -i 's/expr=\(.\)\.replace(\(.\)\.expr,\(.\)\.scopedVars\(.*\)var \(.\)=\(.\)\.interval/expr=\1.replace(\2.expr,\3.scopedVars\4var \5=\1.replace(\6.interval, \3.scopedVars)/' /usr/share/grafana/public/app/plugins/datasource/prometheus/datasource.js > sed -i 's/,range_input/.replace(\/"{\/g,"\\"").replace(\/}"\/g,"\\""),range_input/; s/step_input:""/step_input:this.target.step/' /usr/share/grafana/public/app/plugins/datasource/prometheus/query_ctrl.js - grafana全部服务器是否配置prometheus全部服务器的IP与Host映射,如上的Prometheus的配置,host应该配置成db1
9.安装成功结果以下图:
git