構建高可用性、高效能和可擴充套件的Zabbix Server架構

Songxwn發表於2024-07-01

簡介

本教程講解了一下如何設計構建一個高效能、高可靠、高擴充套件的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/

相關文章