Linux运维-Prometheus监控系统搭建

简介

Prometheus(普罗米修斯)是一个应用十分广泛的一个性能监控平台
监控的原理主要是:
在这里插入图片描述废话不说,直接开始安装。

环境准备

监控主机:

这里我选用的操作系统是openEulerLTS-sp4-aarch,系统配置为8C,16G,存储空间为300G。
在这里插入图片描述

被监控主机:

我这里选则和监控主机是同一台。
如果你有更多的虚拟机或者空闲主机,那么可以添加更多的被监控节点。

软件准备

Prometheus

下载prometheus的LTS版本,也就是长期支持版本,相比最新版本,更具有稳定性和可靠性。
在这里插入图片描述

Grafana

下载grafana,Grafana是一个跨平台的开源的数据分析和可视化工具,可以通过将采集的数据查询然后可视化的展示。
openEuer也属于红帽分支,正常来说,可以兼容centos的软件包。
在这里插入图片描述

node_exporter

节点数据收集程序,node_exporter

在这里插入图片描述

部署Prometheus+Grafana

安装prometheus

将下载好的安装包传输到准备好的操作系统中
在这里插入图片描述
关闭防火墙和selinux,重启生效

[root@localhost data]# systemctl disable firewalld --now
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
[root@localhost data]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g"
[root@localhost data]# reboot

配置时间服务器,如果时钟有偏差,可能导致prometheus报错。
在这里插入图片描述
解压,这里将解压之后的目录改名为prometheus

[root@localhost data]# tar -xf prometheus-2.53.3.linux-arm64.tar.gz
[root@localhost data]# mv prometheus-2.53.3.linux-arm64 prometheus
[root@localhost data]#
[root@localhost data]# ll
total 230204
-rw-r--r--. 1 root root 127711907 Nov  6 09:27 grafana-enterprise-11.3.0-1.aarch64.rpm
-rw-r--r--. 1 root root   9956552 Nov  6 09:30 node_exporter-1.8.2.linux-arm64.tar.gz
drwxr-xr-x. 4 1001  127       132 Nov  5 20:38 prometheus
-rw-r--r--. 1 root root  98057811 Nov  6 09:30 prometheus-2.53.3.linux-arm64.tar.gz

查看prometheus.yml配置文件,按需调整文件。
在这里插入图片描述

启动prometheus
在这里插入图片描述在本地浏览器输入10.253.168.104:9090访问prometheus
看到如下界面说明prometheus部署成功。
在这里插入图片描述为prometheus服务创建service并设置开机自动启动
在这里插入图片描述
这里的user,group可以用最小权限原则修改为普通用户,但是要注意普通用户的权限问题;
可执行文件位置和配置文件位置按实际的情况填写。

使用ss-antp | grep 9090 查找当前手工启动的prometheus服务的pid,使用kill -9 pid杀掉进程。
在这里插入图片描述使用systemctl启动prometheus服务并设置开机自启动
在这里插入图片描述到这里,Prometheus服务就配置完成了。

安装grafana

进入data目录,找到提前下载好的安装包,使用yum安装即可。
在这里插入图片描述配置grafana-server服务开机自启动
在这里插入图片描述访问IP:3000确认grafnan服务是否正常。
默认用户名及密码分别是admin,admin
在这里插入图片描述正常登录之后如下所示,第一次登录一般会要求修改默认密码。
在这里插入图片描述
接下来添加数据源。
在这里插入图片描述
选择prometheus
在这里插入图片描述
添加你的prometheus服务地址和端口
在这里插入图片描述拉到最底部,保存退出
在这里插入图片描述
添加grafana监控模板,这里用的是8919模板
如果你的机器可以连接到外网, 那么直接输入id自动下载,如果不能连接外网,则需要访问
https://grafana.com/grafana/dashboards/网站寻找你需要的模板,如下是我使用的12633模板,下载json文件导入即可。在这里插入图片描述
在这里插入图片描述到这里监控系统就已经搭建完成了,只是没有数据源,没法显示具体的信息。
在这里插入图片描述

被监控主机中安装node_exporter

找到下载好的node_exporter压缩包,解压缩。
在这里插入图片描述进入解压之后的目录,将node_erpoter可执行文件cp/usr/local/bin/目录下
在这里插入图片描述
为node_erporter创建service,使用systemctl管理
在这里插入图片描述
修改监控主机Prometheus服务的配置文件,添加job
主要在对应该控件软件安装目录下/data/prometheus/prometheus.yml这个文件中;

在原文件的scrape_configs模块下增加如下job配置内容:

  - job_name: 'Kingstar_ARM_prometheus'
    static_configs:
        - targets: ['10.253.168.104:9100']

job就是你监控的主机组,你要添加更多的节点,写入到targets后面即可,会自动归属到对应的job

修改后/data/prometheus/prometheus.yml如下所示:

[root@localhost ~]# cat /data/prometheus/prometheus.yml
# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
#      - targets: ["localhost:9090"]
      - targets: ["10.253.168.104:9090"]


  - job_name: 'Kingstar_ARM_prometheus'
    static_configs:
        - targets: ['10.253.168.104:9100']

2)检查配置是否正确:
每次修改配置文件完成,用promtool检测配置文件是否正确。如下检查配置文件正确方可执行下一步。

[root@localhost ~]# /data/prometheus/promtool check config /data/prometheus/prometheus.yml
Checking /data/prometheus/prometheus.yml
 SUCCESS: /data/prometheus/prometheus.yml is valid prometheus config file syntax

[root@localhost ~]#

3)重启prometheus服务进行相关测试

systemctl restart prometheus

查看http://10.253.168.104:9090/targets地址,你那边需要换成你对应的prometheus服务的地址
job和被监控节点正确显示就没有问题
在这里插入图片描述

刷新grafana,如果未采集到信息,重启下prometheus服务。
如果你看到仪表盘显示你添加的主机,那监控系统的搭建就算是完成了。
在这里插入图片描述如果想要添加其他节点,将node_expoter可执行文件/usr/lib/systemd/system/node_expoter.service文件复制到其他节点,并使用systemctl启动node_expoter服务并设置开机自启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秣宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值