Linux系统上安装Grafana+Prometheus+node_exporter、mysqld_exporter监控Linux服务器系统的基础性能指标和Linux服务器上Mysql的相关指标。
一、写在前面
1、系统:CentOS 7.2
2、监控报警工具:Prometheus,用来拉取数据的。Prometheus 所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中。
Exporter,是Prometheus的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为Prometheus支持的格式。与传统的数据采集组件不同的是,它并不向中央服务器发送数据,而是等待中央服务器主动前来抓取。
3、可视化监控工具:Grafana,是一个跨平台的开源的度量分析和可视化工具,可以做数据监控和数据统计,带有告警功能。支持许多不同的时间序列数据(数据源)存储后端。每个数据源都有一个特定的查询编辑器。官方支持以下数据源:Graphite、infloxdb、opensdb、prometheus、elasticsearch、cloudwatch等。
二、搭建步骤
1、下载并安装Prometheus(Linux版本)
1.1、下载Prometheus地址:https://prometheus.io/download/
由于官网这里安装下载速度非常慢,因此可以选择使用命令下载的方式。
先进入目录/opt(因为我打算将prometheus下载到这个目录下,可以根据自己习惯自行决定安装在哪个目录),再使用wget命令进行下载。
命令:
# cd /opt
# wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz
1.2、解压Prometheus
命令:# tar -zxvf prometheus-2.23.0.linux-amd64.tar.gz
1.3、重命名Prometheus解压目录
命令:# mv prometheus-2.23.0.linux-amd64 /opt/prometheus
2、下载并运行mysqld_exporter、node_exporter(Linux版本)
说明:exporter是安装在需要被监控的服务器上的,这里需要监控Linux服务上的Mysql和Linux系统服务器的基础性能指标,因此安装Linux版本。mysqld_exporter是用来收集Mysql或者MariaDB数据库相关指标的Prometheus插件,node_exporter是用来收集机器系统相关指标的Prometheus插件。
2.1、下载mysqld_exporter、node_exporter地址:https://prometheus.io/download/
仍然是上面那个下载地址,同样,这里采用命令进行下载,仍然下载到/opt目录。
命令:
# cd /opt
# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
# wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
2.2、解压mysqld_exporter、node_exporter
命令:
# tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz
# tar -zxvf node_exporter-1.0.1.linux-amd64.tar.gz
2.3、重命名mysqld_exporter、node_exporter解压目录
命令:
# mv mysqld_exporter-0.12.1.linux-amd64 /opt/mysqld_exporter
# mv node_exporter-1.0.1.linux-amd64 /opt/node_exporter
2.4、运行mysqld_exporter、node_exporter
运行mysqld_exporter需要连接到MYSQL,然后进行授权。
(1)运行mysql_exporter
1)登录mysql(这里要确保服务器已经安装了Mysql数据库,我之前安装过,因此跳过安装Mysql的步骤)
命令:# /home/mysql2/mysql/bin/mysql -u root -p -S /home/mysql2/mysql/mysql.sock(加粗部分为mysql的安装路径)
2)给新建账号mysql_monitor进行授权,密码设置为“XXX”(密码自行决定)
命令:
mysql> grant replication client, process on *.* to mysql_monitor@"localhost" identified by "XXX";
mysql> grant select on performance_schema.* to mysql_monitor@"localhost";
mysql>flush privileges;
3)授权后进入mysql_exporter安装目录,创建.my.cnf配置文件。
命令:
# cd /opt/mysqld_exporter
# vi .my.cnf
在.my.cnf配置文件中添加如下内容后保存退出:
[client]
user=mysql_monitor
password=XXX
4)运行mysql_exporter
命令:
# nohup ./mysqld_exporter --config.my-cnf=.my.cnf &
(2)进入node_exporter安装目录,运行node_exporter
命令:
# cd /opt/node_exporter
# nohup ./node_exporter &
(3)mysql_exporter占用9104端口,node_exporter占用9100端口
3、配置并运行Prometheus
3.1、进入Prometheus安装目录并修改配置文件
命令:
# cd /opt/prometheus
# vi prometheus.yml
在末尾添加如下内容后保存退出:
每个job_name标签指示一个监控的job,targets标签指示受监控的应用的ip和端口号。
注意:这个配置文件要特别注意格式缩进,严格按照他原来的格式进行修改,否则会导致prometheus运行不了。
3.2、运行prometheus
命令:
# nohup ./prometheus --config.file=./prometheus.yml &
运行后可以通过cat nohup.out查看运行日志。
3.3、浏览器访问ip:9090,可以访问prometheus的页面
进入status目录下的Targets页面:
可以看到,我们在配置文件prometheus.yml中配置的3个监控的job状态都是up:
如果状态不是up,则说明该job的配置有问题或者监控的应用没有运行起来,可以返回上述步骤去检查一下。
prometheus对于数据的展现并不直观和美观,所以,此处需要grafana。
4、下载并运行Grafana(Linux版本)
4.1、下载并解压Grafana
下载地址:https://grafana.com/grafana/download
根据上面的指导进行下载。即使用下面的命令进行下载:(此处为从二进制.tar.gz文件安装的方式进行安装)
命令:
# wget https://dl.grafana.com/oss/release/grafana-7.3.4.linux-amd64.tar.gz
# tar -zxvf grafana-7.3.4.linux-amd64.tar.gz
4.2、启动Grafana
命令:
# cd /opt/grafana-7.3.4
# ./bin/grafana-server web
4.3、浏览器访问grafana页面
浏览器中输入ip:3000,可以访问grafana的页面
4.4、浏览器登录grafana
初始登录账号和密码都是:admin
点击“Log in”后会自动让你修改密码。在这里输入新密码XXXX后点击“Submit”(我这里修改的是XXXX)
4.5、添加data source
在选择data source type时选择Prometheus
配置好data source后,点击sava&test按钮,提示“data source is working”则为成功。
4.6、下载dashboard的json文件
配置好data sources后,需要去下载dashboard的json文件并导入,也可以自己去创建dashboard。
这里下载“mysql overview”和“1 Node Exporter 0.16 0.17 for Prometheus监控展示看板”。
dashboard的json文件下载地址:https://grafana.com/grafana/dashboards
选择后,可以预览这个dashbord展示的内容,点击dowload json,下载json文件。这里还需要注意Dependencies里的版本,因为有些版本不支持的问题可能会导致导入的dashboad不显示图标或者图表都是空的,如果下载的dashbord用不了,可以换一个试试。
“1 Node Exporter 0.16 0.17 for Prometheus监控展示看板”的下载方法和上面差不多。
4.6、导入dashboard的json文件
导入“1 Node Exporter 0.16 0.17 for Prometheus监控展示看板”
修改好name和Prometheus node后,点击import
然后这款node的信息就很直观且美观的展现出来了。但是这个dashbord的磁盘总空间,那一块位置提示警告信息“Panel plugin not found: grafana-piechart-panel”,因此接下来需要安装插件。
Grafana-piechart-panel插件是一个饼状图插件,grafana的插件安装很简单。在grafana安装的服务器环境执行下面的命令进行插件安装。
命令:
# cd /opt/grafana-7.3.4/bin
# ./grafana-cli plugins install grafana-piechart-panel
插件安装后重启grafana
命令:
# cd /opt/grafana-7.3.4
# ./bin/grafana-server web
刷新网页后,发现那个警告提示仍然存在。
原因是上述命名下载后的插件默认位置放到了/var/lib/grafana/plugins/下面,而我的grafana安装位置在/opt/grafana-7.3.4/data/plugins,所以使用下面的命令将下载的插件移动到/opt/grafana-7.3.4/data/plugins目录下
命令:# mv /var/lib/grafana/plugins/grafana-piechart-panel /opt/grafana-7.3.4/data/plugins/grafana-piechart-panel
再次重新启动grafna,可以看到红色的警告提示消失了。
------搭建的简单流程结束------