测试环境说明:

1vmware workstation12 (安装在dell台式机win7系统上)

2、虚拟机操作系统:ubuntu 14.04

4、虚拟机:zabbix proxy  内存 1G vCPU 1  磁盘:20G

安装时间:20161011

 

一、更新系统

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装

 

二、安装mysql

root@host-10-1-1-43:~/zabbix-2.2.2# apt-get install mysql-server mysql-client

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_02

输入y继续

 

1、设定mysql   root密码 1qaz#EDC

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_03

2、确认密码 再次输入1qaz#EDC

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_04

 

三、配置mysql参数

1、编辑配置文件 vim /etc/mysql/my.cnf

max_connections        = 50   最大连接数设置,测试用途50足矣

query_cache_limit       = 1M   查询缓存限制

query_cache_size        = 128M    查询缓存大小

其他的配置项,基本默认配置即可

 

 

四、获取zabbix_2.2.15.orig.tar.gz (这里的版本跟server端一致)

1wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix/zabbix_2.2.15.orig.tar.gz

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_05

2、解压到指定目录

root@zabbix-proxy-01:~# tar -zxvf zabbix_2.2.15.orig.tar.gz -C /usr/local/src/

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_06

 

五、mysql数据库初始化

1、进入database目录

root@zabbix-proxy-01:~# cd /usr/local/src/zabbix-2.2.15/database/

 

2、创建数据库,数据库名称为zabbix ,密码就是之前安装mysql定义的root密码:1qaz#EDC

语句: mysql -uroot -p -e"create database zabbix;"

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_07

 

3、授权账户zabbix,可以登录到库zabbix

3.1、登入数据库

root@host-10-1-1-43:~/zabbix-2.2.2/database# mysql -uroot –p

3.2、授权操作

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

3.3、执行OK

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_08

 

4、导入zabbix的数据库(注意:如果安装zabbix-proxy,只需要导入schema.sql即可,其它不用导入)

4.1、在导入之前,先看看库zabbix里面有没有表

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_09

结果:表是空的

4.2、执行语句: mysql -D zabbix -uzabbix -pzabbix < mysql/schema.sql   进行导入

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_10

注意:因为我这里用的是mysql数据库,所以是在mysql目录下,如果安装zabbix-proxy,只导入schema.sql即可,其他两个不用导入。

 

4.3、导入成功后,再次查看有没有数据

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_11

结果:已经有数据了,说明导入成功

 

六、测试数据库是否初始化成功

测试流程如下:

1、重新启动mysql服务

2、用zabbix账户进入数据库

3、查看数据库zabbix以及表

命令:

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_12

目测全部通过!

 

七、zabbix编译的依赖包安装

root@zabbix-proxy-01:# apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping libmysqlclient15-dev

 

八、zabbix开始编译安装

1、定义安装配置信息,如:安装路径,开启代理:–enable-proxy

root@zabbix-proxy-01# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl

如配置成功最后的界面:

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_13

 

 

2、开始进行编译和编译安装

因我的系统没有安装make工具,所以需要进行安装

root@zabbix-proxy-01#apt-get install make

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_14

3、接着进行编译

root@zabbix-proxy-01# make

 

4、开始编译安装

root@zabbix-proxy-01# make install

 

九、修改zabbix_proxy.conf文件

1、进入到zabbix安装目录

root@zabbix-proxy-01:/usr/local/src/zabbix-2.2.15# cd /usr/local/zabbix/etc/

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_15

2、对zabbix_proxy.conf配置文件备份一下(搞砸了好恢复呀)

cp -a zabbix_proxy.conf zabbix_proxy.conf.bak

 

3、编辑zabbix_proxy.conf配置文件

sudo vim zabbix_proxy.conf

#更改如下内容:

Server=192.168.216.3  #zabbix serverIP地址

Hostname= zabbix proxy          #主机名,这个配置和该机器实际的主机名没有关系,但必须和     zabbix server中添加该机器的时候的主机名一致,否则zabbix server获取不到信息

ServerPort=10051

LogFile=/tmp/zabbix_proxy.log        日志文件

LogFileSize=0   日志文件大小

PidFile=/tmp/zabbix_proxy.pid

DBHost=127.0.0.1  数据库地址(本地)

DBName=zabbix   数据库名称

DBUser=zabbix        数据库账户

DBPassword=zabbix        数据库登录密码

ConfigFrequency=60        配置频率

DataSenderFrequency=5                   数据发送方频率

DBSocket=/var/run/mysqld/mysqld.sock

 

 

 

 

4、启动zabbixproxy服务

root@zabbix-proxy-01:#/usr/local/zabbix/sbin/zabbix_proxy -c /usr/local/zabbix/etc/zabbix_proxy.conf

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_16

红色箭头处为启动的错误信息:

zabbix zabbix_proxy[22420]:用户不存在

zabbix_proxy[22420]:不能作为根用户运行!

 

解决办法:添加用户zabbix

root@zabbix-proxy-01:~# groupadd zabbix

root@zabbix-proxy-01:~# useradd -g zabbix zabbix

再次重试启动操作

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_17

成功启动!!!

 

友情提示:

1、内网和外网之间通信端口是否开放,zabbix proxy10051默认端口

 

十、proxy服务器启动agent(也加入监控)

1、编辑zabbix_agentd.conf配置文件

root@zabbix-proxy-01:#cd /usr/local/zabbix/

root@zabbix-proxy-01:/usr/local/zabbix/etc#vim zabbix_agentd.conf

 

3、修改如下内容(注意:proxy服务器只负责采集client客户端的数据,这台proxy服务器如果也要被监控起来,那么也指向主server

Server=192.168.216.3 被动模式

ServerActive=192.168.216.3           主动模式

Hostname=zabbix-proxy-01

 

2、启动zabbix_agent服务:

/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf

 

注意:需要确定被监控端的zabbix_agentd.conf里面的 Hostname=" zabbix-proxy-01", 服务端Zabbix server页面的上的机器名一致否则有可能导致服务端不知道把数据保存在哪一台 ...

 

 

十一、在server端添加代理服务器

 

1、在zabbix配置web页面操作:添加一个zabbix proxy

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_18

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_19

save 创建一个名为zabbix-proxy-01的代理,使用active的代理方式!

 

 

 

2、增加发现并添加主机功能

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_20

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_21

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_22

基于Ubuntu14.04 Zabbix2.2.15(版本) Proxy端 安装_Zabbix安装_23

 

 

 附:Zabbix proxy工作原理,本段摘抄于茫茫网络之中。

1.工作原理:

Zabbixproxy是一个监控代理服务器,它收集监控到的数据,先存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送到Zabbixserver;监控代理需要一个单独的数据库。

Zabbix proxy的好处:

远程监控

当监控的位置通信不便时

当监控上千的设备时

简化维护分布式监控,降低zabbixserver的负载

zabbixproxy的配置总结:

1
2
3
1.代理服务器只是起到一个数据收集器的作用,它把收集到的数据按一定的频率传送给zabbix服务

2.有主动模式和被动模式两种,主动与被动是针对zabbix proxy而言的,我在这用的是主动模式,只需配置zabbix proxy的配置文件即可,在zabbix server端不做任何配置。
3.关键是在zabbix server的前端创建代理节点的名字时,该名字应和zabbix代理配置文件中指定的Hostname值相同
.配置zabbixproxy的配置文件zabbix_proxy.conf,该文件中有两个重要的参数:
ConfigFrequency=60 #zabbix proxy 向服务器检索配置数据信息的频率,在被动模式下该参数将被忽略
DataSenderFrequency=60 #zabbix proxy发送收集的数据给zabbix server的频率

 

[root@localhost zabbix-2.0.2]# vi /usr/local/zabbix/etc/zabbix_proxy.conf

Server=192.168.1.13 #zabbix server的ip地址或者域名

Hostname=proxy_bj #proxy主机名,在zabbix web会以这个名字为准

#DB 设定档

DBName=zabbix

DBUser=zabbix

DBPassword=111111

ProxyLocalBuffer=0 #设定为0小时,除非有其他第三方应用和插件需要调用

ProxyOfflineBuffer=1 #proxy或者server无法连接时,保留离线的监控数据的时间,单位小时

ConfigFrequency=600 #server和proxy配置修改同步时间间隔,设定5-10分钟即可。

DataSenderFrequency=10 #数据发送时间间隔,10-30s;

#网络传输质量越好,可以设定间隔时间越短,监控效果也越迅速;

StartPollers=10 #开启多线程数,一般不要超过30个;

StartPollersUnreachable=1 #该线程用来单独监控无法连接的主机,1个即可;

StartTrappers=10 #trapper线程数

StartPingers=1 #fping线程数

CacheSize=64M #用来保存监控数据的缓存数,根据监控主机数量适当调整;

Timeout=10 #超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间;

TrapperTimeout=30 #同上

FpingLocation=/usr/sbin/fping #配合simple check icmp检测使用,如不需要可关闭;

其他配置默认即可;