目录

一、环境

二、Node_exporter部署

三、Prometheus部署

四、Grafana部署

五、验证、使用


一、环境

系统使用CentOS7虚拟机。

监控三台服务器:

192.168.114.10 Node1                #部署Prometheus、node_exporter、Grafana

192.168.114.20 Node2                 #部署node_exporter

192.168.114.30 Node3                 #部署node_exporter

        在运维中,Prometheus和Grafana的组合是监控系统性能和资源利用率的理想方案,能够提供全面的数据收集、存储、可视化及告警功能。

关闭防火墙,关闭核心防护。设置时钟同步,配置hosts文件。

时钟同步设置中,我这里是在联网的环境下,如果没有网络,请参考我前面的笔记:无网络下,linux服务器实现时钟同步

[root@Node1 ~]#:systemctl stop firewalld 
[root@Node1 ~]#:setenforce 0
[root@Node1 ~]#:ntpdate ntp.aliyun.com
19 Aug 11:29:59 ntpdate[3664]: step time server 203.107.6.88 offset -28799.263186 sec
[root@Node1 ~]#:hwclock --systohc    #写入硬件时钟。
#配置hosts文件。
[root@Node1 ~]#:vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.114.10 Node1
192.168.114.20 Node2
192.168.114.30 Node3

二、Node_exporter部署

        在部署Prometheus时,通常还需要部署Node_exporter,这是由于Node Exporter是Prometheus生态中用于采集主机系统指标的核心组件,他负责将服务器的底层硬件和操作系统级指标(如CPU、内存、磁盘、网络等)转换为Prometheus可识别的格式,供Prometheus抓取、存储和分析,从而实现对服务器运行状态的实时监控。

        可从node-exporter官网下载指定版本的安装包:Node_exporter官网

        这里下载的版本:node_exporter-1.8.2.linux-amd64.tar.gz,要监控的服务器都需部署安装该服务。

将安装包拷贝到/opt下,解压到/usr/local/下。安装node_exporter。

[root@Node1 opt]#:ls
node_exporter-1.8.2.linux-amd64.tar.gz
[root@Node1 opt]#:tar xf node_exporter-1.8.2.linux-amd64.tar.gz -C /usr/local/

更改为node_exporter名。赋予777权限,并查看版本为1.8.2。

[root@Node1 opt]#:cd /usr/local/
[root@Node1 local]#:ls
bin  etc  games  include  lib  lib64  libexec  node_exporter-1.8.2.linux-amd64  sbin  share  src
[root@Node1 local]#:mv node_exporter-1.8.2.linux-amd64/ node_exporter
[root@Node1 local]#:chmod 777 -R node_exporter/
[root@Node1 local]#:ls node_exporter/
LICENSE  node_exporter  NOTICE
[root@Node1 local]#:node_exporter/node_exporter --version 
node_exporter, version 1.8.2 (branch: HEAD, revision: f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895)build user:       root@03d440803209build date:       20240714-11:53:45go version:       go1.22.5platform:         linux/amd64tags:             unknown
[root@Node1 local]#:

        在生产环境中,通常设置systemd管理服务,并设置开机自启。

[root@Node1 local]#:vim /etc/systemd/system/node-exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
ExecStart=/usr/local/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
[root@Node1 ~]#:
[root@Node1 ~]#:systemctl daemon-reload 
[root@Node1 ~]#:systemctl start node-exporter.service 
[root@Node1 ~]#:systemctl enable node-exporter.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/node-exporter.service to /etc/systemd/system/node-exporter.service.
[root@Node1 ~]#:

三台服务器都需要安装node_exporter服务,配置完成并设置开机自启后查看端口是否启来。端口为9100

在浏览器访问各自服务器ip:端口。能看到该页面即为部署成功。

三、Prometheus部署

        官网地址:Prometheus官网

        这里下载版本:prometheus-2.53.2.linux-amd64.tar.gz,将该安装包放在/opt下,并解压到/usr/local/下。

[root@Node1 opt]#:ls
node_exporter-1.8.2.linux-amd64.tar.gz  prometheus-2.53.2.linux-amd64.tar.gz
[root@Node1 opt]#:tar xf prometheus-2.53.2.linux-amd64.tar.gz -C /usr/local/

        进入/usr/local/下改名为prometheus,并赋予777权限。

root@Node1 opt]#:cd /usr/local/
[root@Node1 local]#:ls
bin  etc  games  include  lib  lib64  libexec  node_exporter  prometheus-2.53.2.linux-amd64  sbin  share  src
[root@Node1 local]#:mv prometheus-2.53.2.linux-amd64/ prometheus
[root@Node1 local]#:chmod 777 -R prometheus

        进入prometheus家目录下,修改主要配置文件prometheus.yml文件,指定任务标签和监控ip,要监控那些服务器。

[root@Node1 local]#:cd prometheus/
[root@Node1 prometheus]#:ls
console_libraries  consoles  LICENSE  NOTICE  prometheus  prometheus.yml  promtool
[root@Node1 prometheus]#:vim prometheus.yml 
......
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: ["192.168.114.10:9090"]- job_name: "Grafana"static_configs:- targets: ['192.168.114.10:9100','192.168.114.20:9100','192.168.114.30:9100']    #node exporter地址
[root@Node1 prometheus]#:
#检测yml配置文件。
[root@Node1 prometheus]#:./promtool check config prometheus.yml 
Checking prometheus.ymlSUCCESS: prometheus.yml is valid prometheus config file syntax[root@Node1 prometheus]#:

prometheus同理也设置systemd管理,并开机自启。

[root@Node1 prometheus]#:vim /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target
[Service]
Restart=on-failure
WorkingDirectory=/usr/local/prometheus/
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --web.enable-lifecycle
[Install]
WantedBy=multi-user.target
[root@Node1 prometheus]#:
[root@Node1 prometheus]#:systemctl daemon-reload 
[root@Node1 prometheus]#:systemctl start prometheus.service 
[root@Node1 prometheus]#:systemctl enable prometheus.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /etc/systemd/system/prometheus.service.
[root@Node1 prometheus]#:

查看端口,并访问web页面。

[root@Node1 prometheus]#:ss -natp | grep 9090
ESTAB      0      0      192.168.114.10:59894              192.168.114.10:9090                users:(("prometheus",pid=4855,fd=11))
LISTEN     0      128       [::]:9090                  [::]:*                   users:(("prometheus",pid=4855,fd=7))
ESTAB      0      0      [::ffff:192.168.114.10]:9090               [::ffff:192.168.114.10]:59894               users:(("prometheus",pid=4855,fd=12))

访问到这个页面表示部署成功。

在搜索框中输入PromQL语句,获取监控曲线。点击Graph可查看曲线。

node_load5:系统在过去5分钟的平均负载。这个指标有助于了解系统的整体忙碌程序和性能表现。

node_disk_info{job="Grafana",instance="192.168.114.10:9100"}

用于表示磁盘的信息,具体的指标因Node Exporter的版本和配置而已,一般来说,可能包含磁盘型号、大小、分区等信息。

node_cpu_seconds_total{job="Grafana",instance="192.168.114.10:9100"}

表示cpu在各个状态(如用户态、系统态、空闲态等)下的消耗的总时间。这个指标是累计的,会随着节点的CPU使用情况而不断增长。

go_memstats_heap_idle_bytes{job="Grafana",instance="192.168.114.10:9100"}

表示GO程序堆内存中空闲的字节数,这个指标主要用于监控GO程序的内存使用情况。

四、Grafana部署

        Grafana官网:Grafana官网

        为什么需要Grafana:有了Prometheus监控还需要Grafana,两者定位不同,功能互补,Prometheus专注于高效的数据采集、存储和查询,而Grafana专注于数据可视化、交互分析和多数据源整合。

        数据展示与交互:Prometheus的原生界面:提供基础的查询功能(通过PromQL执行临时查询)。支持简单的图表展示(如折线图、表格),但缺乏自定义能力。无法创建复杂的仪表盘或动态交互界面。
Grafana的优势:
        丰富的可视化组件:支持折线图、柱状图、热力图、仪表盘、表格等十种图表类型。
        动态交互:支持缩放、下钻、联动
        自定义仪表盘:可灵活组合多个图表,创建针对不同场景的监控大屏(如系统性能、业务指标)
多数据源整合:
        Prometheus是Grafana的数据源之一
结论:
        Prometheus是监控系统的大脑,负责数据采集、存储和计算,而Grafana是监控系统的眼睛,负责将数据转化为直观的图表和仪表盘。两者结合,才能构建一个完整的、可观测的监控系统。

        这里下载版本:grafana-enterprise-12.0.2.linux-amd64.tar.gz,复制到/opt下。解压到/usr/local下。

[root@Node1 opt]#:ls
grafana-enterprise-12.0.2.linux-amd64.tar.gz  prometheus-2.53.2.linux-amd64.tar.gz
node_exporter-1.8.2.linux-amd64.tar.gz
[root@Node1 opt]#:tar xf grafana-enterprise-12.0.2.linux-amd64.tar.gz -C /usr/local/

修改名称为grafana。进入配置文件夹下。修改配置,默认端口后为3000。

[root@Node1 local]#:mv grafana-v12.0.2/ grafana
[root@Node1 local]#:cd grafana/
[root@Node1 grafana]#:ls
bin   Dockerfile  LICENSE    npm-artifacts  plugins-bundled  README.md  tools
conf  docs        NOTICE.md  packaging      public           storybook  VERSION
[root@Node1 grafana]#:cd conf/
[root@Node1 conf]#:ls
defaults.ini  ldap_multiple.toml  ldap.toml  provisioning  sample.ini
[root@Node1 conf]#:vim defaults.ini 
......
[server]
# Protocol (http, https, h2, socket)
protocol = http# Minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
min_tls_version = ""# The ip address to bind to, empty will bind to all interfaces
http_addr = 0.0.0.0# The http port to use
http_port = 3000
......
#认证模块,默认的用户名和密码:admin/admin
[security]
# disable creation of admin user on first start of grafana
disable_initial_admin_creation = false# default admin user, created on startup
admin_user = admin# default admin password, can be changed before first start of grafana, or in profile settings
admin_password = admin
......

查看版本信息:

[root@Node1 conf]#:cd ../bin/
[root@Node1 bin]#:ls
grafana  grafana-cli  grafana-server
[root@Node1 bin]#:./grafana --version 
grafana version 12.0.2
[root@Node1 bin]#:

配置systemd管理,设置开机自启。

[root@Node1 bin]#:pwd
/usr/local/grafana/bin
[root@Node1 bin]#:ls
grafana  grafana-cli  grafana-server
[root@Node1 grafana]#:vim /etc/systemd/system/grafana.service
[Unit]
Description=Grafana Server
Documentation=https://grafana.com/docs/
After=network.target[Service]
Restart=on-failure
WorkingDirectory=/usr/local/grafana
ExecStart=/usr/local/grafana/bin/grafana-server  --config=/usr/local/grafana/conf/defaults.ini[Install]
WantedBy=multi-user.target
[root@Node1 grafana]#:
[root@Node1 grafana]#:systemctl daemon-reload 
[root@Node1 grafana]#:systemctl start grafana.service 
[root@Node1 grafana]#:systemctl enable grafana.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana.service to /etc/systemd/system/grafana.service.
[root@Node1 grafana]#:

查看端口:

[root@Node1 grafana]#:ss -natp | grep 3000
LISTEN     0      128       [::]:3000                  [::]:*                   users:(("grafana",pid=5646,fd=17))
[root@Node1 grafana]#:

登录web端:输入ip:3000

登陆后,需要修改密码:

登录成功,进入首页。

五、验证、使用

导入prometheus模板,点击右上角+号,点击New dashboard。

添加可视化界面。

配置新的数据源

选择Prometheus。

注意名称和url地址。点击保存。

再次点击右上角+号,点击导入模板。

        这里的模板是可视化的模板,具体模板官网也有专门的模板,只需要拿过来模板的id号,加载到我们的模板上即可使用。grafana界面:grafana可视化界面

找到一个想要的界面点击进去,找到id号,拿过来输入到这里,点击load.

选择我们创建的模板prometheus,点击导入。

此时,可视化导入并使用完成。可以看到cpu指标4核,内存4g,

选择要查看的节点。工作任务Grafana,监控最近1小时,刷新时间1分钟。

---end---

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字孪生 :提高制造生产力的智能方法

近年来&#xff0c;在先进数字技术深度整合的推动下&#xff0c;制造业经历了深刻变革。数字孪生技术作为其中最具前景的创新之一&#xff0c;正重塑工厂和生产流程的设计、监控和优化方式。该技术的核心在于为物理资产、系统或流程创建虚拟映射。这种虚拟映射实时同步现实世界…

【论文阅读】-《SIGN-OPT: A QUERY-EFFICIENT HARD-LABEL ADVERSARIAL ATTACK》

Sign-OPT: 一种查询高效的硬标签对抗攻击 原文链接&#xff1a;https://arxiv.org/pdf/1909.10773 摘要 我们研究在访问受限情况下评估机器学习系统对抗鲁棒性的最实用问题设置&#xff1a;用于生成对抗样本的硬标签黑盒攻击设置&#xff0c;其中允许有限的模型查询&#xff…

安卓11 12系统修改定制化_____如何去掉 搜狗输入法 首次运行时权限授权弹窗 其他应用可借鉴

有些内置应用或者第三方应用在首次使用时会跳出权限允许弹窗。虽然这个是系统为了用户安全设置的一道检测机制。但无形之中会影响到定制类用户的使用。那么能不能去除这个首次运行的权限弹窗呢。其实也有多方法可参阅解决。 通过博文了解💝💝💝 1💝💝💝-----首次…

双环模型:一个蕴含安全哲学的类设计解析

双环模型&#xff1a;一个蕴含安全哲学的类设计解析 在编程世界中&#xff0c;优秀的类设计不仅能实现功能需求&#xff0c;更能体现开发者对系统本质的理解。本文将深入剖析一个看似简单却蕴含深刻安全哲学的OP类&#xff0c;探讨其双环模型背后的设计思想与实践价值。 类结构…

牛津大学xDeepMind 自然语言处理(4)

牛津大学xDeepMind 自然语言处理 Natural Language Processing 语音识别 Speech Recognition语音识别概述 问题定义&#xff1a;自动语音识别&#xff08;ASR&#xff09;、文本到语音合成&#xff08;TTS&#xff09;等相关任务&#xff1a;说话人识别、语音增强、语音分离等语…

MyBatis处理SQL语句映射

基础MyBatis问题以去看MyBatis基础。 使用log4j设置日志在控制台打印SQL语句及其执行信息 也可以使用MyBatis基础中用的slf4j。 在pom.xml文件中引入log4j坐标依赖 <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><…

嵌入式硬件篇---麦克纳姆轮轨迹偏移

麦克纳姆轮的轨迹偏移是机械结构、驱动系统、控制逻辑及外部环境等多因素共同作用的结果&#xff0c;其核心是各轮子的驱动力 / 运动状态无法按理论模型实现协同&#xff0c;导致车体实际运动与期望轨迹产生偏差。以下是具体影响因素的详细分析&#xff1a;一、机械结构偏差&am…

C语言安全函数分享

在日常写程序中有一些功能函数是可以重复使用的&#xff0c;在c语言的标准库里面也有对应的功能函数&#xff0c;但是那些功能函数有会有小问题然后我就整理了一下对应功能的安全函数的使用。其中前四个函数可以编译成一个动态库&#xff0c;然后在项目工程中只需要包含对应的头…

汽车之家联合HarmonyOS SDK,深度构建鸿蒙生态体系

汽车之家作为一家领先的汽车互联网公司&#xff0c;致力于打造服务全球的汽车生态科技平台&#xff0c;覆盖"看选买用换"的一站式购车体验。2023年12月底&#xff0c;汽车之家正式启动鸿蒙开发&#xff0c;并于2024年年底成功构建了完整的鸿蒙生态体系&#xff0c;涵…

深度学习驱动的订单簿分析与交易策略优化

订单簿数据特征与预处理方法 高频金融数据中&#xff0c;订单簿&#xff08;Order Book&#xff09;承载着市场参与者的实时交易意图。不同于K线数据的聚合特性&#xff0c;订单簿数据具有独特的时空特征&#xff1a; 多维层级结构&#xff1a;包含不同价格档位的买卖盘深度信息…

Redis--day9--黑马点评--分布式锁(二)

&#xff08;以下所有内容全部来自上述课程&#xff09; 分布式锁 1. Redisson功能介绍 基于setnx实现的分布式锁存在下面的问题&#xff1a; 不可重入&#xff1a;同一个线程无法多次获取同一把锁不可重试&#xff1a;获取锁只尝试一次就返回false&#xff0c;没有重试机…

ES入门教程 (python 版)

ES入门教程 1. 创建ES对象from elasticsearch import Elasticsearch # 实例化一个ip为localhost&#xff0c;端口为9200&#xff0c;允许超时一小时的es对象 es Elasticsearch(hosts"localhost",port9200,timeout3600) # 1. 创建 索引 index_name "test"…

Gateway中Forward配置+源码观赏

系列文章目录 文章目录系列文章目录一、ForwardPathFilter二、RouteToRequestUrlFilter三、ForwardRoutingFilteryaml forward配置gateway:routes:- id: user-route # uri: lb://useruri: forward:///user/indexpredicates:- Path/user/**- YoGET # filt…

BAS16XV2T1G ON安森美半导体 高速开关二极管 电子元器件IC

BAS16XV2T1G ON Semiconductor 高速开关二极管专业解析1. 产品技术档案BAS16XV2T1G是安森美半导体(ON Semiconductor)推出的高速开关二极管&#xff0c;采用SOT-523超微型封装&#xff08;1.60.80.95mm&#xff09;&#xff0c;专为现代高密度电子设备设计&#xff0c;以其超快…

亲测可用 [安卓]《神秘来电》V1.1无需登入无广告离线打开即用手机模拟发起虚假来电免费版

神秘来电是一款可以模拟虚拟电话的应用程序&#xff0c;它能够在用户需要的时候模拟各种来电&#xff0c;以便用户能够在尴尬的场合脱身。用户可以预设多个不同的来电号码和铃声&#xff0c;并可随时触发这些虚拟电话&#xff0c;在特殊情况下帮助用户摆脱尴尬。它为那些社交恐…

8.20 dp

lc73矩阵置零queue队列标记// 整行置零for(int y0; y<n; y) matrix[i][y] 0; // 整列置零for(int x0; x<m; x) matrix[x][j] 0; class Solution { public:void setZeroes(vector<vector<int>>& matrix) {int m matrix.size(), n matrix[0].size();//…

STL库——string(类模拟实现)

ʕ • ᴥ • ʔ づ♡ど &#x1f389; 欢迎点赞支持&#x1f389; 个人主页&#xff1a;励志不掉头发的内向程序员&#xff1b; 专栏主页&#xff1a;C语言&#xff1b; 文章目录 前言 一、基本框架 二、构造函数 三、析构函数 四、拷贝构造 五、运算符重载 5.1、赋值重载 5.2…

Linux I/O 多路复用实战:深入剖析 Select 与 Poll

## 引言:从“阻塞”的餐厅到“事件驱动”的盛宴 想象一下,你是一家小餐馆的服务员。餐厅只有5张桌子。你的工作流程是这样的:走到1号桌,问他们是否要点菜,然后站在那里等他们决定;等他们点完,再去2号桌,同样站在那里等... 如果1号桌的客人看菜单看了半个小时,那么其他…

【clion】cmake脚本1:调试脚本并构建Fargo项目win32版本

调试脚本并构建 【clion】visual studio的sln转cmakelist并使用clion构建32位 报错 "D:\Program Files\JetBrains\CLion 2022.3.1\bin\cmake\win\x64\bin\cmake.exe" --debugger --debugger-pipe=\\<

VS2005里的快捷键

VS2005是微软在2005发布的一款支持C、C#、.net开发语言的集成开发工具&#xff0c;它支持的C版本为C03&#xff0c;但不支持C11&#xff0c;到VS2013才支持大部分的C11(简称C11)&#xff0c;到VS2015 update3才完全支持C11。既然VS2005不支持C11&#xff0c;而智能指针是C11才引…