Linux下Zabbix基于Proxy的分布式部署

续我的上篇博文:https://mp.csdn.net/postedit/88576021

 

zabbix-proxy帮助文档:https://www.zabbix.com/documentation/4.0/zh/manual/appendix/install/db_scripts

 

一、Zabbix架构

这里写图片描述

Zabbix主要由zabbix server和zabbix agent组成

server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展示,并触发相关报警

agent端负责监控数据的采集,并发送给server端

数据采集方式除了在被监控主机上部署agent程序外,还可通过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式可以监控web页面的下载速率和响应时间等重要参数

Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求。

二、实验环境(rhel7.3版本)

1.selinux和firewalld状态为disabled

2.各主机信息如下:

主机 ip
server1(zabbix-server,zabbix-agent) 172.25.83.1
server2(zabbix-agent) 172.25.83.2
server3(proxy) 172.25.83.3

三、Zabbix-proxy的配置

配置server3(日志在:/var/log/zabbix/zabbix_proxy.log)

1.下载软件 zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm     fping-3.10-1.el7.x86_64.rpm,并进行安装

[root@server3 ~]# yum install fping-3.10-1.el7.x86_64.rpm zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm -y

2.安装数据库mariadb-server,启动数据库,登陆数据库,并对数据库进行配置

[root@server3 ~]# yum install mariadb-server -y
[root@server3 ~]# systemctl start mariadb
[root@server3 ~]# mysql
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;  #创建zabbix_proxy数据库,因为之后要在web界面进行操作,为了防止乱码,这里创建的数据库要求格式为utf-8
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix_proxy';  #创建zabbix用户,并对其进行授权

3.导入数据库

<1>先找到数据库要导入的位置:

[root@server3 ~]# rpm -ql zabbix-proxy-mysql-4.0.5

<2>导入数据库

[root@server3 ~]# cd /usr/share/doc/zabbix-proxy-mysql-4.0.5
[root@server3 zabbix-proxy-mysql-4.0.5]# ls
AUTHORS  ChangeLog  COPYING  NEWS  README  schema.sql.gz
[root@server3 zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy     #这里的第一个zabbix是用户,第二个zabbix是要创建数据库的名字
Enter password:       #这里的密码是zabbix用户的密码(zabbix_proxy),输入之后,等待,不要ctrl+c
[root@server3 zabbix-proxy-mysql-4.0.5]# mysql -u zabbix -p zabbix_proxy  #登陆数据库查看,可以看到zabbix数据库中有很多表
Enter password:    #这里是zabbix用户的密码(zabbix-proxy)
MariaDB [zabbix_proxy]> show tables;

4.编辑zabbix-proxy的配置文件

<1>先找到zabbix-proxy配置文件所在的位置

[root@server3 ~]# rpm -ql zabbix-proxy-mysql-4.0.5


<2>编辑zabbix-proxy的配置文件(编辑 /etc/zabbix/zabbix_proxy.conf)

[root@server3 ~]# vim /etc/zabbix/zabbix_proxy.conf 
 30 Server=172.25.83.1
 39 ServerPort=10051
 49 Hostname=server3
196 DBPassword=zabbix_proxy
329 JavaGateway=172.25.83.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5


<3>并启动zabbix-proxy服务

[root@server3 ~]# systemctl start zabbix-proxy
[root@server3 ~]# netstat -antulpe | grep 10051
tcp    0   0 0.0.0.0:10051  0.0.0.0:*   LISTEN   997   24983      2675/zabbix_proxy  

配置server2:

修改配置文件(/etc/zabbix/zabbix_agentd.conf),并重启zabbix-agent服务

[root@server2 ~]# vim /etc/zabbix/zabbix_agentd.conf    #修改配置文件/etc/zabbix/zabbix_agentd.conf
 98 Server=172.25.83.3
139 ServerActive=172.25.83.3
[root@server2 ~]# systemctl restart zabbix-agent   #重启zabbix-agent服务

浏览器:

管理——>agent代理程序——>创建代理:在agent代理程序名称这一栏,写入server3

点击添加,进入下一个界面

配置——>主机——>server2:由agent代理程序监测中,选择server3(上一步创建的代理程序)

点击更新


为了不出错,在server1端重启zabbix-server服务(日志为:/var/log/zabbix/zabbix_server.log);在server2端重启zabbix-agent服务(日志为:/var/log/zabbix/zabbix_agentd.log);在server3端重启zabbix-proxy服务(日志为:/var/log/zabbix/zabbix_proxy.log)

[root@server1 ~]# systemctl restart zabbix-server
[root@server2 ~]# systemctl restart zabbix-agent
[root@server3 ~]# systemctl restart zabbix-proxy

可以看到之前显示的server2的地方,换为了server3:server2。表示配置成功。

猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/88582449