安装配置Prometheus+Grafana监控MySQL
介绍
Grafana是一个可视化面板,有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持zabbix、InfluxDB、Prometheus,MySQL,PotgreSQL等数据源。主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式。
Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,可以用于监控Linux系统信息,MySQL等。
使用Grafana添加Prometheus数据源,可以实现MySQL非常友好的监控界面。
示意图
安装环境
监控工具部署环境: IP:10.xx.xxx.175 被监控环境: IP:10.xx.xxx.181
安装包明细
Golang: go-1.4.3 >go-1.6 Prometheus: prometheus-2.3.1 Prometheus exporter: mysqld_exporter-0.10.0 node_exporter-0.16.0 grafana: grafana-4.6.3-1.x86_64.rpm(最新版本5.2不可用) grafana dashboard: grafana-dashboards-1.9.0(最新版本1.12.0不可用)
参考及引用链接
Go源码下载链接: https://github.com/golang/go Grafana-dashboards仪表盘下载链接: https://github.com/percona/grafana-dashboards/tree/v1.9.0 Prometheus官方下载链接: https://prometheus.io/download/ Granfana官方下载链接 https://grafana.com/grafana/download Percona博客 搭建Prometheus+Grafana: https://www.percona.com/blog/2016/02/29/graphing-mysql-performance-with-prometheus-and-grafana/
安装步骤
大前提:
由于网络不通,go get,git clone等均无效。所以本次安装步骤均以手动下载包的方式安装
一,下载好上述列出的所有安装包
二,安装Go环境(如果有Go环境跳过此步)
由于prometheus和grafana依赖Go环境,所以需要安装Golang 如果系统中已经有go>1.4.3版本,则不需要装go-1.4.3,只需执行:
export GOROOT_BOOTSTRAP=go所在目录
如果系统中没有go环境,想装高版本Go,需要先装go-1.4.3
cd go-go-1.4.3/src ./all.bash
安装完成后
export GOROOT_BOOTSTRAP=go所在目录
继续安装高版本Go,这边装的是go-1.10.3:
mv go-go-1.10.3 usr/local/go cd usr/local/go/src ./all.bash vim ~/.bash_profile 添加以下环境变量 export GOROOT=/usr/local/go export GOPATH=/usr/local/go/bin export PATH=/usr/local/go/bin:$PATH source ~/.bash_profile
三,搭建Prometheus
tar -C opt -zxvf prometheus-2.3.1.linux-amd64.tar.gz cd opt mv prometheus-2.3.1.linux-amd64 prometheus cd prometheus mv prometheus.yml prometheus_bak.yml vim prometheus.yml
编辑prometheus配置:
见[附录]-prometheus.yml
启动prometheus:关闭iptables和selinux
./prometheus --config.file="prometheus.yml" &
启动完成后可以登录prometheus页面:
http://10.37.123.175:9090
进入后点击菜单栏Status-Targets
进入Targets页面可以看到prometheus.yml中配置的linux和mysql状态是DOWN,显示连接10.37.123.181失败。这是正常现象。需要安装在待监控机器安装exporter工具来建立数据传输。
四,搭建prometheus exporter
exporter工具需要在待监控的服务器上进行安装,作用是格式化数据传输。
tar -zxvf mysqld_exporter-0.10.0.linux-amd64.tar.gz tar -zxvf node_exporter-0.16.0.linux-amd64.tar.gz mv mysqld_exporter-0.10.0.linux-amd64 /usr/local/mysqld_exporter mv node_exporter-0.16.0.linux-amd64 /usr/local/node_exporter
启动node_exporter:
/usr/local/node_exporter/node_exporter &
创建mysqld_exporter用户:
mysqld_exporter需要连接到Mysql,所以需要Mysql的权限,先创建用户并赋予所需的权限:
mysql> GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'prom'@'10.37.%' identified by '123456'; mysql> GRANT SELECT ON performance_schema.* TO 'prom'@'10.37.%';
创建.my.cnf配置文件:
cd /usr/local/mysqld_exporter cat << EOF > .my.cnf [client] user=prom password=123456 host=10.37.123.181 EOF
启动mysqld_exporter:
./mysqld_exporter -config.my-cnf=".my.cnf" &
启动完node_exporter和mysqld_exporter后,再回到http://10.37.123.175:9090 Status->Targets下 状态已经切换为UP
到此Prometheus安装完成,可以通过其监控os和mysql的状态数据,不过由于Prometheus图形界面不是很友好,继续安装Grafana。
五,安装Grafana
yum localinstall grafana-4.6.3-1.x86_64.rpm
安装路径信息:
二进制文件: /usr/sbin/grafana-server init.d 脚本: /etc/init.d/grafana-server 环境变量文件: /etc/sysconfig/grafana-server 配置文件: /etc/grafana/grafana.ini 启动项: grafana-server.service 日志文件:/var/log/grafana/grafana.log 默认配置的sqlite3数据库:/var/lib/grafana/grafana.db
编辑Grafana配置项:
vim /etc/grafana/grafana.ini 将dashboards.json配置项中的配置按图中所示修改: (注意:参数前面的;必须去掉,不然不生效!!! 如果下载最新Grafana版本,则没有此配置项)
六,配置仪表盘:
(注意:经测试Grafana-dashboards-1.10-1.12均无效,无法显示图表) unzip grafana-dashboards-1.9.0.zip cd grafana-dashboards-1.9.0 cp -r dashboards /var/lib/grafana/
grafana-3.x及以下版本需要执行以下命令,不然图形不显示
sed -i 's/step_input:""/step_input:c.target.step/; s/ HH:MM/ HH:mm/; s/,function(c)/,"templateSrv",function(c,g)/; s/expr:c.target.expr/expr:g.replace(c.target.expr,c.panel.scopedVars)/' /usr/share/grafana/public/app/plugins/datasource/prometheus/query_ctrl.js sed -i 's/h=a.interval/h=g.replace(a.interval, c.scopedVars)/' /usr/share/grafana/public/app/plugins/datasource/prometheus/datasource.js
七,启动Grafana
service grafana-server start 如果提示已经启动则: service grafana-server restart
登录Grafana页面:http://10.37.123.175:3000
初始用户名和密码:admin/admin
登录进入后,先点击add data source配置数据源:
配置信息如图所示,不要做其他任何修改:
配置完成后,点击dashboards->home进入主界面
点击最上方Home下拉按钮,即可选择想要的监控参数:
这里选择MySQL Overview,即可看到非常棒的图形化监控界面
[附录]
prometheus.yml:
global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] labels: instance: prometheus - job_name: linux static_configs: - targets: ['10.xx.xxx.181:9100'] labels: instance: db1 - job_name: mysql static_configs: - targets: ['10.xx.xxx.181:9104'] labels: instance: db1
上一篇: 十三师新星市监督执法正面清单企业明细表(2023年度)
下一篇: 莱西新增14个监控!在这5个地方!