1.概述
Zabbix提供了一种使用Zabbix 代理监视分布式IT基础设施的有效和可靠的方法。
代理可用于代表集中式Zabbix服务器在本地收集数据,然后将数据报告给服务器。
代理功能
当选择使用/不使用代理时,必须考虑几个因素。
代理 | |
---|---|
轻量级 | 是 |
GUI | 没有 |
独立工作 | 是 |
维护方便 | 是 |
自动创建数据库1 | 是 |
地方行政 | 没有 |
准备嵌入式硬件 | 是 |
单向TCP连接 | 是 |
集中配置 | 是 |
生成通知 | 没有 |
[1]自动DB创建功能仅适用于SQLite。其他数据库需要手动设置。
2.代理
概述
Zabbix代理可以代表Zabbix服务器收集性能和可用性数据。这样,代理可以承担一些负载收集数据和卸载Zabbix服务器。
此外,当所有代理和代理向一个Zabbix服务器报告并且所有数据集中收集时,使用代理是实现集中式和分布式监控的最简单方法。
Zabbix代理可用于:
-
监视远程位置
-
监视具有不可靠通信的位置
-
在监视数千个设备时卸载Zabbix服务器
-
简化分布式监控的维护
代理只需要一个到Zabbix服务器的TCP连接。这样,更容易绕过防火墙,因为您只需要配置一个防火墙规则。
Zabbix代理必须使用单独的数据库。将其指向Zabbix服务器数据库将中断配置。
代理收集的所有数据在本地存储,然后传输到服务器。这样,由于服务器的任何临时通信问题,不会丢失任何数据。该ProxyLocalBuffer和ProxyOfflineBuffer参数在代理配置文件中的数据是如何长时间保持局部控制。
可能发生这样的情况,直接从Zabbix服务器数据库接收最新配置更改的代理具有比Zabbix服务器更新的配置,由于CacheUpdateFrequency的值,其配置可能不会被快速更新。因此,代理可能开始收集数据并将其发送到忽略这些数据的Zabbix服务器。
Zabbix代理是一个数据收集器。它不计算触发器,处理事件或发送警报。有关代理功能的概述,请查看下表:
功能 | 由代理支持 | |
---|---|---|
项目 | ||
Zabbix代理检查 | 是 | |
Zabbix代理检查(活动) | 是 1 | |
简单检查 | 是 | |
陷印物品 | 是 | |
SNMP检查 | 是 | |
SNMP陷阱 | 是 | |
IPMI检查 | 是 | |
JMX检查 | 是 | |
日志文件监视 | 是 | |
内部检查 | 是 | |
SSH检查 | 是 | |
Telnet检查 | 是 | |
外部检查 | 是 | |
内置网络监控 | 是 | |
网络发现 | 是 | |
低级发现 | 是 | |
计算触发器 | 没有 | |
处理事件 | 没有 | |
发送提醒 | 没有 | |
远程命令 | 没有 |
[1]为了确保代理人询问活跃检查代理(而不是服务器),代理必须在上市ServerActive代理配置文件中的参数。
配置
一旦你已经安装并配置了代理,现在是时候来配置它在前端的zabbix,
添加代理
在Zabbix前端配置代理:
-
转到:管理→agent代理程序
-
单击创建代理
参数 | 描述 |
---|---|
代理名称 | 输入代理名称。它必须与代理配置文件中Hostname参数中的名称相同。 |
代理模式 | 选择代理模式。 活动 - 代理将连接到Zabbix服务器并请求配置数据 被动 - Zabbix服务器连接到代理 请注意,如果没有加密通信(敏感)代理配置数据可能变为对使用Zabbix服务器陷阱端口的各方可用代理。这是可能的,因为任何人都可以假装是活动代理并且如果不发生认证则请求配置数据。 |
主机 | 添加要由代理监视的主机。 已由其他代理监视的主机在其他主机选择中显示为灰色。 |
描述 | 输入代理描述。 |
该加密标签,您可以要求与代理的加密连接。
参数 | 描述 |
---|---|
与代理的连接 | 服务器如何连接到被动代理:无加密(默认),使用PSK(预共享密钥)或证书。 |
代理连接 | 选择允许从活动代理的连接类型。可以同时选择多种连接类型(用于测试和切换到其他连接类型)。默认值为“无加密”。 |
发行人 | 允许颁发证书。首先使用CA(证书颁发机构)验证证书。如果它是有效的,由CA签名,则发出者字段可以用于进一步限制允许的CA. 此字段是可选的,如果您的Zabbix安装使用来自多个CA的证书,则使用此字段。 |
学科 | 允许证书主题。首先使用CA验证证书。如果它是有效的,由CA签名,则主题字段可以用于仅允许主题字符串的一个值。如果此字段为空,则接受由配置的CA签名的任何有效证书。 |
PSK身份 | 预共享密钥身份字符串。 |
PSK | 预共享密钥(十六进制字符串)。最大长度:如果Zabbix使用GnuTLS或OpenSSL库,则为512个十六进制数字(256字节PSK),如果Zabbix使用mbed TLS(PolarSSL)库,则为64个十六进制数字(32字节PSK)。示例:1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
主机配置
您可以指定单个主机应由主机配置表单中的代理监视,使用代理监视字段。
主机大量更新是指定应由代理监视主机的另一种方式。
3. proxy服务器
zabbix存储库提供了三个包名称:
- zabbix-proxy-mysql
- zabbix-proxy-pgsql
- zabbix-proxy-sqlite3
分别对应不同的数据库类型-MySQL, PostgreSQL, SQLite
3.1创建proxy数据库
创建zabbix proxy数据库及其用户
[root@localhost ~/zabbix-3.2.3]#/usr/local/mysql/bin/mysqld_safe
[root@localhost ~]#service mysqld status
mysqld (pid 6250) 正在运行...
[root@localhost ~]#mysql -uroot -p123456
mysql> CREATE DATABASE zabbix_proxy CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON zabbix_proxy.* TO 'zbxuser' IDENTIFIED BY 'zbxproxy';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
[root@localhost ~]#groupadd zabbix
[root@localhost ~]#useradd -g zabbix zabbix
3.2安装proxy
[root@localhost ~]#tar xf zabbix-3.2.3.tar.gz
[root@localhost ~]#cd zabbix-3.2.3
# 解决net-snmp依赖
[root@localhost ~]#yum install net-snmp net-snmp-utils
[root@localhost ~]#service snmpd start
正在启动 snmpd: [确定]
[root@localhost ~]#yum install net-snmp-devel
# 解决ssh2依赖
[root@localhost ~/zabbix-3.2.3]#yum install -y libssh2-devel
# 安装proxy
[root@localhost ~]#cd zabbix-3.2.3
[root@localhost ~/zabbix-3.2.3]#./configure --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2
[root@localhost ~/zabbix-3.2.3]#make
[root@localhost ~/zabbix-3.2.3]#make install
3.3导入数据库模板
[root@localhost ~/zabbix-3.2.3]#mysql -uzbxuser -pzbxproxy zabbix_proxy < database/mysql/schema.sql
3.4修改proxy配置
[root@localhost ~]#vim /usr/etc/zabbix_proxy.conf
Server=192.168.195.202
Hostname=192.168.195.205 # 该项要与被zabbix_server添加同名
DBHost=localhost
DBUser=zbxuser
DBPassword=zbxproxy
3.5启动zabbix proxy进程
[root@localhost ~]#zabbix_proxy
3.6快速设置node2
对被zabbix_server直接监控的agent节点node1做快照、克隆,修改node2网卡IP
# zabbix_server:192.168.195.202
# proxy服务器:192.168.195.205
# node2:192.168.195.209
[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.195.205
ServerActive=192.168.195.205
[root@localhost ~]#zabbix_agentd
3.7zabbix_server添加proxy
管理->agentd代理程序->创建代理(名称要proxy配置文件的Hostname一致)
3.8proxy添加node2
配置->主机->创建主机
管理->agent代理程序
配置->主机
3.9配置监控
配置->主机->node2->监控项->创建监控项
关闭防火墙
监测中->最新数据
3.10其他配置
proxy默认是3600秒去zabbix_server获取配置
[root@localhost ~]#vim /usr/etc/zabbix_proxy.conf
### Option: ConfigFrequency
# How often proxy retrieves configuration data from Zabbix Server in seconds.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1-3600*24*7
# Default:
# ConfigFrequency=3600 # 获取配置间隔
proxy默认是1秒返回数据
[root@localhost ~]#vim /usr/etc/zabbix_proxy.conf
### Option: DataSenderFrequency
# Proxy will send collected data to the Server every N seconds.
# For a proxy in the passive mode this parameter will be ignored.
#
# Mandatory: no
# Range: 1-3600
# Default:
# DataSenderFrequency=1 # 返回数据间隔
proxy默认正常不保存本地数据
[root@localhost ~]#vim /usr/etc/zabbix_proxy.conf
### Option: ProxyLocalBuffer
# Proxy will keep data locally for N hours, even if the data have already been synced with the server.
# This parameter may be used if local data will be used by third party applications.
#
# Mandatory: no
# Range: 0-720
# Default:
# ProxyLocalBuffer=0 # 本地数据发送完,保存时间
proxy默认断开zabbix_server连接下保存本地数据1小时
[root@localhost ~]#vim /usr/etc/zabbix_proxy.conf
### Option: ProxyOfflineBuffer
# Proxy will keep data for N hours in case if no connectivity with Zabbix Server.
# Older data will be lost.
#
# Mandatory: no
# Range: 1-720
# Default:
# ProxyOfflineBuffer=1 # proxy与zabbix_server断开,保存本地数据1小时