Centos7 Zabbix3.4分布式监控zabbix-proxy

官网介绍:

 

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。

此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。

zabbix proxy 使用场景:

  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
  • 简化分布式监控的维护

 

zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。

proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。

实验环境:(同一个局域网)

系统              角色            内网IP            公网IP
Centos7.6    zabbix-server    10.1.88.200        113.108.x.x
Centos7.6    zabbix-proxy     192.168.14.211     121.32.x.x
Centos7.6    zabbix-agent     192.168.14.212

服务器公网

客户端公网

一、Zabbix-server部署

1、查看https://blog.csdn.net/tladagio/article/details/79056421

二、Zabbix-proxy部署

1、测试环境,关闭防火墙和selinux

#修改主机名
[root@localhost ~]# hostnamectl set-hostname proxy
#关闭防火墙和selinux
[root@proxy ~]# systemctl stop firewalld.service
[root@proxy ~]# systemctl disable firewalld.service
[root@proxy ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@proxy ~]# setenforce 0

2、可选,删除系统自带数据库

3、安装zabbix rpm包(注意链接会更新)

[root@proxy ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

4、数据库安装和配置

#yum安装
[root@proxy ~]# yum -y install mariadb mariadb-server

#启动mysql
[root@proxy ~]# systemctl start mariadb
[root@proxy ~]# systemctl enable  mariadb

#初始化mysql(修改root用户密码为redhat)
[root@proxy ~]# mysql_secure_installation

#创建proxy数据库,proxy用户
[root@proxy ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbix_proxy character set utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix_proxy.* to 'zabbix'@'localhost' IDENTIFIED BY 'Proxy123!';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye

5、安装zabbix-proxy

[root@proxy ~]# yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent

6、导入数据库(注意版本号zabbix-proxy-mysql-3.4.15会随着zabbix rpm包改变)

[root@proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.15/schema.sql.gz | mysql -uroot -p zabbix_proxy
Enter password: 输入密码redhat

7、修改zabbix_proxy配置文件(注意是Server IP指向zabbix-server的公网映射IP)

[root@proxy ~]# vi /etc/zabbix/zabbix_proxy.conf 
[root@proxy ~]# cat /etc/zabbix/zabbix_proxy.conf |grep -v "^#"|grep -v "^$"
Server=113.108.x.x
Hostname=proxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=Proxy123!
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

8、修改zabbix_agent配置文件(注意Server IP指定zabbix-proxy服务器的IP,这里是同一台机器)

[root@proxy ~]# vi /etc/zabbix/zabbix_agentd.conf 
[root@proxy ~]# cat /etc/zabbix/zabbix_agentd.conf |grep -v "^#"|grep -v "^$"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.14.211
ServerActive=192.168.14.211
Hostname=proxy
Include=/etc/zabbix/zabbix_agentd.d/*.conf

9、重启服务(如何有新的agent加入,建议重启proxy服务)

[root@proxy ~]# systemctl restart zabbix-agent
[root@proxy ~]# systemctl restart zabbix-proxy

10、主机名解析

[root@proxy ~]# vi /etc/hosts
[root@proxy ~]# cat  /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.14.211	proxy
192.168.14.212	client-212

11、查看相关日志

[root@proxy ~]# cat /var/log/zabbix/zabbix_proxy.log

三、Zabbix-agent部署

1、测试环境,关闭防火墙和selinux

#更改主机名
[root@localhost ~]# hostnamectl set-hostname client-212
#关闭防火墙和selinux
[root@client-212 ~]# systemctl stop firewalld.service
[root@client-212 ~]# systemctl disable firewalld.service
[root@client-212 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@client-212 ~]# setenforce 0

2、安装zabbix rpm包(注意链接会更新)

[root@client-212 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

3、安装zabbix-agent

[root@client-212 ~]# yum install -y zabbix-agent

4、修改zabbix_agent配置文件(注意Server IP指定zabbix-proxy服务器的IP)

[root@client-212 ~]# vi /etc/zabbix/zabbix_agentd.conf 
[root@client-212 ~]# cat /etc/zabbix/zabbix_agentd.conf |grep -v "^#"|grep -v "^$"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.14.211
ServerActive=192.168.14.211
Hostname=192.168.14.212
Include=/etc/zabbix/zabbix_agentd.d/*.conf

5、启动服务

[root@client-212 ~]# systemctl start zabbix-agent 
[root@client-212 ~]# systemctl enable  zabbix-agent

四、华为防火墙配置

1、华为防火墙添加zabbix-server的10051端口映射

五、Zabbix-server的Web页面设置

1、创建代理

2、填写代理名称并设置模式为主动

3、创建主机

4、填写内容

5、查看状态

6、查看图形能正常收集到数据

至此,zabbix客户端和zabbix服务器在不同的两个公网范围,通过zabbix-proxy代理成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章