zabbix簡介:php
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。node
做用:zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各類問題。mysql
組成:由zabbix server與可選組件zabbix agent兩部分構成。web
工做機制與適用平臺:zabbix server能夠經過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它能夠運行在Linux,Solaris,HP-UX,,AIX,Free BSD,Open BSD,OS X等平臺上。sql
今天咱們講解一下zabbix-proxy-agent工做模式及安裝配置過程:數據庫
拓撲圖:vim
實驗目的:用node1經過node2監控node3服務器。安全
實驗準備工做:bash
node一、node二、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
1、Node1,zabbix-server端安裝配置。
一、安裝server端服務,並配置:
[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
二、建立zabbix數據庫,並導入zabbix數據到MySQL數據庫:
建立數據庫:
mysql> create database zabbix; Query OK, 1 row affected (0.00 sec)
導入zabbix表:
[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
三、受權用戶server服務器對MySQL數據庫的訪問權限,並當即生效
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)
四、配置zabbix-server服務,並啓動服務:
[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
啓服務:
[root@node1 create]# service zabbix-server start Starting Zabbix server: [ OK ]
五、配置php的時區,並重啓web服務:
[root@node1 create]# vim /etc/php.ini date.timezone = Asia/Shanghai #修改時區爲亞洲/上海
重啓httpd讓時區生效:
[root@node1 create]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
2、Node2,zabbix-proxy端安裝配置,須要用獨立的數據庫(由於)
一、安裝,並啓動數據庫
[root@node2 zabbix-2.4]# yum -y install mysql-server [root@node2 zabbix-2.4]# /etc/init.d/mysqld start
二、鏈接數據庫,建立數據庫並受權proxy訪問權限
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)
三、安裝zabbix-proxy服務
[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
四、導入數據庫,配置proxy端
[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
3、Node3,zabbix-agent端
一、安裝agentf段服務
[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
二、配置agent端,並啓動服務:
[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 ]
4、經過zabbix-web接口配置zabbix-proxy-agent工做
一、web鏈接zabbix,添加一個proxy
二、在configuration中添加hosts,
三、添加監控模版
5、聯調測試
大功告成!!!!!
總結:
一、zabbix-proxy-agent工做模式特性:
proxy不會向server同步configuration,只會接收。
proxy的數據庫定時將數據傳送給server,proxy本地數據庫只保存最近沒有發送的數據。
proxy只有一個proxy的守護進程,proxy也有本身的數據庫,但它的數據庫只會保存必定時間的數據,它與server通訊是將一批信息打包後發給server,server將這些數據融入(merge)server數據庫。
二、zabbix-proxy-agent工做模式優勢:
proxy壓力小,數據庫只存儲必定時間數據。
master壓力小,數據不是源源不斷獲取,減少IO壓力。
架構清晰,易於維護。