2023年最新prometheus + grafana搭建和使用

一、安裝prometheus

1.1 安裝

prometheus官網下載地址

sudo -i
mkdir -p /opt/prometheus
#移動解壓后的文件名到/opt/,并改名prometheus
mv prometheus-2.45 /opt/prometheus/
#創建一個專門的prometheus用戶: -M 不創建家目錄, -s 不讓登錄
useradd -M -s /usr/sbin/nologin prometheus##更改prometheus用戶的文件夾權限:
chown prometheus:prometheus -R /opt/prometheus
1.2 修改配置
global:scrape_interval: 30s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 30s # Evaluate rules every 15 seconds. The default is every 1 minute.# 其他全局配置...scrape_configs:# Prometheus 自身的監控配置- job_name: "prometheus"static_configs:- targets: ["localhost:9070"]- job_name: 'node_widgets'scheme: https  # 使用 HTTPStls_config:insecure_skip_verify: true  # 忽略證書驗證static_configs:- targets: ['xxxxx.xxx.com:443']  # 替換為您的服務器 B 地址和端口metrics_path: '/prometheus/metrics'  # Node Exporter 的路徑

如果修改了配置可以驗證配置

./promtool check config new_prometheus.yml

熱更新

curl -X POST http://localhost:9070/-/reload
1.3 配置自啟動
vim /etc/systemd/system/prometheus.service
寫入數據
[Unit]
Description=Prometheus Server
After=network-online.target
[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
WorkingDirectory=/opt/prometheus/prometheus-2.45
ExecStart=/opt/prometheus/prometheus-2.45/prometheus --web.listen-address ":9070" --config.file /opt/prometheus/prometheus-2.45/new_prometheus.yml --storage.tsdb.path /opt/prometheus/prometheus-2.45/data --storage.tsdb.retention.time=20d --web.enable-lifecycle
[Install]
WantedBy=multi-user.target

開機自啟動

sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl restart prometheus
sudo systemctl status prometheus

二、安裝node_exporter

2.1 官網下載地址 https://prometheus.io/download/
2.2 開機自啟動

添加

sudo vim /etc/systemd/system/node_exproter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
User=ubuntu
Group=ubuntu
ExecStart=/opt/prometheus/node_exproter-1.7.0/node_exporter --web.listen-address=":9101"
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable node_exproter
sudo systemctl restart node_exproter
sudo systemctl status node_exproter

三、安裝grafana

3.1 官網下載地址 https://grafana.com/grafana/download?edition=oss&platform=linux
3.2 添加開機啟動

添加service

sudo vim /etc/systemd/system/grafana.service
[Unit]
Description=Grafana server
Documentation=http://docs.grafana.org
[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/grafana-v10.2.2/bin/grafana-server \--config=/opt/prometheus/grafana-v10.2.2/conf/grafana.ini \--homepath=/opt/prometheus/grafana-v10.2.2 \--http-port=3000
[Install]
WantedBy=multi-user.target
3.2 修改 grafana.init 郵箱配置
[smtp]
enabled = true
host = smtp.gmail.com:587
user = xuzan@lippu.ltd
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = 授權碼
cert_file =
key_file =
skip_verify = true
from_address = xuzan@lippu.ltd
from_name = Grafana
ehlo_identity =
startTLS_policy =
sudo systemctl daemon-reload
sudo systemctl enable grafana
sudo systemctl restart grafana
sudo systemctl status grafana

四、alertmanager 安裝

4.1 安裝官網地址 https://prometheus.io/download/
4.2 新增啟動項

編輯

sudo vim /etc/systemd/system/alertmanager.service
[Unit]
Description=Alert Manager
Wants=network-online.target
After=network-online.target[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/alertmanager-0.26.0/alertmanager \--config.file=/opt/prometheus/alertmanager-0.26.0/alertmanager.yml \--storage.path=/opt/prometheus/alertmanager-0.26.0/data \--web.listen-address=:9071 \--cluster.listen-address=:9072Restart=always[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable alertmanager
sudo systemctl restart alertmanager
sudo systemctl status alertmanager
4.3 使用了prometheus 需要修改 new_prometheus.yml

新增

# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:- alertmanager:9071# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:- "alert.yml"

在項目更目錄下新增 新增alert.yml

groups:
- name: Prometheus alertrules:# 對任何實例超過30s無法聯系的情況發出警報- alert: 服務告警expr: up == 0for: 30slabels:severity: criticalannotations:instance: "{{ $labels.instance }}"description: "{{ $labels.job }} 服務已關閉"
具體告警規則:alert: 這是告警的名稱,在這個例子中命名為 "服務告警"。
expr: 這是觸發告警的表達式。在這個例子中,表達式 up == 0 檢查 up 指標是否等于 0。up 指標是 Prometheus 用來表示目標實例可達性的標準指標,其中 0 表示不可達,1 表示可達。
for: 這個條件指定了在觸發告警之前必須滿足告警條件的持續時間。在這里設置為 30s,意味著只有當 up 指標持續為 0 超過 30 秒時,才會觸發告警。
labels: 這部分定義了附加到告警上的標簽。在這個例子中,它設置了一個嚴重性標簽(severity: critical),表示這是一個嚴重的告警。
annotations:
這部分提供了關于告警的更多信息,通常用于在告警通知中顯示。在這個例子中,它包括兩個注解:
instance: "{{ $labels.instance }}":這將顯示觸發告警的實例。
description: "{{ $labels.job }} 服務已關閉":這提供了一個描述性的消息,指出哪個服務(job)已經關閉。
4.4 驗證配置
./promtool check config new_prometheus.yml

在這里插入圖片描述
重新熱加載配置

curl -X POST http://localhost:9070/-/reload

五、grafana 添加數據源

5.1 添加數據來源

這里填寫prometheus 的數據源地址,因為grafana 和 prometheus 放到一臺服務器上了,所以我填寫的是localhost
在這里插入圖片描述

5.2 添加dashboards,添加地址: https://grafana.com/grafana/dashboards/

選擇一個dashborads
在這里插入圖片描述
copy dashborads 的ID
在這里插入圖片描述
在grafana 界面導入dashborad ,可以通過ID導入
在這里插入圖片描述

最后選擇剛剛的數據源
在這里插入圖片描述

最終顯示
在這里插入圖片描述

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

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

相關文章

Navicat 技術指引 | 適用于 GaussDB 分布式的數據遷移工具

Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式數據庫。GaussDB 分布式模式更適合對系統可用性和數據處理能力要求較高的場景。Navicat 工具不僅提供可視化數據查看和編輯功能,還提供強大的高階功能(如模型、結…

單例模式---餓漢式、懶漢式

一、什么是單例模式 單例模式,指的是一個類中的對象只能有一個,它在內存中只會創建一次對象的設計模式。 二、餓漢式 public class SingleTon {// 私有的構造方法private SingleTon() {};// 1. 餓漢式private static SingleTon instance new SingleTon…

整數以及浮點數在內存中的存儲

一.整數在內存當中的存儲 數據在內存中是以十六進制補碼的形式進行存儲的。 原碼表示法簡單易懂,適用于乘法,但用原碼表示的數進行加減運算比較復雜,當兩數相加時,如果同號則數值相加,但是進行減法時要先比較絕對值的…

認知覺醒(六)

認知覺醒(六) 第二節 感性:頂級的成長竟然是“憑感覺” 人類生存于世,比拼的是腦力思維,但極少有人知道,我們的身體里還有一個更高級的系統,若能善用,成就非凡。 1941年,德軍對英國本土進行…

Neo4j介紹

1、Neo4j介紹 Neo4j 是一個圖數據庫管理系統,它專注于存儲和處理圖形結構的數據。圖數據庫是一類特殊的數據庫,用于有效地管理圖形數據模型,其中數據以節點、關系和屬性的形式存儲。 2、Neo4j特點 圖數據庫: Neo4j 是一種 NoSQ…

目標檢測器技術演進簡史

引言 目標檢測算法的發展已經取得了長足的進步,從早期的計算機視覺方法開始,通過深度學習達到了很高的準確度。在這篇博文中,我們將一起回顧一下這些算法的發展階段以及現代目標檢測系統中使用的主要方法。 我們首先回顧早期傳統的目標檢測…

大數據技術3:數據倉庫的ETL和分層模型

前言:我們先了解一下數據倉庫架構的演變過程。 1 、數據倉庫定義 數據倉庫是一個面向主題的(Subject Oriented)、集成的(Integrate)、相對穩定的(Non-Volatile)、反映歷史變化(Time…

電商系統架構演進

聊聊電商系統架構演進 具體以電子商務網站為例, 展示web應用的架構演變過程。 1.0時代 這個時候是一個web項目里包含了所有的模塊,一個數據庫里包含了所需要的所有表,這時候網站訪問量增加時,首先遇到瓶頸的是應用服務器連接數&a…

深入體驗:山海鯨可視化軟件的獨特魅力

山海鯨可視化軟件是一款功能強大的數據可視化工具,作為該軟件的資深用戶,我深感其獨特的魅力和優勢。下面,我將從軟件特點、操作體驗、數據交互和實際應用場景等方面,為大家詳細介紹山海鯨可視化軟件。 首先,山海鯨可視…

解決Eslint和Prettier關于三元運算符的沖突問題

三元運算符Prettier的格式化 三元運算符Eslint的格式要求 解決辦法 // eslint加入配置,屏蔽標紅報錯indent: [error, 2, { ignoredNodes: [ConditionalExpression] }]效果

Nginx按指定格式記錄訪問日志

今天突然想起來一個日志的一個東西,因為拉項目無意中看到了日志文件的一些東西,現在不經常做后端了,加上其他的一些原因吧.有時候有些問題也沒想太多,馬馬虎虎就過了,后來想想還是要記錄一下這方面的處理過程吧: 一般我們作為開發人員關注的日志只是在應用程序層面的,我們稱它…

LSTM_預測價格問題_keras_代碼實操

0、問題描述 使用Bicton數據集,對close數據進行預測,使用60個數據點預測第61個數據點。 下載數據集:Bitcoin Historical Data 前期已經使用了MLP和RNN進行預測:這里 1、 沒有寫完,明天再寫:)…

POJ 3735 Training little cats 動態規劃(矩陣的冪)

一、題目大意 我們有N只貓&#xff0c;每次循環進行K次操作&#xff08;N<100&#xff0c;K<100&#xff09;&#xff0c;每次操作可有以下三種選擇&#xff1a; 1、g i 給第i只貓1個食物 2、e i 讓第i只貓吃完它所有的食物 3、s i j 交換第i和j只貓的食物。 求出M次…

JS自己定義數組擴展方法 求和 和 最大值、最小值

相信有小伙伴看到這一個標題可能會想&#xff1a;現在都可以自己寫方法了嗎&#xff1f;這么炸裂。沒錯我們是可以自己寫方法的。 1.我們定義的這個方法&#xff0c;任何一個數組實例對象都可以使用 2.自定義的方法寫到 數組.propertype身上 最大值 const arr [1,2,3,4]Array…

銷售技巧培訓之如何提高手機銷售技巧

銷售技巧培訓之如何提高手機銷售技巧 隨著科技的迅速發展&#xff0c;手機已成為我們日常生活中不可或缺的一部分。作為一名手機銷售員&#xff0c;了解手機銷售技巧是必不可少的。本文將通過案例分析與實踐&#xff0c;為你揭示手機銷售的奧秘。 一、了解客戶需求 在銷售過程…

AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 3 “編譯 NXP i.MX RT1060”( 完 )

此章節敘述如何修改、建構 i.MX RT1060 的 Sample Code“aws_remote_control_wifi_nxp” 1. 點擊“Import SDK example(s)” 2. 選擇“MIMXRT1062xxxxA”>“evkmimxrt1060”&#xff0c;并確認 SDK 版本后&#xff0c;點擊“Next>” 3. 選擇“aws_examples”>“aw…

在 Docker 容器中運行 macOS:接近本機性能,實現高效運行 | 開源日報 No.96

cxli233/FriendsDontLetFriends Stars: 2.6k License: MIT 這個項目是關于數據可視化中好的和不好的實踐&#xff0c;作者通過一系列例子解釋了哪些圖表類型是不合適的&#xff0c;并提供了如何改進或替代它們。主要功能包括展示錯誤做法以及正確做法&#xff0c;并提供相應代…

【數值計算方法(黃明游)】解線性代數方程組的迭代法(一):向量、矩陣范數與譜半徑【理論到程序】

文章目錄 一、向量、矩陣范數與譜半徑1、向量范數a. 定義及性質補充解釋范數差 b. 常見的向量范數 l 1 l_1 l1?、 l 2 l_2 l2?、 l ∞ l_\infty l∞? 范數性質關系 2、矩陣范數a. 矩陣的范數b. 常見的矩陣范數相容范數算子范數 3、譜半徑4、知識點總結1. 向量范數2. 矩陣范數…

Mybatis XML 多表查詢

這篇需結合 <<Mybatis XML 配置文件>>那一篇博客一起看 工作中盡量避免使用多表查詢,尤其是對性能要求非常高的項目 我們之前建了個用戶表(代碼在Mybatis XML配置文件那篇博客里),這次再建一個文章表,代碼如下 : -- 創建?章表 DROP TABLE IF EXISTS articleinf…

vue中組件傳值方法

父組件給子組件傳值 一、 1.在子組件標簽中寫入父組件傳遞數據 向下傳遞prop 2.在子組件內聲明props選項接收父組件傳遞的數據 props:[,,] 父組件&#xff1a; <Header :msgmsg ></Header> 子組件&#xff1a; props:[msg], 二、 provide i…