zabbix proxy安装步骤
说明:
Zabbix Proxy使用的是独立的数据库实例,如果放在一起数据容易遭到破坏;Proxy仅仅是一个数据采集的作用,其他的依然是依靠Server端实现,这就会造成一个现象,如果Proxy出现断连,就不会再出现告警了。
zabbix proxy应用场景
- agent在一个网段,server在另一个网段,这个时候需要一台能够连接server网段的机器来将agent的数据跨越内外网传输过去
- 减轻server的服务器压力
1、配置SELinux和防火墙
将SELinux设置为宽松模式并配置防火墙
sed -i.bak "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
firewall-cmd --permanent --add-port=10051/tcp firewall-cmd --permanent --add-port=10051/udp
2、添加zabbix阿里源,用脚本
环境依然是CentOS 7,Zabbix Proxy在CentOS7上目前支持5.2版本。
替换阿里云Zabbix源
shell脚本 zabbix_aliyun.sh
#!/bin/bash echo -e "请给出要安装的zabbix版本号,建议使用4.x的版本 \033[31musage:./zabbix_aliyun.sh 4.0|4.4|4.5|5.0 \033[0m" echo "例如要安装4.4版本,在命令行写上 ./zabbix_aliyun.sh 4.4" if [ -z $1 ];then exit fi VERSION=$1 if [ -f /etc/yum.repos.d/zabbix.repo ];then rm -rf /etc/repos.d/zabbix.repo fi rpm -qa | grep zabbix-release && rpm -e zabbix-release rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/$VERSION/rhel/7/x86_64/zabbix-release-$VERSION-1.el7.noarch.rpm sed -i "s@zabbix/.*/rhel@zabbix/$VERSION/rhel@g" /etc/yum.repos.d/zabbix.repo sed -i 's@repo.zabbix.com@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo [ $? -eq 0 ] && echo "阿里云的zabbix源替换成功" || exit 1 yum clean all yum makecache fast
然后执行命令:
bash zabbix_aliyun.sh 5.2
接着yum安装zabbix-proxy
yum -y install zabbix-proxy-mysql
这里可以插入图片
3、安装数据库并初始化
cd /usr/local/src/ wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm rpm -ivh mysql57-community-release-el7-8.noarch.rpm yum -y install mysql-server
####启动数据库并设置为开机启动####
systemctl start mariadb && systemctl enable mariadb
####初始化数据库,主要是修改数据库密码和删除测试库实例####
mysql_secure_installation
这里插入图片
完成数据库初始化
mysql -uroot -p“密码” create database zabbix_proxy character set utf8 collate utf8_bin; create user zabbix_proxy@localhost identified by 'xiaoyu123'; grant all privileges on zabbix_proxy.* to zabbix_proxy@localhost;
quit;
这里实战时候导入图片
创建数据库实例
导入架构文件
这里需要注意一个点,需要编辑架构文件,指定上面创建的数据库实例名称。
ll /usr/share/doc/zabbix-proxy-mysql-5.2.3/schema.sql.gz #这个是数据库模板
####导入数据库模板####
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -u DBUser -p DBPassword DBname
4、修改Proxy配置文件
打开配置文件
vim /etc/zabbix/zabbix_proxy.conf
更改一下几项
Server=10.0.0.10 #<===指定zabbix server的ip地址或主机名 Hostname=zabbix-proxy-1.35 #<===重要:定义监控代理的主机名,需和zabbix server前端配置时指定的节点名相同 LogFile=/tmp/zabbix_proxy.log #<===指定日志文件的位置 PidFile=/tmp/zabbix_proxy.pid #<===pid文件的位置 DBName=zabbix_proxy #<===数据库名 DBUser=zabbix #<===连接数据库的用户 DBPassword=123456 #<===连接数据库用户的密码 ConfigFrequency=60 #<===zabbix proxy从zabbix server取得配置数据的频率 DataSenderFrequency=60 #<===zabbix proxy发送监控到的数据给zabbix server的频率
启动zabbix proxy服务
systemctl start zabbix-proxy && systemctl enable zabbix-proxy
5、Zabbix Server前端配置
这里之后放入图片
创建代理
这里之后放入图片
填入配置文件里的参数和proxy的IP地址
这里之后放入图片
添加正常
这里之后放入图片
查看日志并且用zabbix_get命令检测是否能获取数据
tail /var/log/zabbix/zabbix_proxy.log
使用Proxy方法
创建主机,并选择代理
这里之后放入图片
老套路,选择ICMP模板测试
这里之后放入图片
添加监控仪表
这里之后放入图片
6、总结
zabbix proxy由proxy客户端和proxy数据库组成。它的的安装相对简单,配置文件相对复杂,相当于一个阉割版的zabbix server。zabbix proxy分布式部署只有采集数据功能,所以在一定程度上降低了server的I/O、内存等压力,并不完全独立。5.2新增了本地缓存以及掉线后数据会持续采集的功能,增强了分布式的可用性。