Prometheus+Grafana实现监控系统性能指标和数据展示(单服务器版)
Prometheus+Grafana搭建简单监控实例一、环境准备二、所需软件包三、搭建步骤1、搭建Prometheus2、安装node_exporter3、搭建Grafana4、创建dashboard5、验证数据展示一、环境准备服务器A(Prometheus+Grafana服务器):CentOS7.6系统,ip:192.168.245.100服务器B(被监控服务器):CentOS7.6系统,ip:
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、验证数据展示
返回页面就可以看到如下展示界面了
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)