系统版本:CentOS 6.5  软件版本:zabbix-2.4.6.tar.gz


zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案


zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。


功能与特点

功能:监控CPU负荷、内存使用、磁盘使用、网络状况、端口、日志、等自定义开发的插件

特点:安装与配置简单,学习成本低、支持多语言(包括中文)、免费开源、自动发现服务器与网络设备 SNMP、分布式监视以及WEB集中管理功能、可以无agent监视、用户安全认证和柔软的授权方式、通过WEB界面设置或查看监视结果、email等通知功能


一、部署Zabbix

服务端需要安装Zabbix Server和Zabbix Agent两个服务,客户端只安装Zabbix Agent一个服务,监控原理就是Zabbix Agent服务将从系统中获取的相关数据传送给Zabbix Server,然后Zabbix Server服务将数据分析之后以PHP页面展示出来


1.部署环境:LNMP   参考《LNMP环境搭建


2.准备工作:解决依赖,安装软件包net-snmp-devel并且创建Zabbix程序用户

wKiom1cpN22SswIbAAAW6DP2kSk627.jpg

wKioL1cpVsWQrPEXAAAY4Yc8a5s822.jpg


3.编译安装:

wKioL1cpPKXRsuBhAAB1fVno7EM814.jpg

--prefix      ##指定路径

--enable-server      ##启用Server支持

--enable-agent      ##支持Zabbix客户端

--with-mysql      ##指定MySql库可以选择制定路径mysql_config,mysql_config是命令,用于编译mysql客户端程序

--with-net-snmp      ##支持snmp协议,需要安装net-snmp-devel包

--with-libcurl      ##支持CURL功能,libcurl主要功能就是用不同的协议连接不同的服务器,libcurl当前支持的协议有http,https,ftp,gopher,telent,dict,file,和ldap协议

其他参数:

--enable-proxy  指的是支持zabbix代理服务器,zabbix proxy是一个监控代理服务器,它收集到监控数据,选存放在缓冲区,保存的时间可以通过配置文件设定,然后再传送的zabbix server。监控代理服务需要一个独立的数据库。

用zabbix proxy的好处:进程监控,当监控文遏制通讯不方便的时候,当通讯上千台设备的时候,使用zabbix proxy可以简化维护分布式监控,降低zabbix server的负负载


出现如下提示时,直接使用make install安装

wKiom1cpPTGAIx0OAABcdG3IHU8753.jpg


4.安装后调整

a. 创建Zabbix使用的数据库和数据库授权用户,这里数据库名、用户名和密码都设置为了“zabbix”

wKiom1cpQsyBvrjHAABalIxKSQU806.jpg


导入zabbix自带的数据库文件schema.sql、images.sql和data.sql,在zabbix解压目录/database/mysql/中,注意导入顺序

wKiom1cpRM-jc8cPAAAwrFdONrE317.jpg

wKiom1cpRIDQ5ULaAAApgpL1mdc821.jpg

wKioL1cpRVXDr17lAAApmna6E9U396.jpg

wKiom1cpRICDizJuAAAoXdv55NA140.jpg


b. 因为当前主机即做Zabbix服务器也做Zabbix客户端,所以需要调整zabbix_server.conf和zabbix_agentd.conf两个配置文件

wKiom1cpTEiChnS-AABMtfNrsCo498.jpg

配置文件中,有agentd和agent两个配置文件,前者是守护进程,后者依赖xinetd


修改zabbix_server.conf配置文件如下内容

wKioL1cpSAPQla5bAAAeVVTQlDs967.jpg

wKiom1cpSFnB4U4ZAAAmrm_9BO8096.jpg

修改zabbix_agentd.conf配置文件如下内容

wKioL1cpS_SyynSaAAAepWbTWn4867.jpgwKioL1cpTALyiFFyAAArMr7g56c000.jpg

其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说前者允许127.0.0.1这个ip来我这取数据,而serverActive的127.0.0.1的意思是,客户端主动提交数据给它,“UnsafeUserParameters”支持自定义脚本


c. 创建服务启动脚本,Zabbix提供的启动脚本在源码目录的misc/init.d/下面

wKiom1cpTg3AFDf9AABTlot8eMw975.jpg

修改一下两个脚本的BASEDIR路径

wKioL1cpUJyBU-DdAAAXOEbuAHk958.jpg

wKiom1cpT8fyYYVPAAAP1aXFhn4435.jpg


wKioL1cpULiCI9kgAAAXp78KmE0195.jpg

wKiom1cpT-ORgioOAAAP1aXFhn4170.jpg


d. 导入PHP网页控制文件wKiom1cpUVWA4sMIAAApL0rM4t4995.jpg


5.启动zabbix服务

wKiom1cpWK_AEjRZAABH_oC1CBc552.jpg

wKiom1cpWK-Tmp36AABtkhzDHsM551.jpg


6.使用Web浏览器访问,配置zabbix

wKiom1cpaeCz8crGAAFZeBrD9Hg599.jpg

点击Next 检查环境,发现有不符合的环境

wKiom1cpaseTRasiAAFDoycjdYM327.jpg

按照提示,修改PHP配置文件

wKiom1cpbI_yE-ThAAAWpNZUa_k139.jpg

post_max_size = 16M                 #修改

max_execution_time = 300            #修改

max_input_time = 300                    #修改

date.timezone = Asia/Shanghai           #此行有注释,去注释并修改

always_populate_raw_post_data = -1      #此行取消注释即可

修改好以后重启php-fpm服务

wKiom1cpbVWRUwjBAAASQYSG4lY854.jpg


重新刷新网页

wKiom1cpbauxAP7IAAEu-Gu3iC4941.jpg

下一步,配置数据库

wKioL1cpb1PRbxdHAAD2shPzHbk206.jpg

测试好数据库以后下面都执行默认操作,下一步即可,直到出现如下所示报错,然后按照提示解决

wKioL1cpb_3hS_6vAADujP2DjIU221.jpg

点击下载这个配置文件,上传到指定目录,然后点击“Retry”

wKioL1cpcXbQ4Td-AAAfJ9gHX5c214.jpgwKiom1cpcQjRkNocAACoM4pZXPc748.jpg

最后点击Finish完成安装


7.登录Zabbix,默认用户名:admin、密码:zabbix

wKiom1cpcdqxDKl0AAEQHQII8j0600.jpg

这样Zabbix就安装好了,如果要使用中文界面,操作如下,点击页面右上角的“Profile”

wKioL1cpcyDSW5ZtAAHtXEnvfNM502.jpg

如果进去后你的界面是这样的

wKioL1cpdYHAdMXwAAGVADV3am4231.jpg

说明php缺少gettext模块,执行以下操作动态添加模块

wKioL1cpi6zxuY59AACVkAbu5_g162.jpg

添加好模块以后,修改php配置文件,在里面添加如下一行内容,然后重启php服务

wKiom1cpi-vSi8niAAAXCHIOAsg812.jpg

wKioL1cpjMDBeyOFAAAOuZNAxEU894.jpg

wKiom1cpjszBJedWAAAYqpXTKwg509.jpg

然后重新刷新网页,就可以选择语言了

wKioL1cpjUSR9yKAAAFrTakgKns678.jpg

wKioL1cpjdDj7UMxAAGlVp5dGdg086.jpg


如果选择中文以后,中文的字体有的显示方框,下载一个ttf的中文字体,将这个下载好的字体重命名为DejaVuSans.ttf并替换成/usr/local/nginx/html/fonts/DejaVuSans.ttf即可