CentOS7.8搭建Zabbix代理服务器

Zabbix代理服务器

周宁ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

一:代理概述

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

此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。使用proxy是实现集中式和分布式监控的最简单方法。

zabbix proxy 使用场景:

  • 监控远程区域设备

  • 监控本地网络不稳定区域

  • 当 zabbix 监控上千设备时,使用它来减轻 server 的压力

  • 简化分布式监控的维护

    CentOS 7.8 搭建 Zabbix代理服务器

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

  • CentOS 7.8 搭建 Zabbix代理服务器


二、安装代理服务器Proxy

安装环境:

1、系统环境:CentOS Linux release 7.5.1804 (Core) 

2、zabbix版本:zabbix-release-3.4-2.el7.noarch

3、测试环境,关闭了防火墙(生产环境不建议关闭,根据需求设置防火墙)

[root@centos78 ~]# systemctl stop firewlld.service       关闭防火墙

[root@centos78 ~]# systemctl disable firewalld.service  开机禁用防火墙启动

4、关闭Selinux

[root@centos78 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

[root@centos78 ~]# setenforce 0


安装数据库

1、指定下载数据库版本最好跟zabbix-server一致,编辑安装包路径下载路径:

 [root@centos78 ~]# vim /etc/yum.repos.d/base.repo  (没有base.repo可以自己创建)

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.2/centos7-amd64

gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck = 1

2、安装10.2的mariadb

yum install mariadb-server

3、设置mariadb

[root@centos78 ~]# systemctl start mariadb  启动

[root@centos78 ~]# systemctl enable mariadb 设置开机启动

[root@centos78 ~]# systemctl status mariadb   查看启动状态


安装和设置Proxy服务端

1、下载和安装Zabbix

[root@centos78 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  (下载Zabbix最新版本)

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

2、创建数据和导入数据

[root@centos78 ~]# mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 8

Server version: 10.2.17-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix_proxy  character set utf8 collate utf8_bin;     创建数据库zabbix_proxy

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';  设置zabbix_proxy权限和密码

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit    退出

Bye

导入数据库

[root@centos78 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.14/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy 

配置数据库用户和密码

[root@centos78 ~]# vim /etc/zabbix/zabbix_proxy.conf   修改配置文件,设置密码

DBPassword=zabbix

[root@centos78 ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_proxy.conf 查看关键配置信息

24:Server=192.168.1.1               这里是Zabbix服务器的ip地址

42:Hostname=centos78            这里是proxy本身的主机名

84:LogFile=/var/log/zabbix/zabbix_proxy.log

95:LogFileSize=0

136:PidFile=/var/run/zabbix/zabbix_proxy.pid

146:SocketDir=/var/run/zabbix

166:DBName=zabbix_proxy

181:DBUser=zabbix

190:DBPassword=zabbix

390:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

466:Timeout=4

508:ExternalScripts=/usr/lib/zabbix/externalscripts

544:LogSlowQueries=3000

启动zabbix和设置开机启动

[root@centos78 ~]# systemctl start zabbix-proxy

[root@centos78 ~]# systemctl enable zabbix-proxy

3、配置zabbix_proxy.conf文件

sed -i.ori '190a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf                第190行插入DBPassword,

sed -i 's#Server=127.0.0.1#Server=192.168.1.1#' /etc/zabbix/zabbix_proxy.conf       这个是Zabbix server的IP地址(或主机名),不是Zabbix proxy的ip哦

sed -i 's#Hostname=Zabbix proxy#Hostname=centos78#' /etc/zabbix/zabbix_proxy.conf    这个Zabbix proxy的hostname,唯一的, 区分大小写的,确保server端知道其名称!允许的符号: 字母数字, '.', ' ', '_' 和 '-'。最大长度: 64,经常会在这里出错。

修改完后重启服务:

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

检查启动情况:

[root@centos78 ~]#  netstat -lntup |grep zabbix

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2190/zabbix_agentd  

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      12789/zabbix_proxy  

tcp6       0      0 :::10050                :::*                    LISTEN      2190/zabbix_agentd  

tcp6       0      0 :::10051                :::*                    LISTEN      12789/zabbix_proxy  


三、客户端主机配置文件指向 proxy

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

Server=192.168.1.78     这里指向proxy服务器IP,通过代理收集信息。

ServerActive=192.168.1.78

Hostname=centos78


四、服务端web界面:添加agent代理程序

CentOS 7.8 搭建 Zabbix代理服务器

几分钟后检测到代理服务器:

CentOS 7.8 搭建 Zabbix代理服务器

再创建一个自动发现规则:

CentOS 7.8 搭建 Zabbix代理服务器

通过自动发现,就可以自动通过代理的客户端添加到自定义分组中,详细情况下面教程:

Zabbix自动发现和自动注册



对于监控服务器越来越多的情况,如果还单独一个一个添加,那效率也太低,因此就要实现批量添加监控服务器的操作,Zabbix提供两种批量自动监控的方式:

自动发现:由服务端主动发起,Zabbix Server开启发现进程,定时扫描局域网中IP服务器、设备。

自动注册:由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。对于使用SNMP的就要采用自动发现了。


一、客户端配置指定服务器

在zabbix_agentd.conf中指定Zabbix server配置信息,这个在前期批量安装客户端的时候,就需要一起批量修改。

Server=192.168.101.78     
ServerActive=192.168.101.78  
HostMetadataItem=system.uname

HostMetadataItem主机元数据

当agent程序向服务器发送自动注册请求时,会发送其主机名。在某些情况下,Zabbix服务器的主机名不足以区分发现的主机。主机元数据可将其他信息从agent发送到服务器。

主机元数据在zabbix_agentd.conf中配置。在配置文件中指定主机元数据有两种方式:(两种不能同时用)

HostMetadataItem:
HostMetadataItem=system.uname
system.uname用于获取包含“Linux”或“Windows”等信息,具体取决于运行agent的主机。
主机元数据示例如下:
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32
HostMetadata:
可选参数用来定义主机元数据,只有主机自动注册时才用到主机元数据。如果没有定义,该值通过 HostMetadataItem 获得。根据需求设置不同模板进行分组:
HostMetadata=Linux或HostMetadata=Windows或HostMetadata=Router或HostMetadata=SMNP



二、自动发现

1、添加自动发现规则

更新间隔:120s-300s,服务器性能不好可以设置久一点

system.uname:这个是用来匹配的客户端的.

CentOS 7.8 搭建 Zabbix代理服务器


2、创建自动发现动作

A、添加linux主机自动发现规则

CentOS 7.8 搭建 Zabbix代理服务器

操作:添加主机、添加Linux server组、添加模板,其他自己设置。

CentOS 7.8 搭建 Zabbix代理服务器


B、添加Windows自动发现规则:

CentOS 7.8 搭建 Zabbix代理服务器

操作:添加Windows server分组

CentOS 7.8 搭建 Zabbix代理服务器


3、查看客户端日记信息:active已经连接上

CentOS 7.8 搭建 Zabbix代理服务器

查看服务端信息:已经自动添加到Windows server和Linux server组中

CentOS 7.8 搭建 Zabbix代理服务器


三、自动注册:

由客户端主动发起,客户端必须安装并启动Agentd,否则无法被自动注册添加至主机列表。

1、活动的Zabbix agent可以自动注册到服务器进行监控。这种方式无需在服务器上手动配置它们。

2、使用SNMP或者其他方式监控的,无法使用自动注册,只能使用自动发现。

3、配置---动作---自动注册---创建动作

  • 名称:Auto Linux server

  • 条件:主机元数据似 Linux

  • 操作:添加主机

  • 操作:添加到主机组:Linux server

  • 操作:链接到模板:Template OS Linux

CentOS 7.8 搭建 Zabbix代理服务器


分享名称:CentOS7.8搭建Zabbix代理服务器
标题网址:http://hbruida.cn/article/gjjogi.html