环境

因为公司需要监控远程客户机,但server端无法主动连接agent端,客户端可以连接公司ip,公司有固定ip,可以开放某个端口给zabbixserver,客户机agent端可以主动通过外网连接公司服务器,但没有固定ip,查过zabbix,可以有多种方法设定agent端主动连接server端,方式如下

  • agent(active) 采集模式(create item)
  • trapper 采集模式(create item),需要安装zabbix-sender,使用脚本启动命令,执行sender
  • 还有安装proxy,这是我后来实验成功,也是最理想的

讲道理,agent(active)模式应该是最简单,最合适的,配置好对应的agent端,打开active模式,克隆模板,修改item-->type,选择active模式,具体的等实验成功再说,实践证明,是口以的,传送门:

zabbi-proxy的搭建

  • proxy跟server其实是一个性质的,只是他作用范围小,对应的功能会少点,具体体现在不能脱离server端独立运行,
  • 详情传送门:https://www.zabbix.com/documentation/2.4/manual/appendix/config/zabbix_proxy
  • 中文翻译版:http://www.ttlsa.com/zabbix/zabbix-proxy-proxies/
  • 能yum,就不源码(proxy跟server不在同一主机上)
yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
  • agent的配置文件中将server端ip指定为proxy的ip,及本机ip,其他配置不需要改变(web端配置时,添加hosts时,最末尾选择代理,前提是代理已经创建配置好)

mysql库的配置

zabbix也是一个小型的server,也需要存储数据,所以需要创建数据库,不能跟server公用一个数据库(一般server不与proxy在同一主机,但这个需要注意)

mysql> create database zabbix_proxy character set utf8;                           # 创建数据库
mysql> grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';    # 创建授权用户
mysql> flush privileges;                                                          # 刷新授权表,虽然不需要
mysql> use proxydb;
  • rpm -ql zabbix-proxy-mysql #查看安装时,创建了哪些文件
  • zabbix-proxy的数据库只需要导入一条sql语句
mysql -uzabbix -pzabbix zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-2.4.8/create/schema.sql

zabbix-proxy配置文件

  • 修改配置文件/etc/zabbix/zabbix_proxy.conf
Server=192.168.1.154              #真正的服务端
ServerPort=18103                  #根据个人需要修改,一般可以不改,默认端口是10051,要实现转发的话使用这个选项
Hostname=153Zabbix proxy          #proxy的hostname,在web端网页配置时需要用到
DBHost=localhost                  #数据库,使用本地,也可以使用ip,我喜欢使用localhost,因为我授权就是本地,也因为配置ip失败踩过坑
DBName=zabbix_proxy               #数据库名称,创建zabbix-proxy的mysql的数据库名称
DBUser=zabbix                     #用户
DBPassword=zabbix                 #密码
#DBPort=3306                      #当DBHost填写localhost时,默认是使用socket通信的,这里配置一下也无碍
#HeartbeatFrequency=60            #心跳线(具体作用网了,看配置文件吧,这个默认就是60)
ConfigFrequency=600               #这个好像是同步配置文件的时间
DataSenderFrequency=1             #这个是proxy端向server端发送数据的时间,单位是秒,几乎等于实时同步

web端创建proxy

  • 添加主机信息

zabbix proxy zabbix agent连接使用什么协议 zabbix proxy配置_数据库

zabbix proxy zabbix agent连接使用什么协议 zabbix proxy配置_配置文件_02

  • 最后这里可以直接添加主机,也可以然后再添加主机,先创建hosts,在创建hosts的最下面步骤选择proxy
zabbix_get -s IP地址 -k agent.ping(前提需要安装get,yum install -y zabbix-get)