【云原生监控】Prometheus监控系统

news2024/12/24 8:23:13

Prometheus监控系统

文章目录

  • Prometheus监控系统
    • 资源列表
    • 基础环境
    • 一、部署Prometheus服务
      • 1.1、解压
      • 1.2、配置systemctl启动
      • 1.3、监听端口
      • 1.4、访问Prometheus仪表盘
    • 二、部署Node-Exporter
      • 2.1、解压
      • 2.2、配置systemctl启动
      • 2.3、监听端口
      • 2.4、访问node-exporter仪表盘
    • 三、配置Prometheus收集Exporter采集的数据
      • 3.1、编辑Prometheus配置文件
      • 3.2、重新加载Prometheus服务
      • 3.3、刷新Prometheus页面
    • 四、执行PromeSQL
      • 4.1、查看存活的节点
      • 4.2、查看CPU指标
    • 五、Grafana展示数据
      • 5.1、安装并启动Grafana
      • 5.2、监听端口
      • 5.3、访问Grafana页面
      • 5.4、配置数据源
      • 5.5、新建仪表盘
    • 六、创建一个数据展示图
      • 6.1、测试代码
      • 6.2、写入Grafana图形
      • 6.3、更改可视化监控页面
      • 6.4、保存仪表盘

资源列表

操作系统配置主机名IP
CentOS 7.92C4Gprometheus-server192.168.93.101
CentOS 7.92C4Gnode-exporter192.168.93.102
CentOS 7.92C4Ggrafana192.168.93.103

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname prometheus-server
hostnamectl set-hostname node-exporter
hostnamectl set-hostname grafana

一、部署Prometheus服务

  • 作用:收集数据和展示数据

1.1、解压

[root@prometheus-server ~]# tar -zxvf prometheus-2.37.8.linux-amd64.tar.gz
  • 移动至指定目录
[root@prometheus-server ~]# mv prometheus-2.37.8.linux-amd64 /usr/local/prometheus

1.2、配置systemctl启动

[root@prometheus-server ~]# cat >> /etc/systemd/system/prometheus.service << EOF
[Unit]
Description=xinjizhiwa Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target
[Service]
Restart=on-failure
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--web.enable-lifecycle
ExecReload=/bin/kill -HUP \$MAINPID
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
  • 加载并启动服务
[root@prometheus-server ~]# systemctl daemon-reload
[root@prometheus-server ~]# systemctl enable prometheus.service --now

1.3、监听端口

  • Prometheus默认监听9090端口
[root@prometheus-server ~]# netstat -anpt | grep 9090
tcp6       0      0 :::9090                 :::*                    LISTEN      8659/prometheus     
tcp6       0      0 ::1:9090                ::1:56220               ESTABLISHED 8659/prometheus     
tcp6       0      0 ::1:56220               ::1:9090                ESTABLISHED 8659/prometheus     

1.4、访问Prometheus仪表盘

  • 访问地址:http://192.168.93.101:9090
    在这里插入图片描述

二、部署Node-Exporter

  • 作用:用来收集节点上的数据

2.1、解压

[root@node-exporter ~]# tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz
  • 移动至指定目录
[root@node-exporter ~]# mv node_exporter-1.6.1.linux-amd64 /usr/local/node_exporter

2.2、配置systemctl启动

[root@node-exporter ~]# cat > /etc/systemd/system/node-exporter.service << EOF
[Unit]
Description=xinjizhiwa node-exporter
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target

[Service]
Restart=on-failure
ExecStart=/usr/local/node_exporter/node_exporter
ExecReload=/bin/kill -HUP \$MAINPID
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
  • 加载并启动服务
[root@node-exporter ~]# systemctl daemon-reload 
[root@node-exporter ~]# systemctl enable node-exporter.service --now

2.3、监听端口

  • node-exporter默认监听9100端口
[root@node-exporter ~]# netstat -napt | grep 9100
tcp6       0      0 :::9100                 :::*                    LISTEN      8378/node_exporter

2.4、访问node-exporter仪表盘

  • 访问地址:http://192.168.93.102:9100
    在这里插入图片描述

三、配置Prometheus收集Exporter采集的数据

  • node-exporter会把数据统一收集,等待Prometheus进行收集数据展示

3.1、编辑Prometheus配置文件

[root@prometheus-server ~]# vim /usr/local/prometheus/prometheus.yml
# my global config
global:  scrape_interval: 3s # 抓取监控的间隔时间,多长时间获取一次数据(生产环境下,建议15-30s)  
		 evaluation_interval: 15s # 多久读一次规则
  # 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"]
  # 另起一个Job名称,被监控的主体自定义名称
  - job_name: "node-exporter"
    static_configs:
      # 被监控的数据抓取地址
      - targets: ["192.168.93.102:9100"]

3.2、重新加载Prometheus服务

  • 此次的加载方式不是用systemctl进行加载的
[root@prometheus-server ~]# curl -X POST http://192.168.93.101:9090/-/reload

3.3、刷新Prometheus页面

  • 点击Status>>Targets

  • 此时,就会看到,新配置的被监控项主体的指标列表
    在这里插入图片描述

在这里插入图片描述

四、执行PromeSQL

  • Prometheus自己的SQL查询语言

4.1、查看存活的节点

  • 使用UP
    在这里插入图片描述

4.2、查看CPU指标

  • 使用node_cpu_seconds_total
    在这里插入图片描述

五、Grafana展示数据

  • Grafana是一个开源的数据可视化和监控工具

5.1、安装并启动Grafana

[root@grafana ~]# yum -y localinstall grafana-enterprise-10.0.3-1.x86_64.rpm 

[root@grafana ~]# systemctl enable grafana-server.service --now

5.2、监听端口

  • Grafana默认监听3000端口
[root@grafana ~]# netstat -anpt | grep 3000
tcp6       0      0 :::3000                 :::*                    LISTEN      8421/grafana

5.3、访问Grafana页面

  • 访问地址:http://192.168.93.103:3000

  • 默认账户:admin

  • 默认密码:admin
    在这里插入图片描述

  • 需重新设置密码即可登录
    在这里插入图片描述

  • 以下就是登录页面
    在这里插入图片描述

5.4、配置数据源

  • 依次点击home左边的三个横杠>Adminstration>Data sources>Add data-sources>Prometheus
    在这里插入图片描述
    在这里插入图片描述

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

在这里插入图片描述

  • 填写数据源配置信息
Name:Prometheus-01  # 数据库名称,可随意填写,建议取名有见名知意
Prometheus server URL:http://192.168.93.101:9090   # Prometheus服务端的IP和默认端口

在这里插入图片描述

  • 往下拉点击save&test
    在这里插入图片描述

5.5、新建仪表盘

  • 依次点击home坐标的三个横杠>Dashboards>Now>New Dashboards>Add visualization
    在这里插入图片描述

在这里插入图片描述

  • 选择刚刚配置的数据源
    在这里插入图片描述

六、创建一个数据展示图

  • 使用PromeSQL语言进行测试

6.1、测试代码

  • 第一步,测试代码,就是计算一个cpu使用率的PromeSQL代码,测试没有问题之后,就复制展示这个SQL代码内容
(1 - sum(rate(node_cpu_seconds_total{mode="idle"}[5m])) / sum(rate(node_cpu_seconds_total[5m]))) * 100

在这里插入图片描述

6.2、写入Grafana图形

在这里插入图片描述

6.3、更改可视化监控页面

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

6.4、保存仪表盘

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2139961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java接口的艺术:探索接口特性与面向接口编程

在Java的世界里&#xff0c;接口&#xff08;Interface&#xff09;是一种强大的抽象机制&#xff0c;它定义了一组方法规范&#xff0c;但不实现这些方法。接口在Java编程中扮演着至关重要的角色&#xff0c;特别是在实现多态和面向接口编程&#xff08;Interface-Oriented Pr…

Linux进程状态进程优先级

目录 一、操作系统的进程状态 1.1运行状态 1.2阻塞状态 1.3挂起 二、Linux下具体的状态 三、进程的优先级 3.1基本概念 3.2查看进程优先级的命令 3.3修改进程优先级的命令 3.4其他概念 3.5并发 一、操作系统的进程状态 1.1运行状态 当一个进程准备就绪&#xff0c…

MouseArea元素

常用信号 onClicked&#xff0c;鼠标点击onPressed&#xff0c;鼠标按下onReleased&#xff0c;鼠标释放 import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")Rectangle{id:rectwidth: 100height: 100color:"red"MouseA…

redis基本数据结构-sorted set

1. sorted set的简单介绍 参考链接&#xff1a;https://mp.weixin.qq.com/s/srkd73bS2n3mjIADLVg72A Redis的Sorted Set&#xff08;有序集合&#xff09;是一种数据结构&#xff0c;它是一个不重复的字符串集合&#xff0c;每个元素都有一个对应的分数&#xff08;score&…

模板方法模式:设计模式中的骨架法则

模板方法模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 一&#xff0c;模板方法模式的…

C# HttpListener 实现的HTTP Sever浏览器文件下载

1. 前端页面请求 编写简单的test.html 文件&#xff0c;body体值配置a标签&#xff0c;其href 属性设置为文件下载请求的http接口要求的参数序列。 <!DOCTYPE html><html> <head><meta name"viewport" content"widthdevice-width" …

行业分析---自动驾驶行业的发展

1 背景 进入21世纪以来&#xff0c;自动驾驶行业有着飞速的发展&#xff0c;L2级别的自动驾驶技术也逐渐落地量产到寻常百姓家。不管是起步比较早的特斯拉&#xff0c;还是2015年以后国内的公司&#xff0c;都在逐渐发展自动驾驶技术&#xff0c;并量产给用户使用。 自动驾驶最…

COMDEL电源维修CLX2500康戴尔射频电源维修

美国COMDEL射频电源维修常见型号包括&#xff1a;CLX2750&#xff1b;CLX2500&#xff1b;CLX-600H&#xff1b;CX600AS&#xff1b;CX-5000S&#xff1b;CX-3500S&#xff1b;CX-2500S&#xff1b;CV500&#xff1b;CDX2000等。 Comdel成立于1966年&#xff0c;总部设在马萨诸…

Linux环境基础开发工具使用(gcc/g++与makefile)

1.Linux编译器-gcc/g使用 1. 背景知识 接下来的操作&#xff0c;我以gcc为例&#xff0c;因为两者选项都是通用的&#xff0c;所以也就相当于间接学习了 1.预处理&#xff08;进行宏替换) 2.编译&#xff08;生成汇编) 3.汇编&#xff08;生成机器可识别代码&#xff09;…

革新骨科金属螺丝:TPMS结构助力骨再生研究新突破AbMole

在骨科植入物领域&#xff0c;金属螺丝因其出色的机械强度和生物相容性&#xff0c;一直是骨折固定不可或缺的工具。然而&#xff0c;传统实心设计的金属螺丝常常面临应力遮挡和术后松动的问题&#xff0c;严重影响其长期固定效果。近期&#xff0c;一项由吉林大学第二医院骨科…

第T1周:Tensorflow实现mnist手写数字识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 具体实现&#xff1a; &#xff08;一&#xff09;环境&#xff1a; 语言环境&#xff1a;Python 3.10 编 译 器: PyCharm 框架&#xff1a…

Mixtral 8x7B:开源稀疏混合专家模型的新里程碑

人工智能咨询培训老师叶梓 转载标明出处 随着大模型规模的增大&#xff0c;计算成本和资源消耗也相应增加&#xff0c;这限制了它们的应用范围和效率。本论文介绍了一种新的稀疏混合专家模型&#xff08;SMoE&#xff09;——Mixtral 8x7B&#xff0c;它在保持较小计算成本的同…

【C++】c++ 11

目录 前言 列表初始化 std::initializer_list 右值引用和移动拷贝 左值和右值 左值引用和右值引用的区别 万能引用&#xff08;引用折叠&#xff09; 完美转发 默认成员函数控制 列表初始化 在C98中&#xff0c;标准允许使用花括号{}对数组或者结构体元素进行统一的列…

Gartner 成熟度曲线报告解读(一)| 2024中国IT基础设施使用趋势、影响中国IT使用的4大因素

近些年&#xff0c;面对数字化转型、信息化发展、政策监管与地缘政治等外部因素&#xff0c;以及降本增效的内部需求&#xff0c;不少中国企业在制定 IT 基础设施发展策略时遇到多重挑战。为帮助国内企业用户优化基础设施战略&#xff0c;Gartner 近日发布《中国 IT 基础设施技…

【HCIA-Datacom】华为VRP系统

| &#x1f449;个人主页&#xff1a;Reuuse 希望各位多多支持&#xff01;❀ | &#x1f449;往期博客&#xff1a;网络参考模型 | 最后如果对你们有帮助的话希望有一个大大的赞&#xff01; | ⭐你们的支持是我最大的动力&#xff01;⭐ | 目录 1. 华为VRP系统概述VRP概念设备…

Docker-compose:管理多个容器

Docker-Compose 是 Docker 公司推出的一个开源工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。用户需要定义一个 YAML 格式的配置文件 docker-compose.yml&#xff0c;写好多个容器之间的调用关系。然后&#xff0c;只要一个命令&#xff0c;就能同时启动/关闭这些…

七、垃圾收集器ParNewCMS与底层三色标记算法详解

文章目录 垃圾收集算法分代收集理论标记-复制算法标记-清除算法标记-整理算法 垃圾收集器1.1 Serial收集器(-XX:UseSerialGC -XX:UseSerialOldGC)1.2 Parallel Scavenge收集器(-XX:UseParallelGC(年轻代),-XX:UseParallelOldGC(老年代))1.3 ParNew收集器(-XX:UseParNewGC)1.4 C…

POSIX信号量以及利用POSIX信号量实现基于循环队列的高效生产者消费者模型

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 &#x1f341;POSIX信号量 &#x1f341;信号量的相关接口介绍*初始化信号量**销毁信号量**等待信号量**发布信号量* &#x1f341;&…

YOLOv9 简介

YOLO v9 是目前表现最佳的目标检测器之一&#xff0c;被视为现有 YOLO 变体&#xff08;如 YOLO v5、YOLOX 和 YOLO v8&#xff09;的改进版本。 YOLOv9 在实时目标检测领域取得了重大进展&#xff0c;引入了诸如可编程梯度信息&#xff08;PGI&#xff09;和通用高效层聚合网…

后端开发刷题 | 打家劫舍

描述 你是一个经验丰富的小偷&#xff0c;准备偷沿街的一排房间&#xff0c;每个房间都存有一定的现金&#xff0c;为了防止被发现&#xff0c;你不能偷相邻的两家&#xff0c;即&#xff0c;如果偷了第一家&#xff0c;就不能再偷第二家&#xff1b;如果偷了第二家&#xff0…