構建高可用性、高性能和可擴展的Zabbix Server架構

簡介

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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容