在IT運維工作中,監控的重要性,想必不用我再多說什么了,畢竟誰都想及早發現故障,有效的監控,總比對著服務器和網絡設備燒香、跪拜來得靠譜吧。
而作為一個IT外包服務公司,由于需要監控的服務器和網絡設備比較多,而且分布在眾多的局域網內,所以分布式的監控,肯定是非常必要的,當然也同樣適用于擁有多地分公司的集團企業。
我們的做法是,在公有云租賃一臺云主機,部署Zabbix Server,最初監控的設備比較少的時候,直接在客戶的防火墻或者路由器上開放相應的端口,然后Zabbix Server逐一添加被監控設備就行了。
但是,隨著需要監控的設備越來越多,這種方式顯然跟不上節奏了,所以不得不開始部署分布式的Zabbix。
其方法就是:在內網部署Zabbix Proxy,來代表云端的Zabbix server在本地收集數據,然后將數據統一上報給云端的Zabbix server。
這種方法,有一個非常顯著的優勢,就是不再需要被監控的客戶擁有公網固定IP,只要有普通的寬帶就可以了。
還有就是,proxy 只需要一個到達Zabbix server的TCP連接即可,路由器僅需配置一條端口就可以了,防火墻的話,當然還需要一條放行規則。
Zabbix Server的安裝和配置,前面已經有文章寫過了,所以就不再重復了, 下面以centos系統為例,講解一下Zabbix Proxy的安裝和配置。
1、安裝MySQL數據庫
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
步驟三 創建初始數據庫
在數據庫主機上運行以下代碼。
# 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;
導入初始架構和數據,系統將提示您輸入新創建的密碼。
# cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix_proxy
等待一段時間后,導入數據庫成功。
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
步驟四 配置Zabbix proxy的數據庫文件
編輯配置文件 /etc/zabbix/zabbix_proxy.conf
主要是填寫云端Zabbix Server的彈性IP,以及Zabbix Proxy數據庫對應的密碼。
修改完畢后保存退出。
步驟五 啟動zabbix-proxy服務,并設置為開機自啟動。
# systemctl restart zabbix-proxy
# systemctl enable zabbix-proxy
查看zabbix-proxy服務
# systemctl status zabbix-proxy
正確情況,此時如下圖所示
Zabbix-proxy部署到此成功。
3、端口映射及防火墻安全策略。
Proxy默認聆聽端口是10051,由于Server在云端,所以需要將內部10051端口映射到公網,如果是防火墻的話,當然還需要匹配的安全策略,這個在之前已經寫過很多教程了,就沒必要重復了,有需要的朋友,可以翻看我之前寫的文章。
4、在zabbix-server服務器上添加proxy和被監控的設備
被監控的內網設備,處于一個撥號上網的寬帶下,沒有固定的公網IP,所以選擇主動模式,意思就是proxy主動向云端的server報送數據。
舉例,華為防火墻監控參數配置如下圖所示:
在云端的Zabbix Server上添加被監控的華為防火墻:
下面這個圖片,是云端Zabbix Server通過端口映射的方式直接監控到內網的服務器,以及Proxy模式監控內網服務器的對比,從圖片中可能看到,無論采購哪種方式,監控到數據是一樣的。
顯然,需要監控的設備分散在不同的局域網內的話,顯然是分布式(即Proxy模式)更方便、更有優勢,也在相當程度上,減輕了服務器的負擔。