zabbix企業應用之zabbix-proxy-agent工作模式
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。
作用:zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
組成:由zabbix server與可選組件zabbix agent兩部分構成。
工作機制與適用平臺:zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,,AIX,Free BSD,Open BSD,OS X等平臺上。
今天我們講解一下zabbix-proxy-agent工作模式及安裝配置過程:
拓撲圖:
實驗目的:用node1通過node2監控node3服務器。
實驗準備工作:
node1、node2、node3服務器做時間同步。
[root@node1 ~]# ntpdate 172.16.0.1 10 Oct 15:16:52 ntpdate[1762]: step time server 172.16.0.1 offset 31785.627996 sec |
一、Node1,zabbix-server端安裝配置。
1、安裝server端服務,並配置:
安裝zabbix repo; [root@node1 zabbix-2.4]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm [root@node1 zabbix-2.4]# yum install zabbix-server-2.4.0-1.el6.x86_64.rpm zabbix-server-mysql-2.4.0-1.el6.x86_64.rpm zabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-2.4.0-1.el6.x86_64.rpm zabbix-web-2.4.0-1.el6.noarch.rpm zabbix-web-mysql-2.4.0-1.el6.noarch.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpm http mysql-server |
2、創建zabbix數據庫,並導入zabbix數據到MySQL數據庫:
創建數據庫:
1 2 | mysql> create database zabbix; Query OK, 1 row affected (0.00 sec) |
導入zabbix表:
1 2 3 4 | [root@node1 zabbix]#cd /usr/share/doc/zabbix-server-mysql-2.4.0/create [root@node1 create]# mysql zabbix <schema.sql [root@node1 create]# mysql zabbix <p_w_picpaths.sql [root@node1 create]# mysql zabbix <data.sql |
3、授權用戶server服務器對MySQL數據庫的訪問權限,並立即生效
1 2 3 4 | mysql> grant all on zabbix.* to 'zbxuser'@'172.16.%.%' identified by 'zbxpass'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) |
4、配置zabbix-server服務,並啓動服務:
1 2 3 4 5 | [root@node1 create]# vim /etc/zabbix/zabbix_server.conf DBHost=172.16.22.6 #修改數據庫服務器位置 DBUser=zbxuser #授權訪問數據庫zabbix用戶的用戶名 DBPassword=zbxpass #授權訪問數據庫zabbix用戶的密碼 DBSocket=/var/lib/mysql/mysql.sock #mysql.sock文件的位置,如果是本機則爲/tmp/mysql.sock |
啓服務:
1 2 | [root@node1 create]# service zabbix-server start Starting Zabbix server: [ OK ] |
5、配置php的時區,並重啓web服務:
1 2 | [root@node1 create]# vim /etc/php.ini date.timezone = Asia/Shanghai #修改時區爲亞洲/上海 |
重啓httpd讓時區生效:
1 2 3 | [root@node1 create]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] |
問題:啓動httpd 出現:正在啓動 httpd:httpd: apr_sockaddr_info_get() failed for zabbix.dadikid.com httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解決方法: vim /etc/httpd/conf/httpd.conf 加入一句 ServerName localhost:80
二、Node2,zabbix-proxy端安裝配置,需要用獨立的數據庫(因爲)
1、安裝,並啓動數據庫
1 2 | [root@node2 zabbix-2.4]# yum -y install mysql-server [root@node2 zabbix-2.4]# /etc/init.d/mysqld start |
2、連接數據庫,創建數據庫並授權proxy訪問權限
1 2 3 4 5 6 7 8 | mysql> create database zabbixproxy; Query OK, 1 row affected (0.00 sec) mysql> grant all on zabbixproxy.* to 'zbxuser'@'172.16.%.%' identified by 'zbxpass'; Query OK, 0 rows affected (0.00 sec) mysql> grant all on zabbixproxy.* to 'zbxuser'@'node2' identified by 'zbxpass'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) |
3、安裝zabbix-proxy服務
1 | [root@node2 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-proxy-2.4.0-1.el6.x86_64.rpm zabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm |
4、導入數據庫,配置proxy端
1 2 3 4 5 6 7 8 | [root@node2 zabbix-2.4]# mysql zabbixproxy < /usr/share/doc/zabbix-proxy-mysql-2.4.0/create/schema.sql [root@node2 zabbix-2.4]# vim /etc/zabbix/zabbix_proxy.conf 修改下列參數: Server=172.16.22.6 DBHost=172.16.22.8 DBName=zabbixproxy DBUser=zbxuser DBPassword=zbxpass |
三、Node3,zabbix-agent端
1、安裝agentf段服務
1 | [root@node3 zabbix-2.4]# yum install zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-2.4.0-1.el6.x86_64.rpm |
2、配置agent端,並啓動服務:
1 2 3 4 5 6 | [root@node3 zabbix-2.4]# vim /etc/zabbix/zabbix_agentd.conf 修改下列參數: Server=172.16.22.8 ServerActive=172.16.22.8 [root@node3 zabbix-2.4]# /etc/init.d/zabbix-agent start Starting Zabbix agent: [ OK ] |
四、通過zabbix-web接口配置zabbix-proxy-agent工作
1、web連接zabbix,添加一個proxy
2、在configuration中添加hosts,
3、添加監控模版
五、聯調測試
大功告成!!!!!
總結:
1、zabbix-proxy-agent工作模式特性:
proxy不會向server同步configuration,只會接收。
proxy的數據庫定時將數據傳送給server,proxy本地數據庫只保存最近沒有發送的數據。
proxy只有一個proxy的守護進程,proxy也有自己的數據庫,但它的數據庫只會保存一定時間的數據,它與server通信是將一批信息打包後發給server,server將這些數據融入(merge)server數據庫。
2、zabbix-proxy-agent工作模式優點:
proxy壓力小,數據庫只存儲一定時間數據。
master壓力小,數據不是源源不斷獲取,減小IO壓力。
架構清晰,易於維護。