運維監控prometheus+grafana

目錄

一、環境

二、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才引…