Linux tar包安裝 Prometheus 和 Grafana(知識點:systemd Unit/重定向)

0. 介紹

用tar包的方式安裝 Prometheus 和 Grafana

  • Prometheus:開源的監控方案
  • Grafana:將Prometheus的數據可視化平臺

Prometheus已經有了查詢功能為什么還需要grafana呢?Prometheus基于promQL這一SQL方言,有一定門檻!Grafana基于瀏覽器的操作與可視化圖表大大降低了理解難度


1. Prometheus

1. 下載 與 解壓
  • 官網下載: https://prometheus.io/download/#prometheus
  • 上傳至機器
  • 解壓命令:tar -xzf prometheus-*.tar.gz
2. 啟動與暫停
  • 進入解壓后的文件夾:cd prometheus-*
    ll命令可以發現可執行文件 prometheus 和 prometheus.yml ,分別是啟動文件和配置文件

啟動prometheus我們可以編寫systemd unit 服務,也可以直接nohup &直接掛起

2.1 掛起后臺啟動:

nohup ./prometheus --config.file=prometheus.yml --web.enable-admin-api --web.enable-lifecycle > nohup.out 2>&1 &

  • –web.enable-admin-api: 開啟API服務,為下個參數動態加載配置打基礎
  • –web.enable-lifecycle : 這個配置后,可以動態加載配置文件而無需重啟prometheus,具體命令是 curl -X POST Prometheus所在機器ip:Prometheus監控的端口/-/reload
  • 2>&1 :標準錯誤輸出重定向標準輸出, &>filename 可以實現也是一樣的效果.2>&1 是舊shell寫法兼容性更高點
  • nohup …&:
    • & 只是將命令置于后臺,但是命令仍與終端窗口關聯.導致默認情況下,命令的標準輸出和標準錯誤輸出仍然連接到終端;
    • nohup 將命令放入后臺運行,并且它會將命令的標準輸出和標準錯誤輸出重定向到一個名為 nohup.out 的文件中,這樣即使你關閉終端,命令也會繼續運行,并且輸出會寫入到 nohup.out 文件中。
    • 看起來nohup擁有了 &的效果,為什么還用&?一方面是 &比nohup更兼容 另一方面是 單獨nohup后,你需要手動 ctrl+z 將命令掛起, 配合 &可以馬上放入后臺運行~

ps -ef|grep prometheus 命令可以查看prometheus進程信息

2.2 systemd service 啟動

創建prometheus.service 文件,不熟悉systemd定時器可以去看看阮老大文章Systemd 定時器教程
,這里我的prometheus 在/opt下,各位注意換成自己的路徑

[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus.yml --web.enable-admin-api --web.enable-lifecycle
Restart=on-failure 
[Install]
WantedBy=multi-user.target

將上述文件保存到 /etc/systemd/system 目錄后,輸入下列命令

#1.加載系統服務
sudo systemctl daemon-reload
#2.啟動服務
sudo systemctl start prometheus.service
#3.設置為系統自啟動
sudo systemctl enable prometheus.service
#4 .查看狀態
sudo systemctl status prometheus.service

  • Type=simple:該服務是個簡單基本的服務,一旦啟動命令被執行,systemd 將認為服務已經啟動完成,不會監視服務進程的運行狀態或退出。對于啟動后會一直運行的服務(如守護進程)非常適用,因為它們會在后臺運行而不會立即退出。
  • Restart:指定服務在失敗或退出后是否自動重啟.no/always/on-failure(非零退出代碼(失敗)退出時)/on-abnormal(服務以異常退出時(如由信號終止))

下面是systemd其他常用命令

停止服務
sudo systemctl stop prometheus.service
關閉自啟動
sudo systemctl disable prometheus.service

3. web查看

瀏覽器 打開 Prometheus所在機器ip:9090 (默認端口9090)

4. 修改配置文件yml

先說兩個輔助命令:

  1. Prometheus 根目錄下自帶了一個 檢查配置文件是否正確的小工具 promtool,
    使用語法:

    ./promtool check config prometheus.yml

  2. 之前啟動命令配置了 熱啟動(enable-lifestyle),所以我們可以通過命令熱更新配置文件無需重啟整個Prometheus

    curl -X POST ip:port/-/reload


2. Grafana

Grafana 和 Prometheus安裝步驟類似,官網文檔 https://grafana.com/docs/grafana/latest

2.1 下載 和安裝
  • 下載頁: https://grafana.com/grafana/download
  • 上傳至目標機器
  • tar -xzvf XX.tar.gz
2.2 啟動和停止服務

grafana的啟動腳本在 根目錄下的bin文件夾,叫 grafana-server
啟動,這里只寫了nohup命令,systemd 的server文件參考上面的Prometheus的

nohup ./bin/grafana-server 2>&1 &

停止服務,nohup就kill 掉,systemd 就 systemctl stop xx.service

3. web查看

瀏覽器 打開 grafana安裝機器ip:3000 (默認端口3000),第一次登錄用戶/密碼均是 admin,之后按提示更改密碼即可

4. grafana配置文件修改

待補充

5. grafana模板

grafana 模板可以在 https://grafana.com/grafana/dashboards/ 尋找,
之后在grafana左側sidebar的dashboards->import 面板導入使用


3.現在的不足

我們現在有了Prometheus 和Grafana~

但是Prometheus去哪里抓取數據呢?(Prometheus是pull模型)因此有了各種各樣的export用于對主機進行數據刮削,需要在被監控的主機中按需按照export

現在的鏈路是 export(刮削數據)->Prometheus主動抓取export(export注冊發現?配置在Prometheus的配置文件中)->grafana(導入Prometheus數據源后即可展示)

現在還缺什么?告警組件,監控平臺除開數據的展示外,另一個重要的功能就是當某些數據達到閾值后進行主動告警!

Prometheus生態下的告警組件是 alertmanager,但是不包含Prometheus中,需要你額外安裝配置,prometheus server獲取監控指標,基于這些指標定義規則(rules),若這些指標滿足告警規則便將信息推送到Alertmanager

alert manager的編寫閾值規則稍微有些復雜,但是有 https://samber.github.io/awesome-prometheus-alerts/rules.html 這樣的前人分析了規則供我們借鑒的網站,所以還好

grafana web界面也可以配置alert,但是沒研究過

上述介紹就放到后續文章中吧!

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

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

相關文章

Vue3 setup tsx 子組件向父組件傳值 emit

需求:Vue3 setup 父組件向子組件傳值,子組件接收父組件傳入的值;子組件向父組件傳值,父組件接收的子組件傳遞的值。 父組件:parent.tsx: import { defineComponent, ref, reactive } from vue; import To…

【Android】okhttp爆java.lang.IllegalStateException: closed的解決方法

解決 java.lang.IllegalStateException: closed異常通常是由于OkHttp中的Response對象在調用response.body().string()后被關閉而導致的。 在代碼中,在onResponse()方法中如果兩次調用了response.body().string(),每次調用都會消耗掉響應體并關閉Respo…

如何優化PHP Smarty模板的性能?

Smarty模板是一種非常強大的模板引擎,但是如果不正確地使用,可能會導致你的網站慢得像一只樹懶! 那么,如何優化Smarty模板的性能呢? 減少Smarty對象的創建 你可能會在代碼中多次創建Smarty對象。但是,每次…

Server - 文字轉語音 (Text to Speech) 的在線服務 TTSMaker

歡迎關注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132287193 TTSMaker 是一款免費的文本轉語音工具,提供語音合成服務,支持多種語言,包括英語、法語、德語、西班…

什么是冒煙測試?

冒煙測試,剛進公司就接觸到了。只是剛開始一直沒有體會到冒煙的含義和精髓,一直以為是冒煙測試就是把待測產品的主要功能測試一下就行了。后面回想一下,不是那么回事的。 冒煙測試源自硬件行業,對一個硬件或者硬件組件改動后&…

Exams/ece241 2013 q4

蓄水池問題 S3 S2 S1 例如:000 代表 無水 ,需要使FR3, FR2, FR1 都打開(111) S3 S2 S1 FR3 FR2 FR1 000 111 001 011 011 001 111 000 fr代表水變深為…

快手商品詳情數據API 抓取快手商品價格、銷量、庫存、sku信息

快手商品詳情數據API是用來獲取快手商品詳情頁數據的接口,請求參數為商品ID,這是每個商品唯一性的標識。返回參數有商品標題、商品標題、商品簡介、價格、掌柜昵稱、庫存、寶貝鏈接、寶貝圖片、商品SKU等。 接口名稱:item_get 公共參數 名…

【PostgreSQL的CLOG解析】

同樣還是這張圖,之前發過shared_buffer和os cache、wal buffer和work mem的文章,今天的主題是圖中的clog,即 commit log,PostgreSQL10之前放在數據庫目錄的pg_clog下面。PostgreSQL10之后修更名為xact,數據目錄變更為pg_xact下面&…

WPF 本地化的最佳做法

WPF 本地化的最佳做法 資源文件英文資源文件 en-US.xaml中文資源文件 zh-CN.xaml 資源使用App.xaml主界面布局cs代碼 App.config輔助類語言切換操作類資源 binding 解析類 實現效果 應用程序本地化有很多種方式,選擇合適的才是最好的。這里只討論一種方式&#xff0…

pytorch單機多卡后臺運行

nohup sh ./train_chat.sh > train_chat20230814.log 2>1&參考資料 Pytorch單機多卡后臺運行的解決辦法

kafka-2.12使用記錄

kafka-2.12使用記錄 安裝kafka 2.12版本 下載安裝包 根據你的系統下載rpm /deb /zip包等等, 這里我使用的是rpm包 安裝命令 rpm -ivh kafka-2.12-1.nfs.x86_64.rpm啟動內置Zookeeper 以下命令要寫在同一行上 /opt/kafka-2.12/bin/zookeeper-server-start.sh /opt/kafka-2…

實驗二十八、三角波發生電路參數的確認

一、題目 利用 Multisim 確定圖1所示電路中各元件的參數,使輸出電壓的頻率為 500 Hz 500\,\textrm{Hz} 500Hz、幅值為 6 V 6\,\textrm{V} 6V 的三角波。 圖 1 三角波發生電路 圖1\,\,三角波發生電路 圖1三角波發生電路 2、仿真電路 A 1 \textrm A_1 A1? 采用…

深入解析 MyBatis 中的 lt;foreachgt; 標簽:優雅處理批量操作與動態 SQL

在當今的Java應用程序開發中&#xff0c;數據庫操作是一個不可或缺的部分。MyBatis作為一款頗受歡迎的持久層框架&#xff0c;為我們提供了一種優雅而高效的方式來管理數據庫操作。在MyBatis的眾多特性中&#xff0c;<foreach>標簽無疑是一個強大的工具&#xff0c;它使得…

sift-1M數據集的讀取及ES插入數據

sift是檢查ann近鄰召回率的標準數據集,ann可以選擇faiss,milvus等庫或者方法;sift數據分為query和base,以及label(groundtruth)數據。本文采用sift-1M進行解讀,且看如下: 1、sift-1m數據集 官方鏈接地址:Evaluation of Approximate nearest neighbors: large datase…

Java:簡單算法:冒泡排序、選擇排序、二分查找

冒泡排序 // 1、準備一個數組 int[] arr {5&#xff0c;2&#xff0c;3&#xff0c;1};//2、定義一個循環控制排幾輪 for (int i 0; i < arr.length - 1; i) { // i 0 1 2 【5&#xff0c;2&#xff0c;3&#xff0c;1】 次數 // i 0 第一輪 0 1 2 …

P4377 [USACO18OPEN] Talent Show G

P4377 [USACO18OPEN] Talent Show G [P4377 USACO18OPEN] Talent Show G - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) 文章目錄 P4377 [USACO18OPEN] Talent Show G題目題目描述輸入格式輸出格式樣例 #1樣例輸入 #1樣例輸出 #1 提示樣例解釋數據規模與約定 思路code 題目 …

onlyoffice

一、功能描述 技術實現 選型&#xff1a;minio 文件存儲服務器 onlyoffice 文檔編輯器 選項特征&#xff1a;免費&#xff0c;支持私有化部署&#xff0c;不依賴第三方網絡接口 Podman是RedHat開發的一個用戶友好的容器調度器&#xff0c;是一種開源的Linux原生工具&#x…

「網絡」網絡安全必須知道的19個知識分享

一、防火墻&#xff08;Firewall&#xff09; 定義&#xff1a;都知道防火墻是干什么用的&#xff0c;但我覺得需要特別提醒一下&#xff0c;防火墻抵御的是外部的攻擊&#xff0c;并不能對內部的病毒 ( 如ARP病毒 ) 或攻擊沒什么太大作用。 功能 : 防火墻的功能主要是兩個網…

Vue2-收集表單數據、過濾器、內置指令與自定義指令、Vue生命周期

&#x1f954;&#xff1a;我徒越萬重山 千帆過 萬木自逢春 更多Vue知識請點擊——Vue.js VUE2-Day4 收集表單數據1、不同標簽的value屬性2、v-model的三個修飾符 過濾器內置指令與自定義指令1、內置指令2、自定義指令定義語法&#xff08;1&#xff09;函數式&#xff08;2&am…

文獻綜述|NLP領域后門攻擊、檢測與防御

前言&#xff1a;在信息安全中后門攻擊&#xff08;Backdoor Attack&#xff09;是指繞過安全控制而獲取對程序或系統訪問權的方法。而隨著深度學習以及各種神經網絡模型的廣泛應用&#xff0c;神經網絡中存在的后門問題也引起了研究人員的廣泛關注。神經網絡后門攻擊就是使網絡…