zabbix从入门到精通之—zabbix初体验进入新公司将近2个月以来,公司领导分配我一个最重要的任务就是给我们的客户做一套监控系统,而且要求最好是开源的。就我目前所知道的监控软件,主要有如下几个,cacti,nagios,zenoss,zabbix,其中cacti和nagios以前我就听说过,zenoss多少也有耳闻,zabbix就几乎一点也不清楚了,在网上输入zabbix关键字的时候发现搜索出来的中文资料相比其它的一些开源软件,可谓是大海捞针,凤毛麟角,而且大部分都是英文资料,对于我这种英文能力极其差的人也只是望洋兴叹了,但是任务在身也实在没办法。我琐碎直接把官网里推荐一本电子书籍《zabbix1.8networkmonitoring》直接给打印了出来,以表达我誓于英文死扛到底的决心。而今天我给大家讲的内容是通过对zabbix的一次简单的配置以便大家对zabbix有一次直观的了解。首先什么是zabbix:zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix相比其他监控软件有如下优点:-安装与配置简单,学习成本低-支持多语言(包括中文,系统自带不需要额外安装插件)-自动发现服务器与网络设备-分布式监视以及WEB集中管理功能(这一点相比其他监控软件有明显优势)-用户安全认证和柔软的授权方式(如ldap认证)-通过WEB界面设置或查看监视结果(图像化配置)-email等通知功能()关于zabbix的安装我们将通过单独的小结讲,下面的展示主要是为了方便大家对zabbix有一次直观的认识。下图所示:zabbix主要有5个主菜单栏:Moniting,Inventory,reports,configuration,Adminstration每个主菜单栏下面又多个二级菜单.Moniting:主要是对监控对象的一些相关展示,比如说对web应用的展示。Inventory:资产管理,类似于公司里的资产管理,比如一个硬件设备,这里可能会标识设备的名称,操作系统,mac地址,资产编号等Reports;这里主要展示了zabbix服务的状态,比如主机数,报警数。还有就是展示了一些设备的可用性报表等相关信息。Congfiguration;这里主要用来对系统的配置,比如创建主机,创创建模版,创建报警,创建流量图片等相关应用基本的配置主要通过这里来实现。Adminstration:这里也是用了对系统进行配置,可configuration相比,这里的配置主要实现对zabbix本身的一些相关的配置工作,比如登录zabbix的用户的创建等工作主要通过这里来配置。下面让我们双击Configurtion,然后双击下面的host菜单如下所示:从左到右依次是:host(主机名)application(相关应用)item(监控对象)trigger(触发器)dns(主机的dns)ip(主机的ip地址)Templates(主机所用到的主机模版)Status(主机的状态)availablity。下面我将对application,item,trigger,graphs,等相关概念进行一一的解释。Item:主机监控的对象,比如主机的cpu利用率,这里cpu的利用率就可以成为一个item。比如我监控的一个服务也可以成为一个item,我们可以这样理解,我们说监控的东西就可以简单的被成为一个item。Triiger:triiger被称为触发器,可以理解为促成警报的一个阀值,比如,当d盘的剩余空间只剩下百分之十时,我们可以把这个条件做为一个triger。Graphs:图表,我们监控一个设备时,有时候希望以更加直观的图表的形式显示出来的时候往往可以通过graphs来设置,比如我们监控的一个item对象是etho网卡出口的流量和一个itemeetho网卡进口的流量,并且我们想把eth0网卡进出流量以曲线图的形式显示出来的话往往就需要在graphs里面来设置。下面我们通过创建一个主机的事例让大家有个初步的认识。首先:双击最上面的configuration下的host按钮出现如下图所示。然后我们双击右上角:createHost按钮。当我们双击createhost按钮后会出现如下的对话框,为了大家看起来方便我只截取了左边半部分。其实不用我多讲相比大家也能明白个大概意思,大家只要按照说明填写相关的内容就可以了,然后单击save按钮进行保存。下面我们就要进行监控项目的添加了双击item按钮,出现下图所示图中列出了我已经创建好的监控对象,下面我们讲新建一个监控项目以便大家能够更好的理解创建的过程,单击右上角的createitem进行监控对象的创建。接下来会出现如下所示的对话框。其中type:代表的意思是被监控但代理的类型,比如snmp类型ssh类型,monitagent类型等。Key代表了一种关键字,这里也可以自己定义,具我的理解如果是用agent类型的话就必须用系统自带的一些固定的格式去填写,比如:net.if.in[eth0,bytes],代表的意思是:etho里,进口的流量,但是是bytes,具体这方面的内容我们以后会单独的进行介绍。由于这章我们主要是以体验为主,所以我们不会讲的那么详细。下面我们双击graphs按钮,同样的creategraphs大家可以看出来,item后面有五个不同的颜色来代表不同的监控对象,然后把这5个监控对象汇成一张图来展示给大家,这样其不是很方便哦。最后我讲通过几张监控图让大家对zabbix有个直观的了解。zabbix安装使用总结今年的维护合同中,客户明确要加入zabbix监控。开始交给两名实习生去搞定,一个月没有成果。只好自己去搞。起初是在虚拟中安装的。rhel5.4+本地yum源,借鉴了不少网上的资料。下面开始介绍安装与使用步骤:一.服务端环境准备A.基本环境(1).下载最新的Zabbix安装包(官网:)到本地。我下载的最新版本1.8.7.放到了/tools(自己新建的)目录下。#tar-zxvfzabbix-1.8.7.tar.gz(2).增加zabbix用户和组#groupaddzabbix#useradd-gzabbix-mzabbix(3).安装mysql、Apace、PHP#yuminstallmysql-serverhttpdphp#yuminstallmysql-develgccnet-snmp-develcurl-develperl-DBIphp-gdphp-mysqlphp-bcmathphp-mbstringphp-xmlB.Mysql启动MySQL数据库:#servicemysqldstart修改MySQLroot用户密码(默认密码为空)#mysqladmin–uroot–ppasswordroot输入原来密码新密码才生效测试能否正常登陆数据库#mysql–uroot–proot创建Zabbix数据库Mysqlcreatedatabasezabbixcharactersetutf8;导入数据库sql脚本#cdzabbix-1.8.7#cat./create/schema/mysql.sql|mysql-uroot-prootzabbix#cat./create/data/data.sql|mysql-uroot-prootzabbix#cat./create/data/images_mysql.sql|mysql-uroot-prootzabbixC.Zabbix编译安装#./configure--with-mysql--with-net-snmp--with-libcurl--enable-server--enable-agent--enable-proxy--prefix=/usr/local/zabbix1.8#makeinstallD.配置文件修改在service加入以下内容#vi/etc/serviceszabbix-agent10050/tcp#ZabbixAgentzabbix-agent10050/udp#ZabbixAgentzabbix-trapper10051/tcp#ZabbixTrapperzabbix-trapper10051/udp#ZabbixTrapper添加配置文件#mkdir-p/etc/zabbix#cp/tools/zabbix1.8.7/misc/conf/*/etc/zabbix#chown-Rzabbix:zabbix/etc/zabbix修改Server配置文件基本不用修改,用默认配置即可,只需修改一项DBPassword=你的密码#vi/etc/zabbix/zabbix_server.conf修改Agentd配置文件,更改HOSTNAME为本机的hostname或者IP,建议直接写hostname,不然以后换了环境还要修改IP地址#vi/etc/zabbix/zabbix_agentd.conf添加web前端php文件#cdfrontends/#cp-rfphp/var/:zabbixzabbixE.web前端安装配置修改php相关参数#vi/etc/php.ini找到如下几项,改成下面的值,前面有;号的要删掉max_execution_time=300date.timezone=Asia/Shanghaipost_max_size=32Mmemory_limit=128Mmbstring.func_overload=2重启apache#servicehttpdrestart在本地浏览器上访问ZabbisServe地址开始web前端配置,按提示一步步next,其中Step3Checkofpre-requisites必须全部项目OK后才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更上传本地系统的C:\WINDOWS\Fonts\simhei.ttf文件到zabbixweb目录的zabbix/fonts下.#vizabbix/include/defines.inc.php把所有的DejaVuSans替换成simhei.以上是为了解决图片中中文乱码的问题F.启动zaabixserver安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动#/usr/local/zabbix/sbin/zabbix_server为了便于启停Server,我们做一些小配置复制控制程序#cp./misc/init.d/redhat/zabbix_*/etc/init.d/修改配置目录,将如下两个文件中的BASEDIR=改为/usr/local/zabbix,下面两个配置中的bin改为sbin,ZABBIX_AGENTD,ZABBIX_SUCKERD#vi/etc/init.d/zabbix_server_ctl#vi/etc/init.d/zabbix_agentd_ctl#!注意权限问题#basezabbixdirBASEDIR=/usr/local/zabbix1.8#PIDfilePIDFILE=/tmp/zabbix_server.pid#binaryfileZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server加入开机启动#echo'/etc/init.d/zabbix_server_ctlstart&'/etc/rc#echo'/etc/init.d/zabbix_agentd_ctlstart&'/etc/rc创建快键方式#ln-s/etc/init.d/zabbix_server_ctl/usr/bin/zabbix_server_ctl#ln-s/etc/init.d/zabbix_agentd_ctl/usr/bin/zabbix_a