在IT運維工作中,監(jiān)控的重要性,想必不用我再多說什么了,畢竟誰都想及早發(fā)現(xiàn)故障,有效的監(jiān)控,總比對著服務器和網(wǎng)絡設備燒香、跪拜來得靠譜吧。
而作為一個IT外包服務公司,由于需要監(jiān)控的服務器和網(wǎng)絡設備比較多,而且分布在眾多的局域網(wǎng)內(nèi),所以分布式的監(jiān)控,肯定是非常必要的,當然也同樣適用于擁有多地分公司的集團企業(yè)。

我們的做法是,在公有云租賃一臺云主機,部署Zabbix Server,最初監(jiān)控的設備比較少的時候,直接在客戶的防火墻或者路由器上開放相應的端口,然后Zabbix Server逐一添加被監(jiān)控設備就行了。
但是,隨著需要監(jiān)控的設備越來越多,這種方式顯然跟不上節(jié)奏了,所以不得不開始部署分布式的Zabbix。
其方法就是:在內(nèi)網(wǎng)部署Zabbix Proxy,來代表云端的Zabbix server在本地收集數(shù)據(jù),然后將數(shù)據(jù)統(tǒng)一上報給云端的Zabbix server。
這種方法,有一個非常顯著的優(yōu)勢,就是不再需要被監(jiān)控的客戶擁有公網(wǎng)固定IP,只要有普通的寬帶就可以了。
還有就是,proxy 只需要一個到達Zabbix server的TCP連接即可,路由器僅需配置一條端口就可以了,防火墻的話,當然還需要一條放行規(guī)則。
Zabbix Server的安裝和配置,前面已經(jīng)有文章寫過了,所以就不再重復了, 下面以centos系統(tǒng)為例,講解一下Zabbix Proxy的安裝和配置。
1、安裝MySQL數(shù)據(jù)庫
yum install mysql-community-server -y
如果報錯 則用yum install mysql-community-server --nogpgcheck -y

啟動mysql服務并設置開機自啟

查看mysql初始密碼

mysql -u root -p ,然后輸入初始密碼

修改mysql初始密碼
alter user 'root'@'localhost' identified by 'password';
至此mysql安裝成功。
2、部署Zabbix Proxy
步驟一 Install Zabbix repository
# rpm-Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
# yum clean all

步驟二 Install Zabbix proxy
# yum install zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

步驟三 創(chuàng)建初始數(shù)據(jù)庫
在數(shù)據(jù)庫主機上運行以下代碼。
# mysql -uroot -p
Password
mysql> create database zabbix_proxy character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost;
mysql> set global log_bin_tRust_function_creators = 1;
mysql> quit;

導入初始架構和數(shù)據(jù),系統(tǒng)將提示您輸入新創(chuàng)建的密碼。
# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy
等待一段時間后,導入數(shù)據(jù)庫成功。
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
步驟四 配置Zabbix proxy的數(shù)據(jù)庫文件
編輯配置文件 /etc/zabbix/zabbix_proxy.conf

主要是填寫云端Zabbix Server的彈性IP,以及Zabbix Proxy數(shù)據(jù)庫對應的密碼。
修改完畢后保存退出。
步驟五 啟動zabbix-proxy服務,并設置為開機自啟動。
# systemctl restart zabbix-proxy
# systemctl enable zabbix-proxy
查看zabbix-proxy服務
# systemctl status zabbix-proxy
正確情況,此時如下圖所示

Zabbix-proxy部署到此成功。
3、端口映射及防火墻安全策略。
Proxy默認聆聽端口是10051,由于Server在云端,所以需要將內(nèi)部10051端口映射到公網(wǎng),如果是防火墻的話,當然還需要匹配的安全策略,這個在之前已經(jīng)寫過很多教程了,就沒必要重復了,有需要的朋友,可以翻看我之前寫的文章。
4、在zabbix-server服務器上添加proxy和被監(jiān)控的設備
被監(jiān)控的內(nèi)網(wǎng)設備,處于一個撥號上網(wǎng)的寬帶下,沒有固定的公網(wǎng)IP,所以選擇主動模式,意思就是proxy主動向云端的server報送數(shù)據(jù)。
舉例,華為防火墻監(jiān)控參數(shù)配置如下圖所示:

在云端的Zabbix Server上添加被監(jiān)控的華為防火墻:

下面這個圖片,是云端Zabbix Server通過端口映射的方式直接監(jiān)控到內(nèi)網(wǎng)的服務器,以及Proxy模式監(jiān)控內(nèi)網(wǎng)服務器的對比,從圖片中可能看到,無論采購哪種方式,監(jiān)控到數(shù)據(jù)是一樣的。

顯然,需要監(jiān)控的設備分散在不同的局域網(wǎng)內(nèi)的話,顯然是分布式(即Proxy模式)更方便、更有優(yōu)勢,也在相當程度上,減輕了服務器的負擔。






