Zabbix proxy工作原理:
1.工作原理:
Zabbixproxy是一个监控代理服务器,它收集监控到的数据,先存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送到Zabbixserver;监控代理需要一个单独的数据库。
Zabbix proxy的好处:
远程监控
当监控的位置通信不便时
当监控上千的设备时
简化维护分布式监控,降低zabbixserver的负载
zabbix proxy配置
场景:
133: zabbix server
135: zabbix proxy
136: zabbix client
工作原理:
zabbix proxy收集client的信息,发给zabbix server,zabbix server根据trigger,发送报警信息!
135配置:
groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix
tar zxvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl
make
make install
[root@zabbiclient2 etc]# cat zabbix_proxy.conf | grep -v "#" | grep -v "^$"
ProxyMode=0
Server=192.168.10.133 ##zabbix server 地址
ServerPort=10051
Hostname=zabbixproxy1 ##主机名,这个配置和该机器实际的主机名没有关系,但必须和zabbix server中添加该机器的时候的主机名一致,否则zabbix server获取不到信息
LogFile=/tmp/zabbix_proxy.log
PidFile=/tmp/zabbix_proxy.pid
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbixproxy1
DBPassword=zabbixproxy1
ConfigFrequency=300
DataSenderFrequency=60
##zabbix proxy将本地库里面的数据定期发给zabbix server,故这里需要配置db的相关信息
另外必须将本地的mysql(我的zabbix proxy使用的本地的mysql数据库)服务给启动起来,否则zabbix proxy是不工作的!
配置好上面的信息好,还需要在zabbix proxy使用的db上创建db,并创建用户
mysql> create database zabbix_proxy;
mysql> grant all on zabbix_proxy.* to 'zabbixproxy1'@'localhost' identified by 'zabbixproxy1';
mysql -uzabbix -p'zabbixproxy1' zabbix schema.sql )
[root@zabbiclient2 etc]# cat zabbix_agentd.conf | grep -v "#" | grep -v "^$"
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
DebugLevel=3
Server=192.168.10.133 ##zabbix server的ip地址
ServerActive=192.168.10.133 ##zabbix server的ip地址
Hostname=zabbixproxy1
136机器上的配置如下:
groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix
tar zxvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
./configure --prefix=/usr/local/zabbix --enable-agent --with-net-snmp --with-libcurl
make
make install
[root@zabbiclient1 etc]# pwd
/usr/local/zabbix/etc
[root@zabbiclient1 etc]# cat zabbix_agentd.conf | grep -v "#"| grep -v "^$"
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
DebugLevel=4
Server=192.168.10.135
ServerActive=192.168.10.135
Hostname=zabbixclient2
133机器上的配置如下:zabbix server 搭建见如下的连接:
http://superleedo.blog.51cto.com/12164670/1925656
在133机器上添加一个zabbix proxy,见附件
点save 创建一个名为zabbixproxy1的代理,使用active的代理方式!
下面添加136机器到zabbixproxy1上,见附件
点save 按钮,即可添加!
不通过代理监控和通过代理监控,显示的有所不同,见附件
查看136机器的监控信息,见附件
编译过程中遇到两个问题:
1:checking for mysql_config... /usr/bin/mysql_config
checking for main in -lmysqlclient... no
configure: error: Not found mysqlclient library
解决方法:
yum -y install mysql-devel
2:checking for curl-config... no
configure: error: Curl library not found
[root@localhost zabbix-2.2.6]# yum -y install curl-devel
3:
Received empty response from zabbix agent at [*.*.*.*],Assuming that agent dropped connection because of access permission.
原因:
在zabbix client上修改了
Server=192.168.10.135 ##现在的这ip就是zabbix proxy的ip,必须重启zabbix agentd,
ServerActive=192.168.10.135
本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1927100 ,如需转载请自行联系原作者