从0开始搭建prometheus+node_exporter+grafana监控平台
在进行性能测试时,想直观看到服务器的瓶颈在哪里,cpu、内存占用多少,什么原因导致性能上不去等等,而prometheus+node_exporter+grafana可以把从服务器(即被监控机器)采集到的信息直观进行展示。
监控原理:
1、prometheus :虽然说是监控平台,但是实际上是一套数据库。默认端口号:9090
2、mysql_exporter: 可以理解成程序或者软件,他是工作在我们要监控的目标服务器上,主要是用于监控mysql的数据。(本文不涉及)
3、node_exporter: 他的作用主要是收集性能测试的数据,如cpu、内存磁盘、网络等信息,然后将数据保存到prometheus,相当于将数据存入到数据库中。默认端口号:9100
4、prometheus 只能用于做数据存储,不能做展示,因此我们需要用到grafana组件。
5、grafana 主要是用于数据展示,并且可以做到定时读取数据。默认端口号:3000
工作中可能会有这么几种场景:
1、一台服务器同时部署安装prometheus+node_exporter+grafana,即自己监控自己。
2、一台压测机器,若干台服务器,此时,压测机器上需要部署prometheus和grafana,每台服务器上都需要安装node_exporter。
本篇我选择第2种场景进行讲解,一台压测机器,一台服务器,皆为CentOS7 Minimal版本。
一、安装VMWare16
1、下载:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
2、无脑下一步
3、注册码网上很多,不赘述
二、新建CentOS7服务器和压测机
1、新建两个CentOS7虚拟机,都用Minimal版本的iso镜像文件即可,也就是纯命令行版本的CentOS7,不要使用DVD版本的iso镜像文件,因为实际的生产环境大多都是命令行版本服务器
2、因为精简版本的linux没有ifconfig命令,所以需要用到命令 ip addr
2.1、输入命令vi /etc/sysconfig/network-scripts/ifcfg-ens33,将最后一项改为ONBOOT=yes
2.2、重启网络服务:sudo service network restart
3、修改时区:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4、关闭防火墙
4.1、查看防火墙状态:systemctl status firewalld
4.2、暂时关闭防火墙:systemctl stop firewalld
4.3、永久关闭防火墙:systemctl disable firewalld
4.4、重启防火墙: systemctl enable firewalld
4.5、永久关闭后重启:chkconfig iptables on
三、prometheus
Prometheus安装部署在压测机上
1、下载:https://prometheus.io/download/
2、解压:tar -zxvf prometheus-2.20.1.linux-amd64.tar.gz 如果报没有权限则执行:chmod prometheus-2.20.1.linux-amd64.tar.gz 后再执行上面语句
3、启动服务:
cd prometheus-2.20.1.linux-amd64
./prometheus
有如下提示后
打开宿主机浏览器,前往http://压测机ip:9090 (ip为压测机地址,端口默认是9090)
前往http://压测机ip:9090/targets
四、node_exporter
node_exporter需安装在被测服务器上。
1、下载:https://prometheus.io/download/
2、解压:tar -zxvf node_exporter-1.1.1.linux-amd64.tar.gz
3、在压测机中打开prometheus.yml,如下
4、在服务器节点中打开node_exporter服务:
cd node_exporter
./node_exporter
有如下提示后,
打开宿主机浏览器,前往http://压测机ip:9090/targets,显示如下,说明配置成功
五、grafana
grafana需安装在压测机上,即和prometheus在同一台机器上。
1、下载:https://mirrors.huaweicloud.com/grafana/9.0.1/,选择grafana-enterprise-9.0.1.linux-amd64.tar.gz下载
2、打开新的压测机的远程会话连接
3、解压:tar -zxvf grafana-enterprise-9.0.1.linux-amd64.tar.gz
4、启动服务:
cd grafana-9.0.1/bin
./grafana-server
5、打开宿主机浏览器,前往http://压测机ip:3000/,出现如下页面,输入用户名/密码:admin/admin登录 ,首次会让你设置密码。如果不设置的话,可以直接点击skip
6、登录之后,会显示下面的页面,点击添加数据源
7、选择prometheus
8、直接添加压测机ip+端口号,我们之前配置的是默认端口9090,添加点击保存即可,其他的都可以不填
9、点击save&test,出现如下,说明成功
10、导入监控模板
打开 grafana 官网,查找自己喜欢的想要的官网提供的 prometheus 监控模板并记录模板id,这里我使用的是12884,链接: https://grafana.com/grafana/dashboards
点击import,然后填入id,点击load
然后选择数据源,点击import
11、进入DashBoard
至此,整个搭建过程已完成,至于grafana可视化界面更多具体的玩法,请大家自行再做学习,我也会找时间写一下相关方面知识。