zabbix proxy分布式监控部署

一、简化分布式监控的维护

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

zabbix proxy 数据库必须和 server 分开,否则数据会被破坏

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

注意从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。有关proxy功能的概述,如下表:

二、分布式监控部署

环境说明

系统版本 CentOS 7.2 x86_64

软件版本 zabbix 3.0.18

机器角色及ip

zabbix server 10.0.0.63

zabbix proxy eth0:10.0.0.65 eth1:192.168.1.65

zabbix agent 192.168.1.66

通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网ip地址,zabbix agent只具有内网地址,zabbix proxy具有外网地址和内网地址,搭建zabbix proxy使zabbix server能通过proxy远程获取到zabbix agent的数据

1、配置zabbix proxy

1.1 安装并配置zabbix的源

#安装源

[root@zabbix-proxy ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 

#修改配置文件,将地址改为清华的

 [root@zabbix-proxy ~]# vim /etc/yum.repos.d/zabbix.repo

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/$basearch/

……

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/

……

#更新缓存

[root@zabbix-proxy ~]# yum makecache 
1.2 安装配置zabbix proxy

#安装zabbix-proxy

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

#安装数据库

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

#启动数据库

[root@zabbix-proxy ~]# systemctl start mariadb.service

#开机启动

[root@zabbix-proxy ~]# systemctl enable mariadb.service

#登录数据库

[root@zabbix-proxy ~]# mysql

 #创库
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; 
 #授权
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by '123456';

MariaDB [(none)]> exit
[root@zabbix-proxy ~]# rpm -ql zabbix-proxy-mysql|grep sql

/usr/sbin/zabbix_proxy_mysql

/usr/share/doc/zabbix-proxy-mysql-3.0.18

/usr/share/doc/zabbix-proxy-mysql-3.0.18/AUTHORS

/usr/share/doc/zabbix-proxy-mysql-3.0.18/COPYING

/usr/share/doc/zabbix-proxy-mysql-3.0.18/ChangeLog

/usr/share/doc/zabbix-proxy-mysql-3.0.18/NEWS

/usr/share/doc/zabbix-proxy-mysql-3.0.18/README

/usr/share/doc/zabbix-proxy-mysql-3.0.18/schema.sql.gz

#导入数据库

[root@zabbix-proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.18/                
[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# zcat schema.sql.gz | mysql -uzabbix -p123456 zabbix_proxy

#修改zabbix-proxy的配置文件

[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# cd

[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf
24 Server=10.0.0.63    #zabbix-server的地址

43 Hostname=zabbix-proxy        #主机名

128 DBHost=localhost            #数据库主机

139 DBName=zabbix_proxy        #数据库名称

154 DBUser=zabbix            #数据库用户名

162 DBPassword=123456        #数据库密码

配置文件中没有配置的内容如下:(有需要可以配置)

ProxyLocalBuffer=0

#数据保留的时间(小时为单位)

ProxyOfflineBuffer=1

#连不上Server,数据要保留多久(小时为单位,默认1小时)

DataSenderFrequency=1

#数据的发送时间间隔(默认是1秒)

StartPollers=5

#启动的线程数

StartIPMIPollers=0

#启动IPMI的线程数

#启动zabbix-proxy

[root@zabbix-proxy ~]# systemctl start zabbix-proxy.service         

[root@zabbix-proxy ~]# systemctl enable zabbix-proxy.service

2、server端的web界面添加zabbix proxy

配置——>anget代理程序——>创建代理

agent代理程序名称和proxy代理的主机名相同
zabbix proxy分布式监控部署_第1张图片

proxy代理添加后,等待发现代理,如果不能及时发现代理,可以通过查看server和proxy的日志进行检查

[root@zabbix-server ~]# tail -f /var/log/zabbix/zabbix_server.log

[root@zabbix-proxy ~]# tail -f /var/log/zabbix/zabbix_proxy.log

 #重启server端服务
[root@zabbix-server ~]# systemctl restart zabbix-server.service 

 #再重启proxy端服务
[root@zabbix-proxy ~]# systemctl restart zabbix-proxy.service

Web界面进行检查,代理成功添加
zabbix proxy分布式监控部署_第2张图片

3、安装配置zabbix-agent

由于agent端只有一个内网卡,不能上网,要安装zabbix-agent可以采取的方法有:

a、将proxy配置为路由器和agent的网关,使agent通过proxy上网安装

b、在proxy端下载好agent程序发送到agent端再安装

这里选择方法b

在proxy下载并发送

[root@zabbix-proxy ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.18-1.el7.x86_64.rpm

[root@zabbix-proxy ~]# scp zabbix-agent-3.0.18-1.el7.x86_64.rpm [email protected]:/root/

root@192.168.1.66's password:

zabbix-agent-3.0.18-1.el7.x86_64.rpm 100% 341KB 341.4KB/s 00:00

agent端yum本地安装

[root@zabbix-agent ~]# yum localinstall -y zabbix-agent-3.0.18-1.el7.x86_64.rpm

#修改配置文件

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf            

95 Server=192.168.1.65            #服务端即proxy的ip地址,内网地址

147 Hostname=192.168.1.66        #填写主机名称,或填写为ip地址便于区分            

#启动zabbix-agent

[root@zabbix-agent ~]# systemctl start zabbix-agent.service 
[root@zabbix-agent ~]# systemctl enable zabbix-agent.service

4、server端的web界面添加主机

配置——>主机——>创建主机

主机名称和agent端配置文件中相同,选择代理

zabbix proxy分布式监控部署_第3张图片

为主机链接模板

zabbix proxy分布式监控部署_第4张图片

5、检验

等待添加的主机变绿,变绿之后查看最新数据

若不能及时变绿,则需要重启服务或使用命令zabbix_server -R config_cache_reload刷新配置缓存

zabbix proxy分布式监控部署_第5张图片
至此,zabbix跨网段通过proxy代理监控主机配置完成!

本文章转载于https://www.cnblogs.com/ssgeek/p/9252226.html

你可能感兴趣的:(运维,云计算,分布式,数据库,zabbix,mysql,linux)