簡介
本教程講解了一下如何設計構建一個高效能、高可靠、高擴充套件的Zabbix 監控叢集。
架構圖
架構圖PDF下載: https://songxwn.com/file/Zabbix_HA.pdf
Pigsty 時序資料庫叢集
Zabbix Server 和 Grafana的資料都是存放在資料庫的,而Zabbix效能很大程度取決於資料庫。所以要搭建資料庫叢集,提供效能和冗餘性。(資料庫最好使用SSD,最好是NVME SSD)
Pigsty 叢集搭建教程 https://songxwn.com/Pigsty-PG-RDS/
時序資料庫 TimescaleDB
TimescaleDB,這是一種基於PostgreSQL的資料庫解決方案,可自動將資料分為基於時間的塊,以支援更快的大規模的監控效能。能以更好的效能去刪除過期的監控資料和進行實時壓縮資料,可節省空間。
Zabbix Server HA
Zabbix 從6.0 開始支援原生的HA故障切換,HA實現需要主備資料連線到同一個資料庫例項。(Pigsty PG叢集)
HA透過資料庫心跳實現,若主Zabbix Server在指定時間內不再寫入心跳,則備會自動切換並開始工作。(當Zabbix Server處於備狀態時候不會有任何操作。)
Zabbix Web 前端
Zabbix前端是直連資料庫,是基於PHP的無狀態應用。所以多例項可以同時使用。所以多例項+資料庫叢集就可以實現高可用。
然後透過Nginx + Keeplive可以實現故障遷移和負載均衡。
Zabbix Server安裝教程:https://songxwn.com/zabbix-7-install-TimescaleDB/
Zabbix Proxy Group
Zabbix 從 7.0開始支援 Proxy的故障轉移和自動負載均衡,在一個Zabbix Proxy Group 裡面新增多個Zabbix Proxy可實現高效能、高可用、高擴充套件性。
Grafana Server HA
Grafana 主要是來展示Zabbix資料的,也是無狀態的。所以透過多例項+資料庫叢集+Nginx + Keeplive可以實現故障遷移和負載均衡。
Uptime Kuma 全域性運維繫統可用性監控
Zabbix本身就是一個監控,但監者不能自監。
Uptime kuma是一個簡單輕量的監控軟體,用於PostgreSQL叢集可用性、Zabbix Server TCP、Zabbix Web、Grafana Web監控。
還支援被動監控、讓Zabbix 持續訪問Kuma 的http介面進行監控Zabbix健康檢測。
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
引數調優
Linux 系統、Zabbix Server 、Zabbix Proxy 、Pigsty 都需要根據現有硬體進行調整才能穩定高效的允許。此部分會放在之後的實戰方面寫。
核心調優:https://songxwn.com/Linux-kernel-optimize/
技術交流群
傳送郵件到 ➡️ me@songxwn.com
或者關注WX公眾號:網工格物
原文
https://songxwn.com/Zabbix-Server-HA/