zabbix-proxy分布式监控站点

前言:现有需求,公司有多个分公司站点,需要在总公司搭建zabbix-server服务器监控所有分公司网络设备状态以及流量,即在分公司安装zabbix-proxy服务,通过其将分公司设备状态信息发送至zabbix-server,起到最终汇总监控效果。

在这里插入图片描述

一、zabbix-server搭建
请参照博客centos7上zabbix3.4详细搭建
二、zabbix-proxy搭建
1、修改hostname、hosts
HOSTNAME=zabbixproxy
hostname $HOSTNAME
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}') $(hostname)">>/etc/hosts
sed -i "s/^HOSTNAME.*$/HOSTNAME=$HOSTNAME/g" /etc/sysconfig/network
2、添加镜像源
cat>/etc/yum.repos.d/zabbix.repo<<EOF
[zabbix]
name=zabbix
baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/
gpgcheck=0
enabled=1
EOF
3、安装软件
yum install zabbix-proxy mariadb mariadb-server -y
//可能会出现安装失败,又由于下载速度过慢,可以将rpm包下载到本地安装yum localinstall *.rpm
systemctl enable mariadb
systemctl start mariadb
4、新建数据库zabbix_proxy,新建账户zabbix密码zabbix并授权zabbix_proxy的权限
# mysql -uroot -p
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
mysql>set password for root@localhost = password('ecpss@123');                       #root密码设置
mysql> quit;
5、将数据导入zabbix_proxy数据库中
cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
zcat schema.sql.gz | mysql -uzabbix -p zabbix_proxy 
//下面输入zabbix账户设置的密码zabbix
6、修改配置文件
cp -av /etc/zabbix/zabbix_proxy.conf{,.bak}
cat>/etc/zabbix/zabbix_proxy.conf<<EOF
Server=a.a.a.a                                 
#zabbix-server的地址a.a.a.a
Hostname=zabbixproxy 					
#主机名称一定要同zabbixserver上面代理的名称一致
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ConfigFrequency=120  
DataSenderFrequency=60 
StartTrappers=10
StartSNMPTrapper=1 
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4 
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF
mkdir /var/log/snmptrap/
touch /var/log/snmptrap/snmptrap.log
systemctl enable zabbix-proxy
systemctl start zabbix-proxy
7、查看日志,这时候会显示cannot send proxy data to server报错,因为服务端还未添加代理。
tail -f /var/log/zabbix/zabbix_proxy.log 
三、zabbix-server端添加proxy代理
1、创建代理

在这里插入图片描述

2、写入代理主机信息,需要注意这里的名称一定要与zabbix-proxy配置文件中的主机一致。

建议使用主动代理,zabbix-proxy主动发起请求给server,能够减轻zabbix-server的压力。
在这里插入图片描述

3、等待10分钟左右,连接正常

在这里插入图片描述

4、如果需要添加多个zabbix-proxy代理,那么其hostname一定要区分开来,我这里再添加一个zabbixproxy1。

在这里插入图片描述

5、测试代理监控

另外找一台主机安装zabbix-agent,此主机要与zabbix-proxy网络连通,安装过程请参照开头zabbix-server博客链接。需要注意的是,zabbix-agent的服务地址是指向zabbix-proxy的地址。
在这里插入图片描述

cat /etc/zabbix/zabbix_agentd.conf
#检查一下日志
6、zabbix-server端添加监控主机

在这里插入图片描述
监控成功
在这里插入图片描述

注:可能会有延迟,多看一下日志,最好改动配置后server端、proxy端、agent端重启下服务

附:简单的更改配置命令,可配合脚本使用

[root@zabbixproxy ~]# cat add_serverip.sh
#!/bin/bash
stty erase '^H'
read -t 60 -p "Enter your Server Ip:" serverip
echo "your server is $serverip"
read -t 60 -p "Enter your Server name:" servername
echo "your server Name is $servername"
echo $serverip >/root/serverip.txt
echo $servername >>/root/serverip.txt
bash /root/zabbix_start.sh

[root@zabbixproxy ~]# cat zabbix_start.sh 
#修改网络
HOSTNAME=zabbixproxy
hostname $HOSTNAME
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}') $(hostname)">>/etc/hosts
sed -i "s/^HOSTNAME.*$/HOSTNAME=$HOSTNAME/g" /etc/sysconfig/network

#修改agent配置文件
sed -i 's/^Server=.*$/Server='$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}')'/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/^ServerActive=.*$/ServerActive='$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}')':10051/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/^Hostname=.*$/Hostname='$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}')'/g' /etc/zabbix/zabbix_agentd.conf
systemctl restart zabbix-agent
systemctl enable zabbix-agent

#修改proxy配置文件
sed -i 's/^Server=.*$/Server='$(head -n 1 serverip.txt)'/g' /etc/zabbix/zabbix_proxy.conf
sed -i 's/^Hostname=.*$/Hostname='$(tail -n 1 serverip.txt)'/g' /etc/zabbix/zabbix_proxy.conf
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值