在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模式)更方便、更有優勢,也在相當程度上,減輕了伺服器的負擔。