1.Prometheus快速入门,Prometheus+node_exporter安装
1.Prometheus快速入門
1.1.基本原理
2.Prometheus+node_exporter安裝
2.1.環境準備:虛擬出機器
2.2.安裝運行prometheus和node_exporter
2.3.啟動prometheus(普羅米修斯)和node_exporter
2.3.1.解壓文件
2.3.2.后臺啟動prometheus和node_exporter
2.4.訪問界面
2.4.1.訪問node_exporter
2.4.2.訪問prometheus
2.5.配置Prometheus的監控數據源
2.6.重啟Prometheus
2.7.查看監控數據
1.Prometheus快速入門
參考文章:https://www.cnblogs.com/chanshuyi/p/01_head_first_of_prometheus.html
1.1.基本原理
Prometheus的基本架構如下圖所示:
從上圖可以看到,整個 Prometheus 可以分為四大部分,分別是:
?Prometheus服務器
Prometheus Server是Prometheus組件中的核心部分,負責實現對監控數據的獲取,存儲以及查詢。
?NodeExporter業務數據源
業務數據源通過 Pull/Push 兩種方式推送數據到 Prometheus Server。
?AlertManager報警管理器
Prometheus 通過配置報警規則,如果符合報警規則,那么就將報警推送到 AlertManager,由其進行報警處理。
?可視化監控界面
Prometheus 收集到數據之后,由 WebUI 界面進行可視化圖標展示。目前我們可以通過自定義的 API 客戶端進行調用數據展示,也可以直接使用 Grafana 解決方案來展示。
簡單地說,Prometheus 的實現架構也并不復雜。其實就是收集數據、處理數據、可視化展示,再進行數據分析進行報警處理。但其珍貴之處在于提供了一整套可行的解決方案,并且形成了一整個生態,能夠極大地降低我們的研發成本。
2.Prometheus+node_exporter安裝
2.1.環境準備:虛擬出機器
前置條件,已經有一個虛擬化好的Centos7.5的鏡像。(筆者使用Docker Desktop創建了一個虛擬的docker環境)。
docker run -itd --restart=always --name node1 --hostname node1 -v D:/dockerworkspace/node1/hosts:/etc/hosts -v D:/dockerworkspace/node1/hostname:/etc/hostname -v D:/dockerworkspace/node1/data:/data -v D:/dockerworkspace/node1/profile:/etc/profile -v D:/dockerworkspace/node1/software:/root/software -v D:/dockerworkspace/node1/installed:/root/installed -v D:/dockerworkspace/node1/workspace:/root/workspace -p 10022:22 -p 19090:9090 -p 18080:8080 -p 13000:3000 -p 19091:9091 -p 19093:9093 1694ea743590 /usr/sbin/sshd -D端口說明:
-p 10022:22 :ssh端口 -p 19090:9090 :Prometheus端口 -p 18080:8080 :node_exporter端口 -p 13000:3000 :grafana端口 -p 19091:9091 :pushgateway -p 19093:9093 :alertmanager2.2.安裝運行prometheus和node_exporter
Prometheus 服務端負責數據的收集,因此我們應該首先安裝并運行 Prometheus Server。
從https://prometheus.io/download/ 找到最新版本的Prometheus軟件包:
再同一個頁面中下載node_exporter
將下載的包放到:D:\dockerworkspace\node1\software,即Centos下的:/root/installed下
2.3.啟動prometheus(普羅米修斯)和node_exporter
2.3.1.解壓文件
分別將Prometheus和node_exporter解壓到/root/installed
cd /root/software tar -zxvf prometheus-2.29.0-rc.1.linux-amd64.tar.gz -C /root/installed/ tar -zxvf node_exporter-1.2.1.linux-amd64.tar.gz -C /root/installed/查看prometheus內的文件結構
查看node_exporter的文件結構
2.3.2.后臺啟動prometheus和node_exporter
啟動命令如下:
# 啟動普羅米修斯 cd /root/installed/prometheus nohup ./prometheus --config.file=prometheus.yml > prometheus.file 2>&1 &# 啟動node_exporter cd /root/installed/node_exporter nohup ./node_exporter --web.listen-address 172.17.0.2:8080 > nodeout.file 2>&1 &2.4.訪問界面
2.4.1.訪問node_exporter
http://localhost:18080 (使用映射端口18080進行訪問)
其中 HELP 用于解釋當前指標的含義,TYPE 則說明當前指標的數據類型。
數據格式類似:
node_scrape_collector_success{collector="arp"} 1 node_scrape_collector_success{collector="bcache"} 1 node_scrape_collector_success{collector="bonding"} 0 node_scrape_collector_success{collector="btrfs"} 1 node_scrape_collector_success{collector="conntrack"} 12.4.2.訪問prometheus
http://localhost:19090 (使用映射端口19090進行訪問)
2.5.配置Prometheus的監控數據源
現在我們運行了 Prometheus 服務器,也運行了業務數據源 NodeExporter。但此時 Prometheus 還獲取不到任何數據,我們還需要配置下 prometheus.yml 文件,讓其去拉取 Node Exporter 的數據。
我們配置一下 Prometheus 的配置文件,讓 Prometheus 服務器定時去業務數據源拉取數據。編輯prometheus.yml 并在 scrape_configs 節點下添加以下內容:
vim /root/installed/prometheus/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: ["localhost:9090"]# 采集node exporter監控數據- job_name: 'node'static_configs:- targets: ['172.17.0.2:8080'] # 172.17.0.2為node_exporter所在機器的ip上面配置文件配置了兩個任務。一個是名為prometheus的任務,其從[“localhost:9090”]地址讀取數據。另一個是名為node的任務,其從[‘172.17.0.2:8080’]地址讀取數據。
配置完成后,我們重新啟動 Prometheus。
2.6.重啟Prometheus
# 啟動普羅米修斯 cd /root/installed/prometheus nohup ./prometheus --config.file=prometheus.yml > prometheus.file 2>&1 &2.7.查看監控數據
配置完 Prometheus 讀取的數據源之后,Prometheus 便可以從 Node Exporter 獲取到數據了。那么接下來我們如何查看到這些數據呢?
答案是:Prometheus UI! (通過訪問瀏覽器的方式訪問)
Prometheus UI 是 Prometheus 內置的一個可視化管理界面,我們通過 http://localhost:19090 就可以訪問到該頁面。
通過 Prometheus UI 可以查詢 Prometheus 收集到的數據,而 Prometheus 定義了 PromQL 語言來作為查詢監控數據的語言,其余 SQL 類似。
接下來我們訪問 http://localhost:19090,進入到 Prometheus Server。如果輸入「up」并且點擊執行按鈕以后,可以看到如下結果:
然后點擊輸入框后面的Execute按鈕,可以看到:
處有幾條記錄,其中 instance 值為 localhost:8080 的記錄,value 是 1,這代表對應應用是存活狀態。
例如查看我們所運行 NodeExporter 節點所在機器的內存使用情況,可以輸入:node_memory_Active_bytes/(102410241024) 查看。
查看 NodeExporter 節點所在機器 CPU 1 分鐘的負載情況,可以輸入 node_load1 即可查看。
到這里,我們基本上為完成了數據的收集過程,即數據從業務側收集到 Prometheus 側,并且還學會了如何使用 Prometheus 自帶的控制臺。
總結
以上是生活随笔為你收集整理的1.Prometheus快速入门,Prometheus+node_exporter安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东北证券是国企吗
- 下一篇: 购房合同是贷款下来才能拿到吗