Grafana 系列監控系列
Grafana 是一個開源的數據可視化和監控平台,主要用於監控系統性能、業務指標等數據。它的主要特點和功能包括:
- 數據可視化:Grafana 支持多種類型的圖表和儀表板,可以將不同來源的數據以直觀的方式呈現出來,幫助用戶快速理解數據趨勢和關聯性。
- 多數據源支持:Grafana 支持多種數據源,如 Prometheus、InfluxDB、Elasticsearch、MySQL、PostgreSQL 等,用戶可以方便地從不同的數據源中獲取數據。
- 儀表板和模板:用戶可以使用 Grafana 提供的模板快速創建儀表板,也可以根據自己的需求自定義儀表板。儀表板可以包含多個面板,每個面板可以顯示不同的圖表和指標。
- 告警和通知:Grafana 支持設置告警規則,當某個指標達到預設的閾值時,可以通過郵件、Slack、Discord 等方式發送通知,提醒用戶注意系統的異常情況。
- 用戶權限管理:Grafana 內置了用戶權限管理功能,管理員可以對不同的用戶和團隊進行權限控制,確保數據的安全性和隱私性。
- 插件系統:Grafana 提供了豐富的插件系統,用戶可以根據自己的需求安裝不同的插件,擴展 Grafana 的功能。
上圖是本次要實作的操作,都是透過容器進行部署
Prometheus
開源的監控系統和時間序列數據庫,適用於記錄數字時間序列數據,如系統指標、應用程序指標等。
Alertmanager
為Prometheus 的告警管理和通知組件,支持多種通知方式,如郵件、Slack、Discord、PagerDuty 等,可以對告警進行去重、分組和靜默處理,以減少告警噪音。
Loki
是一個水平可擴展、高可用以及成本效益較高的日誌聚合系統,與 Elasticsearch 等全文檢索解決方案不同,Loki 關注於日誌的索引和檢索,而不是全文搜索。
node_exporter
Prometheus 的一個輔助工具,用於收集主機層面的指標,可以採集主機的 CPU、內存、磁盤、網絡等各種系統指標。
promtail
Loki 的日誌收集組件,用於將日誌發送到 Loki 進行存儲和查詢,可以從各種來源收集日誌,如本地文件、Syslog、Journald 等。
# docker-compose.yaml
services:
grafana:
image: grafana/grafana
container_name: grafana
restart: always
networks:
- monitoring
ports:
- 3000:3000
loki:
image: grafana/loki
container_name: loki
restart: always
networks:
- monitoring
ports:
- 3100:3100
# loki 配置 ->/etc/loki/local-config.yaml
prometheus:
image: bitnami/prometheus
container_name: prometheus
restart: always
networks:
- monitoring
ports:
- 9090:9090
# prometheus配置 -> /opt/bitnami/prometheus/conf/prometheus.yml
alertmanager:
image: bitnami/alertmanager
container_name: alertmanager
restart: always
networks:
- monitoring
ports:
- 9093:9093
# alertmanager配置 -> /opt/bitnami/alertmanager/conf/config.yml
networks:
monitoring: