Centos8 部署Promethus(普罗米修斯)+grafana画图
文章目錄
- 1. 普羅米修斯概述
- 2. 時間序列數據
- 3. 普羅米修斯特征
- 4. 普羅米修斯原理架構圖
- 5. 部署普羅米修斯
- 5.1 安裝prometheus
- 5.2 prometheus web界面
- 6. 監控遠程Linux主機
- 7. 結合grafana畫圖
1. 普羅米修斯概述
Prometheus(由go語言(golang)開發)是一套開源的監控&報警&時間序列數 據庫的組合。適合監控docker容器。
2. 時間序列數據
時間序列數據(TimeSeries Data) : 按照時間順序記錄系統、設備狀態變化 的數據被稱為時序數據。
應用的場景很多, 如:
時間序列數據特點
性能好
關系型數據庫對于大規模數據的處理性能糟糕。NOSQL可以比較好的處理 大規模數據,讓依然比不上時間序列數據庫。
存儲成本低高效的壓縮算法,節省存儲空間,有效降低IO
Prometheus有著非常高效的時間序列數據存儲方法,每個采樣數據僅僅占 用3.5byte左右空間,上百萬條時間序列,30秒間隔,保留60天,大概花了 200多G(來自官方數據
3. 普羅米修斯特征
一個多維數據模型(時間序列由指標名稱定義和設置鍵/值尺寸)
一個靈活的查詢語言來利用這一維度
不依賴于分布式存儲;單服務器節點是自治的
時間序列收集通過HTTP 上的拉模型進行
通過中間網關支持推送時間序列
通過服務發現或靜態配置發現目標
多種圖形和儀表板支持模式
支持分層和水平聯合
4. 普羅米修斯原理架構圖
5. 部署普羅米修斯
實驗環境:
| master | Prometneus服務器 | 192.168.216.200 |
| slave1 | 被監控服務器 | 192.168.216.210 |
| grafana | grafana服務器 | 192.168.216.215 |
環境準備,3臺主機可聯通外網
//3臺主機均需要關閉防火墻,selinux [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# systemctl disable firewalld.service Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@localhost ~]# vim /etc/selinux/config [root@localhost ~]# setenforce 05.1 安裝prometheus
從官網下載相應的安裝包https://prometheus.io/download/
[root@master ~]# ls anaconda-ks.cfg prometheus-2.31.1.linux-amd64.tar.gz//解壓到/usr/local [root@master ~]# tar -zxvf prometheus-2.31.1.linux-amd64.tar.gz -C /usr/local///改名字或者做軟連接 [root@master ~]# cd /usr/local/ [root@master local]# mv prometheus-2.31.1.linux-amd64 prometheus [root@master local]# ls bin etc games include lib lib64 libexec prometheus sbin share src//使用默認配置文件啟動 [root@master local]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" //另外開一個終端查看端口號,9090就是默認端口號 [root@master ~]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 *:9090 *:* LISTEN 0 128 [::]:22 [::]:*5.2 prometheus web界面
6. 監控遠程Linux主機
去之前的官網下載安裝node_exporter組件
[root@slave1 ~]# ls anaconda-ks.cfg node_exporter-0.17.0.linux-amd64.tar.gz//一樣的解壓,改名 [root@slave1 ~]# tar -zxvf node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/ node_exporter-0.17.0.linux-amd64/ node_exporter-0.17.0.linux-amd64/NOTICE node_exporter-0.17.0.linux-amd64/node_exporter node_exporter-0.17.0.linux-amd64/LICENSE[root@slave1 local]# mv node_exporter-0.17.0.linux-amd64/ node_exporter [root@slave1 local]# ls bin etc games include lib lib64 libexec node_exporter sbin share src [root@slave1 local]# cd node_exporter/ //就一個可執行文件,直接運行 [root@slave1 node_exporter]# ls LICENSE node_exporter NOTICE//這樣運行不用開新終端 [root@slave1 node_exporter]# nohup /usr/local/node_exporter/node_exporter nohup: 忽略輸入并把輸出追加到'nohup.out' [root@slave1 node_exporter]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 *:9100 *:* LISTEN 0 128 [::]:22 [::]:* //確認端口9100正常運行//在服務器上配置slave1,注意格式 [root@master ~]# vim /usr/local/prometheus/prometheus.yml .........略 - job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]- job_name: "slave1" //監控主機的別名static_configs:- targets: ['192.168.216.210:9100'] //ip+端口//重啟服務 [root@master ~]# pkill prometheus [root@master ~]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 [::]:22 [::]:* [root@master ~]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" & [root@master local]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 *:9090 *:* LISTEN 0 128 [::]:22 [::]:*回到服務器網頁
7. 結合grafana畫圖
官網下載grafana
地址:https://grafana.com/grafana/download
總結
以上是生活随笔為你收集整理的Centos8 部署Promethus(普罗米修斯)+grafana画图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文好词好句开源共享@GitHub
- 下一篇: 关于java 操作word的几种方式