性能监控 之 Prometheus 三剑客安装案例(转载)

原贴作者:魂尾ac
原贴地址:https://blog.csdn.net/weixin_40331132/article/details/125815090?spm=1001.2014.3001.5501
本文是我自己根据原贴操作,稍微改动了一些编辑的。

一、三剑客介绍

Grafana:可视化大型测量数据工具,提供了强大和优雅的方式去创建、共享、浏览数据。但当有他还不能监控服务器信息。还需要下面的两个工具。
Prometheus:一个开源的监控工具,用于收集和聚合指标作为时间序列数据。但纯有这个也无法监控服务器信息,还需要一个专业的信息采集服务。
Node_exporter:是prometheus官方提供的agent,项目被托管在prometheus的账号之下,需要被安装服务器上,然后才能采集到服务器数据信息。
三剑合一后页面呈现如下:
在这里插入图片描述
三剑客安装顺序
其实三剑客安装顺序不讲究,随便安装即可,但对于初学,个人顺序如下

Grafana -> prometheus -> node_exporter

从外层到里面,grafana 需要配置prometheus的服务器地址,prometheus需要配置node_exporter的服务器地址(可配置多台,类似监控服务器集群);如何配置,在‘工具安装’后‘三剑合一’章节描述。

二、工具安装

    声明:本文档里的工具均在linux服务器上安装。

    安装开始前,在/usr 目录下创建一个pthreetools目录,

    命令:mkdir /usr/pthreetools

    进入:cd /usr/pthreetools

    后续三个工具便安装在这个目录下

1、grafana安装

       官网下载路径:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&platform=linux

(1)下载与解压:

这里下载写本文档的最新版本。

在/usr/pthreetools目录执行安装与解压

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.2.linux-amd64.tar.gz

解压

tar -zxvf grafana-enterprise-9.0.2.linux-amd64.tar.gz

修改目录文件

mv grafana-9.0.2 grafana

(2)创建grafana的用户、数据目录、配置权限

新增一个非登录用户

useradd -s /sbin/nologin -M grafana

创建grafana数据目录

mkdir /usr/pthreetools/grafana/data

给grafana目录配置grafana用户权限

chown -R grafana:grafana /usr/pthreetools/grafana

(3)修改grafana配置文件

打开配置文件

vim /usr/pthreetools/grafana/conf/defaults.ini

i编辑下页字段

data = /usr/pthreetools/grafana/data

logs = /usr/pthreetools/grafana/log

plugins = /usr/pthreetools/grafana/plugins

provisioning = /usr/pthreetools/grafana/conf/provisioning

保存,点击esc输入 :wq

(4)创建服务启动文件

在/usr/lib/systemd/system/目录下新增一个grafana.service文件

vim /usr/lib/systemd/system/grafana.service

将下面一段输入:

[Unit]

Description=Grafana

After=network.target

[Service]

User=grafana

Group=grafana

Type=notify

ExecStart=/usr/pthreetools/grafana/bin/grafana-server -homepath /usr/pthreetools/grafana

Restart=on-failure

[Install]

WantedBy=multi-user.target

保存点击esc输入:wq
重新载入:

systemctl daemon-reload

(5)启动grfana

启动

systemctl start grafana

查看状态

systemctl status grafana

设置可用

systemctl enable grafana

可以通过 ss -anlt查看 3000端口是否有(默认3000)

在这里插入图片描述
然后输入ip a查询ip

小知识点,linux的网卡配置一般是ens33,所以查看ip也看这个标识
在这里插入图片描述
上图ip为 192.168.30.140在同一网段中的windows系统浏览器中输入

192.168.30.140:3000

进入网站,初始账号密码是admin/admin
在这里插入图片描述

【注】此处由于本人IP与服务器网段不在同一网段,无法通过IP直接访问,所以做了一步NGINX反向代理的操作

(6)设置Nginx反向代理grafana

vim /usr/pthreetools/grafana/conf/defaults.ini

编辑需要外网访问域名,把domain改成需要映射的外网域名,root_url最后面加上/grafana/
在这里插入图片描述
修改Nginx配置文件,在nginx.conf里面添加一个location:

 location /grafana/ {
        root   html;
        #index  index.html index.htm;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS,DELETE;
        add_header 'Access-Control-Allow-Headers' 'userId,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
        proxy_pass http://******:3000/;#此处填写grafana服务器地址
        rewrite ^/grafana/(.*) /$1 break;
        proxy_set_header   Host $host;
        }

配置完成之后重启nginx

/usr/locoal/nginx/sbin/nginx -s reload

此时通过你配置的域名就可以直接访问grafanan了,但是IP加端口的方式就无法访问了
打开如下,暂时不配置东西
在这里插入图片描述

2、prometheus安装

官网下载页:

Download | Prometheus

(1)下载与安装

下载(这里下载文档编写时的最新版本)

wget https://github.com/prometheus/prometheus/releases/download/v2.37.0-rc.1/prometheus-2.37.0-rc.1.linux-amd64.tar.gz

解压

tar -zxvf prometheus-2.37.0-rc.1.linux-amd64.tar.gz

更改目录

mv prometheus-2.37.0-rc.1.linux-amd64/ prometheus

(2)配置权限

添加用户

useradd -M -s /sbin/nologin prometheus

新增数据保存目录

mkdir -p /data/prometheus

加权限

chown -R prometheus.prometheus /usr/pthreetools/prometheus /data/prometheus

(3)prometheus.yml配置(可跳过,暂时无需配置)

进入到prometheus目录下,找到prometheus.yml文件,查看:cat prometheus.yml

可以看到如下内容,先不要管这些,只需要知道最下面的targets字段是配置监控目录机器ip:port的

在这里插入图片描述

(4)配置prometheus的启动service文件

打开一个编辑文件

vim /usr/lib/systemd/system/prometheus.service

在里面输入

[Unit]

Description=The Prometheus Server

After=network.target

[Service]

Restart=on-failure

ExecStart=/usr/pthreetools/prometheus/prometheus --config.file=/usr/pthreetools/prometheus/prometheus.yml

RestartSec=15s

[Install]

WantedBy=multi-user.target

配置完成后,重载一下systemctl

systemctl daemon-reload

(5)启动prometheus

systemctl start prometheus

查看9090端口,prometheus默认端口

ss -anlt

在这里插入图片描述

设置可用

systemctl enable prometheus

在同网段浏览器打开 ip:9090

在这里插入图片描述

3、node_exporter监控服务安装

prometheus负责汇总多个服务器的node_exporter收集的数据在grafana形象的展示出来。

所以node_exporter需要安装在监控的目标机上(本文档与grafana、prometheus安装在一台机器上,自己监控自己)

官网下载页:下载地址

(1)下载与解压

下载

wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

解压

tar -zxvf node_exporter-1.3.1.linux-amd64.tar.gz

改目录名

mv node_exporter-1.3.1.linux-amd64/ node_exporter

(2)配置启动service文件

vim /usr/lib/systemd/system/node_exporter.service

输入

[Unit]

Description=The node_exporter Server

After=network.target

[Service]

ExecStart=/usr/pthreetools/node_exporter/node_exporter

Restart=on-failure

RestartSec=15s

SyslogIdentifier=node_exporter

[Install]

WantedBy=multi-user.target

重载systemctl

systemctl daemon-reload

(3)启动服务

systemctl start node_exporter

查看9100端口是否启动(默认9100)

ss -anlt

在这里插入图片描述
同网段用浏览器打开ip:9100

展示如下,即安装成功
在这里插入图片描述

三、三剑合一

1、配置prometheus :node_exporter

打开prometheus的配置文件

vim /usr/pthreetools/prometheus/prometheus.yml

将job_name修改为group1

将targets: 数组里添加我们node_exporter服务器ip与端口(可以看出它是一个[],列表,可以配置多个服务器,以逗号分割)

在这里插入图片描述
配置完成

可以检查一下文件是否正常

进入个prometheus目录下

./promtool check config prometheus.yml

如下图输出SUCCESS表示配置文件正常
在这里插入图片描述

重启服务prometheus服务

systemctl restart prometheus

重启成功后

用浏览器打开ip:9090打开prometheus查看targets是不是有目标了

在这里插入图片描述

2、grafand配置展示prometheus

(1)在浏览器里打开grafana

设置-Data source - Add data souce - Prometheus

添加成功如下图
在这里插入图片描述
然后点击上图数字3,打开下图配置prometheus相关信息,配置好prometheus服务器Ip端口,

在这里插入图片描述在这里插入图片描述

然后点击save&test
在这里插入图片描述

3、配置展示模板

(1)下载模板

先下载一个服务器信息展示模板,下面是某个模板的链接

https://grafana.com/grafana/dashboards/11074-node-exporter-for-prometheus-dashboard-en-v20201010/
在这里插入图片描述
Download JSON: 点击下载模板的json

Copy ID to clipboard:点击复制模板的id

(2)配置模板

在Dashboards–Import
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入模板ID,点击load
在这里插入图片描述
点击Import之后就能看到监控界面
在这里插入图片描述

4、监控多台服务器

前面讲的是作为监控主机的服务器安装,下面说一下如何监控多台服务器

(1)在需要被监控的服务器安装Node_exporter

参考前面安装步骤

(2)修改配置

然后在监控主机的Prometheus 的配置文件的target里加上被监控机器的IP

vim /usr/pthreetools/prometheus/prometheus.yml

在这里插入图片描述
修改完配置记得重载一下并重启prometheus服务

systemctl daemon-reload
systemctl restart prometheus

(3)在grafana前端添加被监控的服务器

重复”grafand配置展示prometheus“里的步骤,在添加DataSource的时候填写上prometheus所在服务器就可以了
然后返回到监控界面就可以看到新增的服务器了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值