prometheus+grafana搭建

部署 prometheus

安裝

# 1,下載
wget https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-3.5.0.linux-amd64.tar.gz# 2,部署
tar  -zxvf  prometheus-3.5.0.linux-amd64.tar.gz  -C   /opt/
cd   /opt/
mv  ./prometheus-3.5.0.linux-amd64   prometheus# 3,驗證
[root@prometheus prometheus]#  cd   /opt/prometheus
[root@prometheus prometheus]# ./prometheus  --version
prometheus, version 3.5.0 (branch: HEAD, revision: 8be3a9560fbdd18a94dedec4b747c35178177202)build user:       root@4451b64cb451build date:       20250714-16:15:23go version:       go1.24.5platform:         linux/amd64tags:             netgo,builtinassets# 4,配置用戶
groupadd  prometheus
useradd  -g  prometheus -s /sbin/nologin prometheus
chown -R  prometheus:prometheus /opt/prometheus/# 5,創建prometheus運行數據目錄
mkdir  -p  /opt/prometheus/data
chown -R prometheus:prometheus /opt/prometheus/data

配置文件

[root@prometheus prometheus]# cat prometheus.yml
# my global config
global:scrape_interval: 15s # 默認15s 全局每次數據收集的間隔 minute.evaluation_interval: 15s # 規則掃描時間間隔是15秒,默認不填寫是 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"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.labels:app: "prometheus"

創建腳本systemd管理

vim  /usr/lib/systemd/system/prometheus.service[Unit]
Description=Prometheus
After=network.target[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/prometheus \
--config.file=/opt/prometheus/prometheus.yml \
--storage.tsdb.path=/opt/prometheus/data \
--storage.tsdb.retention.time=15d \
--web.console.templates=/opt/prometheus/consoles \
--web.console.libraries=/opt/prometheus/console_libraries \
--web.max-connections=512 \
--web.external-url "http://自己服務器IP地址:9090" \
--web.listen-address "0.0.0.0:9090" \
--web.enable-admin-api \
--web.enable-lifecycle
Restart=on-failure[Install]
WantedBy=multi-user.target

啟動驗證

systemctl daemon-reload
systemctl enable prometheus
systemctl start  prometheus
systemctl status prometheus
# 查看服務端口
ss -tunlp | grep 9090

訪問 http://自己服務器IP:9090

點擊Endpoint目標的值,再從exporter具體能抓到的數據,隨便復制一個值就好,比如go_gc_pauses_seconds_count

部署node_exporter

Node_exporter收集機器的系統數據,采用prometheus官方提供的exporte

安裝

# 安裝node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar -zxvf node_exporter-1.6.1.linux-amd64.tar.gz -C /opt/
cd /opt/
mv node_exporter-1.6.1.linux-amd64/  node_exporter# 添加用戶
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
chown -R prometheus:prometheus /opt/node_exporter# 設置開機啟動
vim  /lib/systemd/system/node_exporter.service
[Unit]
Description=Prometheus Node_exporter
After=network.target prometheus.service[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/node_exporter/node_exporter --web.listen-address=0.0.0.0:9101
Restart=on-failure[Install]
WantedBy=multi-user.target

設置啟動服務

systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter

添加 node_exporter到配置文件

cat >> prometheus.yml <<EOF- job_name: 'node'static_configs:- targets: ['IP地址:9101']
EOF

注意:這里添加的一定要在 /opt/prometheus/prometheus.yml文件中操作,否則會導致后續prometheus中沒有node節點,grafana表盤中無數據

重啟prometheus服務

systemctl restart prometheus.service

驗證

查看監控指標 http://IP地址:9101/metrics

這里跟部署prometheus啟動驗證一樣,隨機拿一個數據驗證。

查看target

部署grafana

安裝配置

# 安裝
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.0-1.x86_64.rpm
yum -y install grafana-enterprise-10.2.0-1.x86_64.rpm# 設置開啟自啟
systemctl enable grafana-server
systemctl start grafana-server

登錄訪問

訪問:http://IP地址:3000,默認賬號/密碼:admin/admin,首次登陸需要修改默認的管理員密碼

添加數據

這里URL填http:localhost:9090/或者http:IP地址:9090/都行

然后點擊保存

導入儀表盤

new->import

這里1是填官方提供的表盤形式,填寫11074或者16098都行

這里名字隨便填,2默認,3點擊后有個prometheus標志出來點擊就行。然后import

可能遇到的問題

xshell無法傳文件給遠程主機

原因:遠程服務器中沒有安裝響應相對應的驅動

解決辦法:服務器安轉就行

yum install lrzsz

下載超時

原因:服務器訪問github比較慢或者訪問不上

解決方法:修改網絡文件或者直接下載相應的文件然后用xshell等遠程工具上傳到服務器

grafana儀表盤無數據

檢查部署node_exporter步驟時,驗證的時候是否會有node節點出現。沒有出現則在配置node_exporter文件步驟中,prometheus.yml文件是否配置正確,注意scrape_configs:節點下

 - job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["IP地址:9090"]# The label name is added as a label `label_name=<label_value>` to any timeseries scraped from this config.labels:app: "prometheus"- job_name: 'node'static_configs:- targets: ['IP地址:9101']

在grafana中dashboards中url是否配置正確

無法打開prometheus和grafana網站

用的阿里云服務器做的實驗的話,查看安全組是否放行了9090,9101等這些端口。

參考文章

prometheus+grafana部署

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/96012.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/96012.shtml
英文地址,請注明出處:http://en.pswp.cn/web/96012.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MR30分布式I/O在面機裝備中的應用

隨著食品加工行業向自動化、智能化轉型&#xff0c;面機裝備對控制系統的響應速度、布線靈活性及穩定性提出了更高要求。本案例以某大型食品機械制造企業的全自動面條生產線升級項目為背景&#xff0c;引入 MR30 分布式 IO 模塊替代傳統集中式 IO 方案。通過將 MR30 分布式 IO …

Matlab使用小技巧合集(系列四):Table類型高效用法與數據處理實戰

Matlab使用小技巧合集(系列四):Table類型高效用法與數據處理實戰 在科研數據處理和論文寫作過程中,結構化數據的管理極為重要。Matlab的table類型為研究生和科研人員提供了靈活、高效的數據存儲與處理方式,尤其適合實驗結果整理、分組統計、數據預處理等場景。本文將系統介…

STM32的時鐘系統與時鐘樹的配置

STM32的時鐘系統是其微控制器&#xff08;MCU&#xff09;的核心組成部分&#xff0c;負責為CPU、外設和存儲器等模塊提供精確的時序信號。其設計靈活且復雜&#xff0c;通過多級時鐘樹&#xff08;Clock Tree&#xff09;實現時鐘源的選擇、分頻和分配。以下是詳細介紹&#x…

NV 工具metrics分析(ncu, nsys/torch profiler)

以下分析都以A100硬件架構為例; Theoretical Max Active Warps per SM: 64 Register number: 512 (規定每個thread不能超過256) Theoretical Active Warps per SM [warp]&#xff1a;512//registers_per_thread*4, which defines theoretical active warp occupancy Waves P…

[CISCN2019 總決賽 Day2 Web1]Easyweb

登錄界面可以看到隨機切換的圖片。從頁面源碼中可以看到<div class"avtar"><img src"image.php?id3" width"200" height"200"/></div>&#xff0c;圖片文件的請求地址&#xff0c;并且有傳參id。web應用中像這種動…

第 3 講:KAFKA生產者(Producer)詳解

這是一篇既照顧入門也能給高級工程師提供落地經驗的實戰筆記。0. TL;DR&#xff08;先上結論&#xff09; 想穩&#xff1a;acksall 合理 retries&#xff1b;需要“分區內不重不丟”→ 再加 enable.idempotencetrue 且 max.in.flight<5。想快&#xff1a;適度增大 batch.s…

微信小程序截屏與錄屏功能詳解

微信小程序提供了豐富的API支持截屏和錄屏功能&#xff0c;適用于多種場景&#xff0c;如教育類應用的課程錄制、游戲類應用的精彩瞬間分享、電商類應用的商品展示等。以下將詳細介紹實現方法和應用案例。 截屏功能實現 截屏功能通過調用wx.canvasToTempFilePath或wx.captureSc…

React 中的 HOC 和 Hooks

寫在前面 在函數式組件主導的 React 項目中&#xff0c;高階組件&#xff08;HOC&#xff09;并非首選推薦&#xff0c;更建議優先使用 Hooks來實現復用邏輯。核心原因是 HOC 存在固有的設計缺陷&#xff0c;而 Hooks 能更優雅、簡潔地解決相同問題&#xff0c;同時避免 HOC 的…

【 蒼穹外賣 | Day2】

1. 相關視頻 Day2的全部視頻集數 2. 學習記錄 2.1 對象屬性拷貝 當DTO與實體類或者VO對象之間的一個裝換的時候&#xff0c;如果通過new創建對象&#xff0c;然后調用set方法進行屬性賦值&#xff0c;不夠方便&#xff0c;代碼不夠簡潔。當屬性過多時候&#xff0c;代碼就會…

焊接自動化測試平臺圖像處理分析-模型訓練推理

1、使用技術棧&#xff1a;jdk17/springboot/python/opencv/yolov8 2、JAVA環境搭建 JDK17下載安裝&#xff1a;wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 解壓軟件 tar -xf jdk-17.0.16_linux-x64_bin.tar.gz 配置全局變量 vim /etc/p…

【python實用小腳本-205】[HR揭秘]手工黨逐行查Bug的終結者|Python版代碼質量“CT機”加速器(建議收藏)

1. 場景故事 “作為HR&#xff0c;我曾用2小時逐行審閱50份Python簡歷項目&#xff0c;直到發現候選人的代碼復雜度超標導致線上事故…” → 轉折點&#xff1a;用麥凱布&#xff08;McCabe&#xff09;圈復雜度檢測腳本&#xff0c;30秒掃描全倉庫&#xff0c;現可100%攔截“高…

LeetCode - 1089. 復寫零

題目 1089. 復寫零 - 力扣&#xff08;LeetCode&#xff09; 思路 這道題我首先想到的是從前往后雙指針&#xff0c;但是這樣做會造成數據的覆蓋&#xff0c;比如說下面的這個情況 所以解決的方法就是從后往前去復寫&#xff0c;但是從后往前的話就要知道最后一個有效元素是…

c#中public類比博圖

簡單來說&#xff0c;**public 定義了“接口”或“引腳”**&#xff0c;就像你的FB塊上的 Input, Output, InOut 管腳一樣。它決定了外部的其他代碼&#xff08;如另一個FB或OB1&#xff09;可以看到和操作這個塊里的什么東西。讓我用你最熟悉的博圖概念來詳細類比一下。---###…

K8s基于節點軟親和的高 CPU Pod 擴容與優先調度方案

場景與目標 集群節點&#xff1a;master&#xff08;4 核&#xff09;、node1&#xff08;16 核&#xff09;、node2&#xff08;16 核&#xff09;。目標&#xff1a;將一個高 CPU 消耗的工作負載橫向擴展到 4 個實例&#xff0c;并通過**節點親和性&#xff08;軟親和&#…

MySQL InnoDB 的鎖機制

引言 鎖是數據庫管理并發訪問的另一種核心機制&#xff0c;與 MVCC 相輔相成。本文將系統梳理 MySQL InnoDB 中鎖的粒度、類型和工作原理&#xff0c;并深入探討它如何與事務隔離級別配合&#xff0c;共同保障數據的一致性和完整性。 一、 鎖的粒度&#xff1a;由粗到細 InnoD…

狀態模式(State Pattern)——網絡連接場景的 C++ 實戰

一、為什么要用狀態模式&#xff1f;在開發中&#xff0c;經常遇到“對象在不同狀態下行為不同”的情況。最常見的寫法是用一堆 if/else 或 switch 來判斷狀態&#xff0c;然后在不同分支里寫邏輯。這樣做有兩個問題&#xff1a;狀態增多后&#xff0c;條件分支會變得臃腫。修改…

使用csi-driver-nfs實現K8S動態供給

文章目錄一、部署NFS二、k8s環境部署csi-nfs三、測試動態供給補充應用服務器IPnfs-server192.168.1.5k8s-master01192.168.1.1k8s-node01192.168.1.2k8s-node02192.168.1.3 一、部署NFS 1、在NFS服務端和k8s所有節點部署nfs-utils 因為客戶端去掛載nfs服務端的共享目錄時&…

【開題答辯全過程】以 基于ssm的房屋中介管理系統為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人&#xff0c;語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

MySQL主從復制之進階延時同步、GTID復制、半同步復制完整實驗流程

1.主從同步1.1主從同步原理是指將主庫的DDL和DML操作通過二進制日志(binlog)傳到從庫服務器&#xff0c;然后在從庫上對這些日志進行重新執行&#xff0c;從而使從庫和主庫數據保持一致1.2環境設置庫名ip地址操作系統mysql版本主庫msyql-master192.168.31.228rhel7.9源碼安裝my…

織信低代碼:用更聰明的方式,把想法變成現實!

你有沒有過這樣的時刻&#xff1f;想親手做一個應用&#xff0c;卻因為“不會編碼”而遲遲沒有開始&#xff1b;或曾無奈地目睹公司里一個看似簡單的需求&#xff0c;硬是耗費數月、投入大量人力反復開發……現在&#xff0c;有一類工具正在改變這一切。它叫低代碼。而今天我們…