ZabbixProxy3.2.2主动模式快速部署

2023年 7月 15日 93.6k 0

须知 :

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

准备:

本章使用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的ipHostname 和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界面中,添加如下web.png3,将zabbix_proxy机器的agentd添加到zabbix_server中addproxy.png4,添加一台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中添加,不要忘记添加groupstesthost.png添加完成后在代理配置中可以看到有两个主机和imtes数量20170111194152.png如果没有意外,主动模式已经完成screens.png

zabbix——proxy典型应用

0170114161423.png如上图所示,在两个不同区域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/

相关文章

对接alertmanager创建钉钉卡片(1)
手把手教你搭建OpenFalcon监控系统
无需任何魔法即可使用 Ansible 的神奇变量“hostvars”
openobseve HA本地单集群模式
基于k8s上loggie/vector/openobserve日志收集
openobseve单节点和查询语法

发布评论