在进行性能测试时,想直观看到服务器的CPU、内存占用多少,可以搭建prometheus+node_exporter+grafana来实现。 通过 node_exporter把从服务器(即被监控机器)采集到的信息发到prometheus,经prometheus数据处理后在grafana进行直观的展示。
1.node_exporter安装(安装在被测服务器上)
node_exporter是prometheus官方提供的agent,是我们最常用的exporter之一。它是一个搜集器,负责收集操作系统上的cpu,网络,内存等信息。
安装node_exporter之前,需要先确保所在liunx已经安装了java,若没有安装的话,先去装一下~~
(1)下载安装包
先去prometheus的网站(https://prometheus.io/download/)找到要下载的node_exporter,选择对应的版本即可
在服务器执行命令:
wget -c https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
如图所示:
(2)解压
tar -zxvf node_exporter-1.4.0.linux-amd64.tar.gz -C 指定目录
如图所示,这里解压到上一级目录 root 目录下
(3)进入解压后的目录,启动node_exporter(默认监听端口是9100)
./node_exporter &
(4)浏览器访问 服务器IP:9100,看是否能打开,若提示不可用,需要去服务器的防火墙开放9100的端口,看到以下页面说明安装配置完成
点击Metrics,看到类似页面
2.安装Prometheus(此处演示的是在MacOS上安装)
Prometheus是一套开源的监控&报警&时间序列数据库的结合,它既适用于面向服务器等硬件指标的监控,也适用于高动态面向服务架构的监控,本文安装配置的prometheus会主动去node_exporter将搜集的信息拉取过来(我们在prometheus的yml配置文件上,配置了node_exporter的地址),将数据存储在Prometheus 自带的时序数据库中。
(1)先去prometheus的网站(https://prometheus.io/download/)找到需要下载的安装包
我是mac,所以直接点击第一个进行下载的,若是linux,执行如下命令(改成当前最新版本)
wget -c https://github.com/prometheus/prometheus/releases/download/v2.37.1/prometheus-2.37.1.linux-amd64.tar.gz
(2)进入包所在的目录,解压(解压可选择解压到什么目录)
tar -zxvf prometheus-2.37.1.linux-amd64.tar.gz
(3)使用命令 vi prometheus.yml 编辑prometheus.yml文件
# 在prometheus.yml文件中加入这种格式的配置,IP换成自己的(192.168.1.1:9100是我随便写的):
- job_name: 'test'
static_configs:
- targets: ['192.168.1.1:9100']
注意:缩进和格式需要与上面红框中的保持一致~~
targets 里面是被监控的目标机器的IP和端口,配置后,按 【esc】回到命令模式,然后按【:wq】保存退出即可。
(4)启动Prometheus
在prometheus对应的目录下,使用如下命令启动
./prometheus --config.file=prometheus.yml &
(5)访问 ip:9090 (我这边是本地装的,所以是127.0.0.1,你们要是服务器安装的话,换成服务器的ip就好了,若无法访问,检查一下 防火墙9090 端口是否打开,9090是prometheus的默认端口)
能看到如下页面
菜单栏选择Status 下拉选择“Targets”
红框里就是我们刚配置的
3.安装grafana(此处演示的是在MacOS上安装)
Grafana是一款采用Go语言编写的开源应用,主要用于大规模指数数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具。
(1)在 https://grafana.com/grafana/download 里下载grafana
若是linux安装的话,官网上也告诉了需要执行的命令,比如是CentOS的,按上面操作就好了
我这边是mac,选择mac版本,这边两个命令都给出来了,照着执行就可以
![](/i/l/?n=22&i=blog/1682368/202211/1682368-20221102151118783-1506733960.png)
进入终端,进入想要放包的目录,执行第一条命令,下载对应的包
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.2.darwin-amd64.tar.gz
解压( 后面可以指定解压目录,这样就是解压在本文件夹内)
tar -zxvf grafana-enterprise-9.2.2.darwin-amd64.tar.gz -C 你想要解压的目录
(2)进入解压后的目录/conf,里面有个defaults.ini文件,这是默认的配置文件,我们不要修改。拷贝该文件并重命名为 custom.ini(可以使用cp命令拷贝,也可以直接复制修改名字)
编辑custom.ini文件,先修改日志文件保存的目录,如图所示修改成 我自己在解压后目录下手动创建的logs文件夹,其他的有需要在修改(grafana默认端口是3000,我们这里暂时先不修改了)
在终端执行如下命令,记得将目录换成你自己的就可以
①指定自定义的配置文件的路径
②指定 homepath 的路径,否则程序启动不了
③指定pid文件的路径(会自动创建pid文件)
nohup /Users/liyiming/FLJWorkspace/grafana-9.2.1/bin/grafana-server -config "/Users/liyiming/FLJWorkspace/grafana-9.2.1/conf/custom.ini" -homepath "/Users/liyiming/FLJWorkspace/grafana-9.2.1" -pidfile "/Users/liyiming/FLJWorkspace/grafana-9.2.1/pid" web > logs/grafana.out 2>&1 &
(若没有权限操作,前面加sudo)
(说明:以上安装若嫌麻烦,也可以通过Home Brew安装,Home Brew安装较为简单,本文不讲解)
(3)启动Grafana,我是本地安装故使用:127.0.0.1:3000打开即可
(默认端口3000,默认登录密码是 admin/admin)
4.将prometheus作为数据源,配置到Grafana中
(1)点击设置图标,点击【Data sources】
(2)在页面点击 Add data source
(3)选择Prometheus
(4)填写名称和URL(URL一定要填写,就是第二大步我们安装的Prometheus的地址),其他项暂不填写,保存即可,这样我们的数据源就配置完成了
5.配置Dashboards
(1)来到Grafana的官网,找到Dashboards
https://grafana.com/grafana/dashboards/
找评分好一点,下载多的,点进去
可以看到这边有个ID,我们就使用这个ID
(2)来到Grafana,点击Dashboards,选择import
输入刚刚我们选择的ID 如:11074,点击Load
VictoriaMetrics 中选择刚刚我们配置的数据源,其他项都是默认值,不用修改,直接点击import
(3)然后数据就出来了
以上所有配置就完成啦~~
来来来~~~一起打怪升级吧
公众号
个人微信 --> 添加请注明来意