千家信息网

CentOS 7.8 搭建 Zabbix代理服务器

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,Zabbix代理服务器一:代理概述zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix
千家信息网最后更新 2025年02月07日CentOS 7.8 搭建 Zabbix代理服务器

Zabbix代理服务器

一:代理概述

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

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

zabbix proxy 使用场景:

  • 监控远程区域设备

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

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

  • 简化分布式监控的维护

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



二、安装代理服务器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代理程序

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

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

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


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.unamesystem.uname用于获取包含"Linux"或"Windows"等信息,具体取决于运行agent的主机。主机元数据示例如下:Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/LinuxWindows: 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:这个是用来匹配的客户端的.



2、创建自动发现动作

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

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



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

操作:添加Windows server分组



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

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



三、自动注册:

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

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

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

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

  • 名称:Auto Linux server

  • 条件:主机元数据似 Linux

  • 操作:添加主机

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

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



主机 服务 数据 服务器 配置 客户 监控 客户端 代理 信息 数据库 规则 防火 情况 文件 方式 环境 防火墙 主动 动作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 根数据库连接的登录 数据库怎么保证数据安全 东城区推广软件开发介绍 长沙楚天安易软件开发公司 代理服务器管理界面 网络技术应用重点知识 excel服务器工程管理 网络安全应急响应牌子 山西合为互联网科技有限公司 大智慧本地数据库过旧 论网络安全的意义 首届网络安全周是几月几日 高性能数据库常考面试题 万维网服务器的特点是什么 服务器插上威刚固态显示屏不亮 物联网学习软件开发吗 学软件开发学费多少钱 软件开发计算机培训学校前景如何 如何开启服务器管理器 网络安全及网络舆情处理置 软件开发未完成甲方中止 三级数据库速成 wps如何打开分析数据库 怎么开teamspeak服务器 广东家用软件开发费用 app软件开发需要什么技术 ibm服务器启动 数据库系统概念 脚本之家 数据库集群数据不同步了如何处理 下列选项中不属于网络安全
0