簡介
本教程講解了一下如何設(shè)計構(gòu)建一個高性能、高可靠当辐、高擴展的Zabbix 監(jiān)控集群缘揪。
架構(gòu)圖
架構(gòu)圖PDF下載: https://songxwn.com/file/Zabbix_HA.pdf
Pigsty 時序數(shù)據(jù)庫集群
Zabbix Server 和 Grafana的數(shù)據(jù)都是存放在數(shù)據(jù)庫的袖裕,而Zabbix性能很大程度取決于數(shù)據(jù)庫。所以要搭建數(shù)據(jù)庫集群张足,提供性能和冗余性为牍。(數(shù)據(jù)庫最好使用SSD双谆,最好是NVME SSD)
Pigsty 集群搭建教程 https://songxwn.com/Pigsty-PG-RDS/
時序數(shù)據(jù)庫 TimescaleDB
TimescaleDB新翎,這是一種基于PostgreSQL的數(shù)據(jù)庫解決方案地啰,可自動將數(shù)據(jù)分為基于時間的塊,以支持更快的大規(guī)模的監(jiān)控性能讲逛。能以更好的性能去刪除過期的監(jiān)控數(shù)據(jù)和進行實時壓縮數(shù)據(jù)亏吝,可節(jié)省空間。
Zabbix Server HA
Zabbix 從6.0 開始支持原生的HA故障切換盏混,HA實現(xiàn)需要主備數(shù)據(jù)連接到同一個數(shù)據(jù)庫實例蔚鸥。(Pigsty PG集群)
HA通過數(shù)據(jù)庫心跳實現(xiàn),若主Zabbix Server在指定時間內(nèi)不再寫入心跳许赃,則備會自動切換并開始工作止喷。(當(dāng)Zabbix Server處于備狀態(tài)時候不會有任何操作。)
Zabbix Web 前端
Zabbix前端是直連數(shù)據(jù)庫混聊,是基于PHP的無狀態(tài)應(yīng)用弹谁。所以多實例可以同時使用。所以多實例+數(shù)據(jù)庫集群就可以實現(xiàn)高可用句喜。
然后通過Nginx + Keeplive可以實現(xiàn)故障遷移和負載均衡预愤。
Zabbix Server安裝教程:https://songxwn.com/zabbix-7-install-TimescaleDB/
Zabbix Proxy Group
Zabbix 從 7.0開始支持 Proxy的故障轉(zhuǎn)移和自動負載均衡,在一個Zabbix Proxy Group 里面添加多個Zabbix Proxy可實現(xiàn)高性能咳胃、高可用植康、高擴展性。
Grafana Server HA
Grafana 主要是來展示Zabbix數(shù)據(jù)的拙绊,也是無狀態(tài)的向图。所以通過多實例+數(shù)據(jù)庫集群+Nginx + Keeplive可以實現(xiàn)故障遷移和負載均衡泳秀。
Uptime Kuma 全局運維系統(tǒng)可用性監(jiān)控
Zabbix本身就是一個監(jiān)控标沪,但監(jiān)者不能自監(jiān)。
Uptime kuma是一個簡單輕量的監(jiān)控軟件嗜傅,用于PostgreSQL集群可用性金句、Zabbix Server TCP、Zabbix Web吕嘀、Grafana Web監(jiān)控违寞。
還支持被動監(jiān)控贞瞒、讓Zabbix 持續(xù)訪問Kuma 的http接口進行監(jiān)控Zabbix健康檢測。
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
參數(shù)調(diào)優(yōu)
Linux 系統(tǒng)趁曼、Zabbix Server 军浆、Zabbix Proxy 、Pigsty 都需要根據(jù)現(xiàn)有硬件進行調(diào)整才能穩(wěn)定高效的允許挡闰。此部分會放在之后的實戰(zhàn)方面寫乒融。
內(nèi)核調(diào)優(yōu):https://songxwn.com/Linux-kernel-optimize/
技術(shù)交流群
發(fā)送郵件到 ?? me@songxwn.com
或者關(guān)注WX公眾號:網(wǎng)工格物