在 Zabbix 前端注册 Zabbix 代理

在 Zabbix 前端注册代理:

转到:管理 -> 代理
点击创建代理

输入代理名称。
必须与代理配置文件中Hostname参数中输入的名称相同
选择代理模式:

  • Active - 代理将连接到 Zabbix 服务器并请求配置数据
  • 被动 - Zabbix 服务器连接到代理

选择应由代理监控的主机。

单击添加按钮。

安装 Zabbix 代理

首先,我们需要导入 zabbix GPG 密钥并将 Zabbix 存储库添加到我们的服务器:

[jack@onitroad ~]# rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
[jack@onitroad ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

下一步是使用以下命令安装我们的代理:

[jack@onitroad ~]# yum install zabbix-proxy-mysql

启动/启用 Zabbix 代理

安装和配置完成后,使用以下命令在系统启动时启用并重启Zabbix Proxy服务

[jack@onitroad ~]# systemctl enable zabbix-proxy
[jack@onitroad ~]# systemctl start zabbix-proxy

注意:如果我们在启动 zabbix-proxy 守护进程时遇到问题,并且收到此错误“zabbix-proxy.service 的作业失败,因为超出了配置的资源限制。
请参阅“systemctl status zabbix-proxy.service”和“journalctl -xe”有关详细信息”,我们需要使用 audit2allow 命令设置 Selinux 角色:

使用以下命令安装 policycoreutils-python 包:

# yum install policycoreutils-python

使用以下命令创建 Selinux 规则并启用它:

[jack@onitroad ~]# cat /var/log/audit/audit.log | grep zabbix_proxy | grep denied | audit2allow -M zabbix_proxy
[jack@onitroad ~]# semodule -i zabbix_proxy.pp

使用以下命令启用zabbix代理使用网络:

[jack@onitroad ~]# setsebool -P zabbix_can_network=1

最后启动Zabbix代理服务:

[jack@onitroad ~]# systemctl start zabbix-proxy

或者你可以使用这个 Selinux 角色,在 CentOS 7.3 上测试过:

[jack@onitroad ~]# vi zabbix_proxy.te
module zabbix_proxy 1.0;
require {
        type zabbix_t;
        type zabbix_port_t;
        class process setrlimit;
        class tcp_socket name_connect;
}
#============= zabbix_t ==============
allow zabbix_t self:process setrlimit;
#!!!! This avc is allowed in the current policy
allow zabbix_t zabbix_port_t:tcp_socket name_connect;
[jack@onitroad ~]# checkmodule -m -M zabbix_proxy.te -o zabbix_proxy.mod
[jack@onitroad ~]# semodule_package -m zabbix_proxy.mod -o zabbix_proxy.pp
[jack@onitroad ~]# semodule -i zabbix_proxy.pp

配置 Zabbix 代理

打开 zabbix_proxy.conf 文件并更改以下参数:

[jack@onitroad ~]# vi /etc/zabbix/zabbix_proxy.conf
Server=<IP of your zabbix server>
Hostname=<Name of your proxy>
DBName=<Name of your proxy database>
DBUser=<Name of your proxy user>
DBPassword=<Password of your proxy user>

执行以下命令启用 Zabbix 服务器和 Zabbix 代理之间的连接:

[jack@onitroad ~]# firewall-cmd --permanent --add-port=10050/tcp
[jack@onitroad ~]# firewall-cmd --permanent --add-port=10051/tcp
[jack@onitroad ~]# firewall-cmd --reload
如何在 CentOS 7/RHEL 7 上安装和配置 Zabbix Proxy 3.4

Zabbix 代理可以代表 Zabbix 服务器收集性能和可用性数据。
这样,代理可以自己承担一些收集数据的负载并卸载 Zabbix 服务器。

此外,使用代理是实现集中式和分布式监控的最简单方法,当所有代理和代理向一台 Zabbix 服务器报告并且所有数据都集中收集时。

Zabbix 代理可用于:

  • 监控远程位置
  • 监控通信不可靠的位置
  • 监控数千台设备时卸载 Zabbix 服务器
  • 简化分布式监控的维护

在本文中,我们将介绍如何使用 Mariadb/MySQL 数据库在 CentOS 7/RHEL 7 服务器上安装和配置 Zabbix 代理。
为了安装代理,我们需要用户超级管理员权限。

创建 Zabbix 代理数据库

首先我们需要安装 MariaDB

[jack@onitroad ~]# yum install mariadb-server

使用以下命令在启动时启用/重新启动 MariaDB 服务器:

[jack@onitroad ~]# systemctl enable mariadb && systemctl start mariadb

不要忘记使用 mysql_secure_installtion 为 root 设置密码,看看这个教程:Securing MySQL server/Mariadb with mysql_secure_installation

现在我们需要创建zabbix代理数据库并授予zabbix代理用户访问权限

[jack@onitroad ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 25
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2015, 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;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to jack@onitroad identified by "Password";
MariaDB [(none)]> flush privileges;

然后导入初始模式。
确保为 zabbix-proxy-mysql-3.4.X 插入正确的版本

[jack@onitroad ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.X/schema.sql.gz | mysql -u zabbixuser zabbix_proxy -p
日期:2020-06-02 22:19:00 来源:oir作者:oir