Prometheus+Grafana实现监控系统性能指标和数据展示(单服务器版)

一、环境准备

服务器A(Prometheus+Grafana服务器):CentOS7.6系统,ip:192.168.245.100

服务器B(被监控服务器):CentOS7.6系统,ip:192.168.245.210

注意:服务器之间必须保持时间同步,可以做一下时间同步操作,这里测试就省略了!

二、所需软件包

prometheus-2.27.1.linux-amd64.tar.gz
node_exporter-1.1.2.linux-amd64.tar.gz
grafana-8.0.2-1.x86_64.rpm

以上软件包都是从官网下载

三、搭建步骤

1、搭建Prometheus

将安装包上传到服务器A上,解压到/usr/local目录下,由于解压之后名字太长不方便访问,把名称改短点
解压目录当中有两个重要文件二进制启动文件和yml文件 prometheus和prometheus.yml
为了方便使用给启动命令做个软链接

[root@prometheus opt]# tar xf prometheus-2.27.1.linux-amd64.tar.gz -C /usr/local
[root@prometheus local]# mv prometheus-2.27.1.linux-amd64/ prometheus-2.27.1

[root@prometheus local]# cd prometheus-2.27.1/
[root@prometheus prometheus-2.27.1]# ls
console_libraries  consoles  LICENSE  NOTICE  prometheus  prometheus.yml  promtool


[root@prometheus prometheus-2.27.1]# ln -s /usr/local/prometheus-2.27.1/prometheus /usr/local/bin/

启动prometheus,启动的同时指定配置文件,并且放在后台运行

[root@prometheus prometheus-2.27.1]#  prometheus --config.file=/usr/local/prometheus-2.27.1/prometheus.yml &

查看下prometheus的端口9090,如果被占用表示启动成功

[root@prometheus prometheus-2.27.1]# lsof -i:9090
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 10999 root    7u  IPv6  73852      0t0  TCP *:websm (LISTEN)
prometheu 10999 root   10u  IPv6  70021      0t0  TCP localhost:50558->localhost:websm (ESTABLISHED)
prometheu 10999 root   11u  IPv6  72518      0t0  TCP localhost:websm->localhost:50558 (ESTABLISHED)
prometheu 10999 root   13u  IPv6  70028      0t0  TCP prometheus:websm->192.168.245.1:60530 (ESTABLISHED)
prometheu 10999 root   14u  IPv6  70030      0t0  TCP prometheus:websm->192.168.245.1:60531 (ESTABLISHED)

这时就可以访问web页面了

http://192.168.245.100:9090/

在这里插入图片描述
选择targets就可以看到被监控的目标了,当然现在只有一个被监控主机,那就是Prometheus服务器本身
在这里插入图片描述

在这里插入图片描述
访问http://192.168.245.100:9090/metrics就可以看到Prometheus抓取到监控数据
在这里插入图片描述
太多了,我们随便选择一个cpu的指标查看一下
在这里插入图片描述
点击Graph可以看到图形化界面
在这里插入图片描述

2、安装node_exporter

Prometheus安装好以后默认是只能监控本机指标的,如果想要监控其他机器的指标,必须要在其他机器上安装node_exporter用于收集性能参数给Prometheus,在服务器B上安装node_exporter

同样也是解压到/usr/local/目录中并改名,并给启动命令做软链接

[root@localhost ~]# tar xf node_exporter-1.1.2.linux-amd64.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ls
bin  etc  games  include  lib  lib64  libexec  node_exporter-1.1.2.linux-amd64  sbin  share  src

[root@localhost local]# mv node_exporter-1.1.2.linux-amd64/ node_exporter-1.1.2

[root@localhost local]# cd node_exporter-1.1.2/
[root@localhost node_exporter-1.1.2]# ls
LICENSE  node_exporter  NOTICE

[root@localhost node_exporter-1.1.2]# ln -s /usr/local/node_exporter-1.1.2/* /usr/local/bin/

启动node_exporter,也是以后台的方式启动,并且是nohup表示不中断持续运行此程序

[root@localhost node_exporter-1.1.2]# nohup node_exporter &
[1] 76094
[root@localhost node_exporter-1.1.2]# nohup: 忽略输入并把输出追加到"nohup.out"

查看如果9100端口被占用说明启动成功

[root@localhost node_exporter-1.1.2]# netstat -anpt | grep 9100
tcp6       0      0 :::9100                 :::*                    LISTEN      76094/node_exporter 

访问网页查看被抓取到的数据,这些数据都可以被Prometheus监控

http://192.168.245.210:9100/metrics

在这里插入图片描述
想要被Prometheus监控必须要在配置文件中加入以下配置
创建一个job叫做agent
这个job里的被监控目标是210这台主机,也就是服务器B,注意端口是9100,因为他是通过node_exporter来反馈的
当然这里也可以看到默认监控目标是本机的

[root@prometheus prometheus-2.27.1]# vim prometheus.yml 

在这里插入图片描述
修改完配置文件之后需要重启服务,这里先杀掉进程再启动

[root@prometheus prometheus-2.27.1]# pkill prometheus

[root@prometheus prometheus-2.27.1]# prometheus --config.file=/usr/local/prometheus-2.27.1/prometheus.yml &
[1] 11466

[root@prometheus prometheus-2.27.1]# lsof -i:9090
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 11466 root    8u  IPv6  78577      0t0  TCP *:websm (LISTEN)
prometheu 11466 root   11u  IPv6  81325      0t0  TCP localhost:50560->localhost:websm (ESTABLISHED)
prometheu 11466 root   12u  IPv6  74624      0t0  TCP localhost:websm->localhost:50560 (ESTABLISHED)

再次访问9090端口的页面就能看到多了一个监控节点
在这里插入图片描述

3、搭建Grafana

现在监控没有问题了,如果展示这些被监控的数据呢,这就需要Grafana了,可以到以下网址去查看如何安装Grafana

https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1

在这里插入图片描述
运行以下两条命令即可,很简单

wget https://dl.grafana.com/oss/release/grafana-8.0.2-1.x86_64.rpm
sudo yum install grafana-8.0.2-1.x86_64.rpm

安装完后启动并设置开机自启

[root@prometheus ~]# systemctl start grafana-server.service 
[root@prometheus ~]# systemctl enable grafana-server.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.

Grafana的默认端口号是3000

[root@prometheus ~]# netstat -atpn | grep grafana
tcp        0      0 192.168.245.100:37606   34.120.177.193:443      ESTABLISHED 11976/grafana-serve 
tcp6       0      0 :::3000                 :::*                    LISTEN      11976/grafana-serve 

这时就可以访问Grafana的主页了

http://192.168.245.100:3000/     登陆grafana,默认登陆名为admin,密码也是admin

在这里插入图片描述

但第一次就要求改密码
在这里插入图片描述
改完密码进去之后就是以下页面,如图所示,添加数据源
在这里插入图片描述
当然是选择Prometheus的数据源
在这里插入图片描述
然后进行基本配置,如名称,URL
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

保存之后出现如下信息表示正常
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、创建dashboard

配置好了数据源之后就要配置展示页面了,就是面板dashboard,这里可以选择import导入,在本案例中先选择自己创建一个
在这里插入图片描述

我们创建一个dashboard用于展现系统cpu的平均负载情况,连续添加3个查询,分别是1分钟,5分钟,15分钟的cpu负载
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
添加好之后就是如下这个效果图

在这里插入图片描述
设置好别忘了先save再Apply
在这里插入图片描述
关于面板的展示效果在右侧也可以做一些个性化的设置
在这里插入图片描述

5、验证数据展示

返回页面就可以看到如下展示界面了
在这里插入图片描述


版权声明:本文为shengjie87原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。