zabbix简介:
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
作用:zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
组成:由zabbix server与可选组件zabbix agent2部分构成。
工作机制与适用平台: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服务器做时间同步。
[[email protected] ~]# 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端服务,并配置:
[[email protected] 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数据库:
创建数据库:
mysql> create database zabbix; Query OK, 1 row affected (0.00 sec)
导入zabbix表:
[[email protected] zabbix]#cd /usr/share/doc/zabbix-server-mysql-2.4.0/create [[email protected] create]# mysql zabbix <schema.sql [[email protected] create]# mysql zabbix <images.sql [[email protected] create]# mysql zabbix <data.sql
3、授权用户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)
4、配置zabbix-server服务,并启动服务:
[[email protected] 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
启服务:
[[email protected] create]# service zabbix-server start Starting Zabbix server: [ OK ]
5、配置php的时区,并重启web服务:
[[email protected] create]# vim /etc/php.ini date.timezone = Asia/Shanghai #修改时区为亚洲/上海
重启httpd让时区生效:
[[email protected] create]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
二、Node2,zabbix-proxy端安装配置,需要用独立的数据库(因为)
1、安装,并启动数据库
[[email protected] zabbix-2.4]# yum -y install mysql-server [[email protected] zabbix-2.4]# /etc/init.d/mysqld start
2、连接数据库,创建数据库并授权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)
3、安装zabbix-proxy服务
[[email protected] 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端
[[email protected] zabbix-2.4]# mysql zabbixproxy < /usr/share/doc/zabbix-proxy-mysql-2.4.0/create/schema.sql [[email protected] 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段服务
[[email protected] 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端,并启动服务:
[[email protected] zabbix-2.4]# vim /etc/zabbix/zabbix_agentd.conf 修改下列参数: Server=172.16.22.8 ServerActive=172.16.22.8 [[email protected] 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压力。
架构清晰,易于维护。