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压力。
架构清晰,易于维护。