想要实现使用zabbix-proxy来实现自动注册功能,那么就想要安装zabbix-proxy,而zabbix-proxy也是依赖于数据库的,所以安装zabbix-proxy也想要安装数据库,我使用的是MySQL数据库,而且zabbix-proxy的数据库不能和zabbix-server放在一起,而且既然我们使用了zabbix-proxy,那么就把zabbix-proxy和zabbix-server分开安装在不同的主机上。

之前我的博文已经介绍过zabbix-server和MySQL的安装,连接:
https://blog.51cto.com/75368/2340281

本文系统环境Centos7,主机地址:10.0.0.11

这里就不介绍zabbix-server和MySQL的安装安装了,zabbix-proxy需要依赖数据库,那么就要先在MySQL中
创建创建一个数据库,在MySQL中创建数据库和授权如下:
mysql> create database proxydb character set utf8; # 创建数据库
mysql> grant all on proxydb.* to proxy@localhost identified by 'proxypass'; # 创建授权用户
mysql> flush privileges; # 刷新授权表,

1、数据库创建好之后就开始安装zabbix-proxy,以及zabbix-agent如下:

(1)、配置zabbix源:
[root@orabbix opt]# rpm -ivh epel-release-7-11.noarch.rpm
warning: epel-release-7-11.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:epel-release-7-11 ################################# [100%]
[root@orabbix opt]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
warning: zabbix-release-3.2-1.el7.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-release-3.2-1.el7 ################################# [100%]

(2)、开始安装zabbix-proxy以及其他所需要的包,如下:
[root@orabbix ~]# yum install -y zabbix-agent.x86_64 zabbix-proxy-mysql.x86_64 zabbix-sender.x86_64 zabbix-web.noarch zabbix-web-mysql.noarch

2、proxy安装完成之后,把zabbix-proxy数据结构导入之前在MySQL中创建的proxydb数据库中,如下:
[root@orabbix opt]# cd /usr/share/doc/zabbix-proxy-mysql-3.2.11/
[root@orabbix zabbix-proxy-mysql-3.2.11]#
[root@orabbix zabbix-proxy-mysql-3.2.11]# ll
total 812
-rw-r--r-- 1 root root 98 Dec 27 23:09 AUTHORS
-rw-r--r-- 1 root root 783414 Dec 27 23:09 ChangeLog
-rw-r--r-- 1 root root 17990 Dec 27 23:09 COPYING
-rw-r--r-- 1 root root 52 Dec 27 23:09 NEWS
-rw-r--r-- 1 root root 188 Dec 27 23:09 README
-rw-r--r-- 1 root root 11595 Dec 27 23:09 schema.sql.gz
[root@orabbix zabbix-proxy-mysql-3.2.11]# zcat schema.sql.gz |mysql -uroot -p proxydb
Enter password:

3、配置zabbix-proxy连接到zabbix-server的配置文件,以及配置agent连接到zabbix-proxy的配置文件:

(1)、在配置文件中需要修改以下内容:
[root@orabbix ~]# cd /etc/zabbix/
[root@orabbix zabbix]# vi zabbix-proxy.conf
Server=10.0.0.10 //这里填写zabbix-server的地址
Hostname=orabbix
DBHost=10.0.0.11
DBName=proxydb
DBUser=proxy
DBPassword=proxypass
DBPort=1521
Timeout=4
LogSlowQueries=3000

(2)、配置zabbix-agent,因为要配置自动注册,在zabbix-agent的配置文件中,修改的内容如下:
[root@orabbix ~]# cd /etc/zabbix/
[root@orabbix zabbix]# vi zabbix_agentd.conf

Server=10.0.0.11 //因为是使用proxy,所以这里使用proxy的地址
ServerActive=10.0.0.11:10051
StartAgents=4
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d
LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/var/run/zabbix/zabbix_agentd.pid
UnsafeUserParameters=1
EnableRemoteCommands=1
HostnameItem=system.hostname //这个是系统自动获取主机名,就系统hostname名称
HostMetadata=linuxAuto //这是用来触发注册的条件项,这个配置的linuxAuto要和在配置web端配置的condition中要一样

4、在server端的web界面配置自动注册规则:
(1)、添加自动配置操作规则,在web的界面,
点 Configuration->Actions 在菜单的最右边,选择下拉框Event Source中,选Auto registration,然后点Create action. 下图:
zabbix的自动注册(Auto registration),使用proxy实现_第1张图片

(2)、点Create action后,先配置Action项,起一个名称,然后在“New condition”处,选择“Hostmetadata”
Hostmetadata值配置要和配置文件中的值一样,这里配置为linuAuto,如下图:
zabbix的自动注册(Auto registration),使用proxy实现_第2张图片

(3)、再配置Opertions项,在这里添加主机、主机组、模板
zabbix的自动注册(Auto registration),使用proxy实现_第3张图片
(4)、添加结果:
zabbix的自动注册(Auto registration),使用proxy实现_第4张图片

这样自动注册就配置完成了,过一下,点zabbix-server的web中的Configuration---->Host,就会发现被监控主机自动注册上来了。