Zabbix企业级分布式监控系统学习-代理分布式proxy


 简单环境拓扑图

Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代


 

1) Zabbix Server:负责把数据写入到数据库,然后通过Apache|Nginx+phpWEB前端显示。

2) Zabbix Proxy:帮助server采集被监控端的数据,并把采集到的数据主动传送给Server,proxy数据库仅做中转。

3) Database:所有的配置信息都存储在数据库里面,proxy数据库数据会定期汇总到Server数据库库里面。

4) Zabbix Agentagent的作用就是获取host数据,然后将收集到的数据发送给server(主动模式),或者是server主动来拿取数据(被动模式)。

 

 

 

Zabbix server\zabbix agent端安装这里不再详细说明

 

 

下面进行zabbix-proxy端安装

 

一、环境准备


# yum -y install mysql-server mysql-devel gcc make wgetnet-snmp* curl libcurl-devel

 

创建用户zabbix,zabbix



二、下载zabbix源码包,安装


# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.3/zabbix-2.2.3.tar.gz

# tar –zxvf zabbix-2.2.3.tar.gz

# cd zabbix-2.2.3

# ./configure --prefix=/usr/local/zabbix --enable-agent --enable-proxy–enable-agent --with-mysql --with-net-snmp --with-libcurl

# make && make install

 

三、初始化数据库


# service mysqld start

# mysql –u root

create database zabbix character set utf8;

grant all privileges on zabbix.* to zabbix@localhostidentified by 'zabbix';

# mysql -uzabbix -p'zabbix' zabbix <database/mysql/schema.sql(源码路径)

 

 

 

四、配置zabbix_proxy文件


[root@zabbix-proxy zabbix]# vi/usr/local/zabbix/etc/zabbix_proxy.conf

Server=172.16.114.9 //zabbix server的ip地址或者域名

Hostname=zabbix-proxy //主机名,在zabbix web会以这个名字为准

DBName=zabbix    //数据库名

DBUser=zabbix    //数据库用户

DBPassword=zabbix    //数据密码

DBSocket=/tmp/mysql.sock

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检测使用,如不需要可关闭;

根据需要可自行修改

 

五、创建启动脚本


# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_proxy

# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_proxy

# sed -i 's/\s\+BINARY_NAME=zabbix_agentd/BINARY_NAME=zabbix_proxy/g' /etc/init.d/zabbix_proxy

# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

# sed -i's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd

 

六、启动zabbix_proxy服务


# service zabbix_proxy start

 

利用netstat命令查看zabbix_proxy服务(运行正常)

Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代_02

 

七、修改agent配置文件


Server=172.16.114.11  #因为刚才把proxy搭建好了所以现在这里的地址修改为proxyip地址

ServerActive=172.16.114.11 #这里也是proxyip地址可以加端口也可以不加端口

Hostname=zabbix_agent

     然后重启agent服务

# /etc/init.d/zabbix-agent restart

 

八、web添加proxy


Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代_03


九、添加主机


Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代_04

 

Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代_05

 

Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代_06

 

有关zabbix监控windows客户端的这里不明确说明

 

 

十、查看监控数据


Zabbix企业级分布式监控系统学习-代理分布式proxy_Zabbix企业级分布式监控系统学习-代_07