之前我们介绍的都是对单机的监控,今天介绍下用Prometheus对集群多台机器的系统资源进行监控。
我们需要在被压测服务器上安装 node_exporter和mysql_exporter,通过这两个工具对操作系统和mysql进行监控,将收集的数据存储到Prometheus,Prometheus其实有点像个数据库,然后通过Grafana从Prometheus中读取数据进行展示。
1.环境准备
1.1.环境准备
关闭所有Linux机器的防火墙:
systemctl stop firewalld.service
保证所有Linux机器的时间是准确的,执行date命令检查;如果不准确,可以使用 ntp 同步最新网络时间,命令如下:
yum install -y ntp
ntpdate pool.ntp.org
1.2.运行环境
运行环境为:CentOS7.5 64位操作系统.
2.node_exporter安装
2.1.下载&上传
node_exporter需要安装在被压测服务器上,首先我们需要下载node_exporter,网盘链接如下:https://pan.baidu.com/s/1t81wou7zmNA44V3A5POxDQ,提取码:s91f。
下载成功后通过rz命令上传到任意目录,我还是上传到之前的home/tools目录,如下图所示。
2.2.启动
上传成功后执行命令将压缩包解压,然后对文件进行重命名:
解压命令:
tar xvf node_exporter-0.18.1.linux-amd64.tar.gz
重命名:
mv node_exporter-0.18.1.linux-amd64 node_exporter
进入到解压后的文件夹中,执行启动脚本命令如下:
#进入node_exporter目录
cd ./node_exporter#启动node_exporter
nohup ./node_exporter &
2.3.检查是否启动成功
启动之后执行命令查看当前目录下nohup文件日志,如果出现下述日志代表启动成功,如下图所示:
tail -100 nohup.out
3.部署prometheus
3.1.下载&上传
部署prometheus的时候最好将prometheus系统安装在其它服务器上,如果没有资源也可以将prometheus和node_exporter放到同一台服务器。
通过网盘链接下载prometheus,然后通过rz命令将压缩文件上传到home/tools目录下。网盘链接:https://pan.baidu.com/s/1U4lXhWxJDxRnvsKtd7Pj8g,提取码:471s。
3.2.配置&启动
上传成功后执行命令将压缩包解压,然后对文件进行重命名:
解压命令:
tar xvf prometheus-2.15.2.linux-amd64.tar.gz
重命名:
mv prometheus-2.15.2.linux-amd64 prometheus-2.15.2
进入到解压后的文件夹中,修改配置文件,添加要监控的服务器信息,因为我的是本机所以是localhost。
vi prometheus.yml
在scrape_configs 配置项下添加Linux 监控的job,其中 IP 修改为上面部署node_exporter机器的ip,端口号为9100,需要注意缩进。
- job_name: 'node'static_configs:- targets: ['localhost:9100']
配置好了之后,保存配置文件,然后启动prometheus,执行命令:
nohup ./prometheus &
3.3.检查是否启动成功
检查当前目录下nohup.out 文件日志,如果有以下信息,说明启动成功。
tail -500f nohup.out
在浏览器中访问部署的prometheus:http:你的ip:9090/graph。
点击菜单栏“Status-Targets”,看到页面中有如下 node 节点,代表 prometheus 和 node_exporter 链接成功,如下图所示。
4.安装grafana并使用
4.1.下载&安装
下载grafana安装包,然后通过rz命令上传到linux服务器,和prometheus使用同一台即可,百度网盘链接:https://pan.baidu.com/s/1R4TKBUM0hrkUU0aAJNFSmw,提取码:oftm。
执行命令安装,这个命令比较特殊需要用localinstall 来安装。
yum localinstall -y grafana-7.3.4-1.x86_64.rpm
4.2.启动grafana&登录
执行命令可以启动grafana,默认账号密码都是admin,点击登录,系统提示需要修改密码,点击“Skip”跳过即可,如下图所示。
页面访问的url为:http://你的ip:3000/。
systemctl start grafana-server
4.3.配置数据源
点击页面上的data sources,在新页面选择prometheus,然后配置URL,点击“save and test”,如果提示success,代表配置成功,如下图所示。
4.4.导入监控模板
打开grafana 官网,查找官网提供的prometheus监控模板:https://grafana.com/grafana/dashboards,找到对应模板的id,然后点击“+”号,点击import,填写模板如:11074,点击load,然后选择数据源,点击import,会跳转到监控页面如下图所示。
4.5.压测查看结果
启动jmeter脚本对服务器压测1200秒,对结果进行观测,能够看到grafana上已经产生了数据,如下图所示。
5.监控多台服务器
按照上述步骤配置多台机器就可以实现对多个服务器资源的监控。
下一篇将介绍如何对mysql进行监测,步骤和原理其实和监控服务器系统差不多。