Zabbix-Proxy-3.2.2主动模式快速部署


须知 :

在现有的zabbix_server中,由于增加机房,添加zabbix_proxy服务器,不动原有的zabbix_server,如下图:
zabbix_proxy通过agentd端收集数据后发送给原有的zabbix_server

准备:

本章使用nmp使用docker容器构建测试,本周的nmp和普通编译安装并没有什么不同
zabbix安装包:zabbix-3.2.2.tar.gz,lnmp

配置nmp

1,装备好docker,docker-compose环境,安装mariadb,一键安装命令如下:

[root@linuxea.com ~]# curl -LKs4 https://raw.githubusercontent.com/LinuxEA-Mark/docker-mariaDB/master/docker-mysql-create.sh|bash

2,安装php-fpm和nginx,一键安装命令如下:

[root@linuxea.com ~]# curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/docker-nginx-php-fpm/master/nginx-php.sh|bash

授权和编译zabbix

数据库root/abc123,zabbix_proxy/password

[root@linuxea.com ~]# curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/zabbix3.0.2-complete-works/master/zabbix-proxy/install_proxy.sh |bash

Proxy配置文件修改

proxy是不需要web界面配置的,编译安装完成后,直接修改配置文件启动即可
1,在proxy配置文件中:
server项填写zabbix_server地址
Hostname,这里的hostname和agentd的hostname一样,在后面也会和web界面中添加代理的名字也一样,其他按 需填写即可
在agentd配置文件中:
server:server地址是proxy的ip
Hostname 和proxy的配置文件中的hostname一致

[root@linuxea.com /usr/local/zabbix_proxy/etc]# egrep -v "^$|^#" zabbix_proxy.conf
Server=10.10.231.61
Hostname=Zabbix_Test_Proxy
LogFile=/tmp/zabbix_proxy.log
DBHost=127.0.0.1
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=password
DBPort=3306
DataSenderFrequency=60
Timeout=4
LogSlowQueries=3000
[root@linuxea.com /usr/local/zabbix_proxy/etc]# egrep -v "^$|^#" zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
SourceIP=10.57.57.57
Server=10.57.57.57
Hostname=Zabbix_Test_Proxy
[root@linuxea.com /usr/local/zabbix_proxy/etc]# /usr/local/zabbix_proxy/sbin/zabbix_agentd 
[root@linuxea.com /usr/local/zabbix_proxy/etc]# /usr/local/zabbix_proxy/sbin/zabbix_server

2,在web界面中,添加如下

3,将zabbix_proxy机器的agentd添加到zabbix_server中

4,添加一台host主机
Server地址填写proxy ip

[root@linuxea.com ~]# yum install http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.7-1.el7.x86_64.rpm -y
[root@linuxea.com ~]# yum install http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.7-1.el7.x86_64.rpm -y
[root@linuxea.com ~]# egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.57.57.57
Hostname=10.0.1.49
Include=/etc/zabbix/zabbix_agentd.d/

在web中添加,不要忘记添加groups

添加完成后在代理配置中可以看到有两个主机和imtes数量

如果没有意外,主动模式已经完成

zabbix——proxy典型应用


如上图所示,在两个不同区域zabbix-proxy和server通过公网传递数据,内网的proxy通过nat将机器映射出来,将数据推送到server
来看配置细节,图片和上面几乎差不多

[root@linuxea.com ~]# egrep -v "^$|^#" /etc/zabbix/zabbix_proxy.conf 
Server=zabbix server ip地址
Hostname=Ds_Zabbix_Porxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBHost=127.0.0.1
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=密码
DBSocket=/tmp/mysql.sock
DBPort=3306
DataSenderFrequency=30
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

proxy-agent配置,proxy的agent地址的server用内网ip即可,不用nat

[root@linuxea.com ~]# egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.30.0.62
ListenPort=10050
ServerActive=172.30.0.62
Hostname=172.30.0.62
Include=/etc/zabbix/zabbix_agentd.d/
UserParameter=tcp.status[*],awk '{if ($$1~/^$1/)print $$2}' /tmp/tcp-status.txt
UserParameter=tcp.httpd_established,awk 'NR>1' /tmp/httpNUB.txt|wc -l
UserParameter=discovery.disks.iostats,/etc/zabbix/scripts/disk.pl
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 |awk '{print $$4}'
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'

上面是proxy机器上的agent,其他的agent可参考如下:
在server中写上proxy的ip地址和nat映射的地址,地址最好写两个

[root@linuxea.com63 ~]# egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=NAT地址,172.30.0.62
ServerActive=NAT地址,172.30.0.62
Hostname=172.30.0.63
Include=/etc/zabbix/zabbix_agentd.d/
0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2017-01-11分类: zabbix

标签: zabbix

发表评论