一、基本概念
1、之間的關係
prometheus與grafana之間是相輔相成的關係。作為完美的分散式監控系統的Prometheus,就想布加迪威龍一樣示例和動力強勁。在猛的車也少不了儀表盤來觀察。於是優雅的視覺化平臺Grafana出現了。
簡而言之Grafana作為視覺化的平臺,平臺的資料從Prometheus中取到來進行儀表盤的展示。而Prometheus這源源不斷的給Grafana提供資料的支援。
2、基本工作原理
- Exporter 監控工具,獲取資料
- Prometheus 普羅米修斯時序資料庫,用來儲存和查詢你的監控資料
- Grafana 儀表盤
二、瞭解概念之- Prometheus
Prometheus是一個開源的系統監控和報警系統,由Google BorgMon監控系統的開源版本發展而來。它使用Go語言開發,能夠監控和告警各種系統,包括網路、儲存、伺服器和應用等。Prometheus透過採集大量監控資料並儲存到時間序列資料庫中,然後透過查詢語言PromQL進行資料查詢和視覺化。它已經成為繼k8s之後第二大在CNCF託管的專案,被廣泛應用於各種資料中心環境的監控。
三、瞭解概念之—Grafana
Grafana是一個開源的度量分析和視覺化套件,常被用於資料分析和監控。它支援多種不同的資料來源,包括Graphite、Elasticsearch、InfluxDB、Prometheus等,並能夠將資料以各種圖形的方式展示出來,比如折線圖、柱狀圖、熱圖等。Grafana的儀表盤可以用來展示各種資訊,比如系統效能、網路延遲、使用者行為等。Grafana還支援自定義查詢和視覺化的功能,可以根據不同的需求來定製資料展示。
環境準備
系統 | 配置 | IP | 角色 | ||
---|---|---|---|---|---|
centos7.9 | 2c4g | 192.168.8.174 | prometheus | ||
centos7.9 | 2c4g | 192.168.8.180 | granfan,node_exporter |
1、安裝普羅米修斯
prometheus-2.33.3.linux-amd64.tar.gz
#關閉防火牆,核心
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#建立prometheus程式存放目錄
[root@localhost ~]# mkdir /app/
[root@localhost ~]# tar zxvf prometheus-2.33.3.linux-amd64.tar.gz -C /app/
2、啟動prometheus
[root@localhost ~]# cd /app/prometheus-2.33.3.linux-amd64/
[root@localhost prometheus-2.33.3.linux-amd64]# ./prometheus
#後臺啟動
[root@localhost prometheus-2.33.3.linux-amd64]# nohup /app/prometheus-2.33.3.linux-amd64/prometheus &>> /var/log/prometheus.log &
#檢視埠
[root@localhost prometheus-2.33.3.linux-amd64]# netstat -anpt |grep 9090
tcp6 0 0 :::9090 :::* LISTEN 11953/./prometheus
tcp6 0 0 192.168.8.174:9090 192.168.8.208:13204 ESTABLISHED 11953/./prometheus
tcp6 0 0 ::1:58432 ::1:9090 ESTABLISHED 11953/./prometheus
tcp6 0 0 ::1:9090 ::1:58432 ESTABLISHED 11953/./prometheus
[root@localhost prometheus-2.33.3.linux-amd64]#
3、訪問prometheus
http://192.168.8.174:9090/
4、在180上部署node_exporter
node_exporter-1.3.1.linux-amd64.tar.gz
[root@localhost ~]# tar zxvf node_exporter-1.3.1.linux-amd64.tar.gz
[root@localhost ~]# cd node_exporter-1.3.1.linux-amd64/
#後臺啟動node_exporter
[root@localhost node_exporter-1.3.1.linux-amd64]# nohup /root/node_exporter-1.3.1.linux-amd64/node_exporter &>> /var/log/node_exporter.log &
[root@localhost node_exporter-1.3.1.linux-amd64]# netstat -anpt |grep 9100
tcp6 0 0 :::9100 :::* LISTEN 15329/node_exporter
[root@localhost node_exporter-1.3.1.linux-amd64]#
修改配置檔案,並重啟prometheus
[root@localhost prometheus-2.33.3.linux-amd64]# vim prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: "prometheus_server"
static_configs:
- targets: ["localhost:9090"]
- job_name: "basic information"
static_configs:
- targets: ["192.168.8.180:9100"]
[root@localhost ~]# killall prometheus
[root@localhost ~]# nohup /app/prometheus-2.33.3.linux-amd64/prometheus &>> /var/log/prometheus.log &
[root@localhost prometheus-2.33.3.linux-amd64]# ps -ef |grep prometheus
root 31400 11965 11 10:06 pts/2 00:00:00 /app/prometheus-2.33.3.linux-amd64/prometheus
root 31413 11965 0 10:06 pts/2 00:00:00 grep --color=auto prometheus
5、部署grafana
上傳grafana-9.3.6-1.x86_64.rpm
[root@localhost ~]# rpm -ivh grafana-9.3.6-1.x86_64.rpm
[root@localhost ~]# systemctl start grafana-server.service
[root@zbx-server ~]# netstat -anpt |grep 3000
tcp6 0 0 :::3000 :::* LISTEN 16602/grafana-serve
[root@zbx-server ~]#
訪問granfan
http://192.168.8.180:3000/
使用者名稱:admin
密碼:admin
匯入監控模板