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 */*/zabbix-2.2.6/database/mysql/schema.sql (proxy端只需要这一步,不需要数据,就是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://blog.chinaunix.net/uid-20776139-id-3906896.html
在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 server的ip,修改这行后,没有重启zabbix agentd,郁闷了半天,太粗心了
ServerActive=192.168.10.135
Zabbix
proxy工作原理:
1.工作原理:
Zabbixproxy是一个监控代理服务器,它收集监控到的数据,先存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送到Zabbixserver;监控代理需要一个单独的数据库。
Zabbix proxy的好处:
远程监控
当监控的位置通信不便时
当监控上千的设备时
简化维护分布式监控,降低zabbixserver的负载
zabbixproxy的配置总结:
1
2
3
|
1.代理服务器只是起到一个数据收集器的作用,它把收集到的数据按一定的频率传送给zabbix服务
2.有主动模式和被动模式两种,主动与被动是针对zabbix proxy而言的,我在这用的是主动模式,只需配置zabbix proxy的配置文件即可,在zabbix server端不做任何配置。
3.关键是在zabbix server的前端创建代理节点的名字时,该名字应和zabbix代理配置文件中指定的Hostname值相同
.配置zabbixproxy的配置文件zabbix_proxy.conf,该文件中有两个重要的参数:
ConfigFrequency=60 #zabbix proxy 向服务器检索配置数据信息的频率,在被动模式下该参数将被忽略
DataSenderFrequency=60
#zabbix proxy发送收集的数据给zabbix server的频率
|
[root@localhost
zabbix-2.0.2]# vi /usr/local/zabbix/etc/zabbix_proxy.conf
Server=192.168.1.13
#zabbix server的ip地址或者域名
Hostname=proxy_bj
#proxy主机名,在zabbix web会以这个名字为准
#DB 设定档
DBName=zabbix
DBUser=zabbix
DBPassword=111111
ProxyLocalBuffer=0
#设定为0小时,除非有其他第三方应用和插件需要调用
ProxyOfflineBuffer=1
#proxy或者server无法连接时,保留离线的监控数据的时间,单位小时
ConfigFrequency=600
#server和proxy配置修改同步时间间隔,设定5-10分钟即可。
DataSenderFrequency=10
#数据发送时间间隔,10-30s;
#网络传输质量越好,可以设定间隔时间越短,监控效果也越迅速;
StartPollers=10
#开启多线程数,一般不要超过30个;
StartPollersUnreachable=1
#该线程用来单独监控无法连接的主机,1个即可;
StartTrappers=10
#trapper线程数
StartPingers=1
#fping线程数
CacheSize=64M #用来保存监控数据的缓存数,根据监控主机数量适当调整;
Timeout=10 #超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间;
TrapperTimeout=30
#同上
FpingLocation=/usr/sbin/fping
#配合simple check icmp检测使用,如不需要可关闭;
其他配置默认即可;