服务器是当今电脑计算体系中的核心部分。无论是运行关键任务的应用程序,还是诸如email、文件、打印和数据库服务等核心IT服务,服务器的可用性和性能是决定这些业务能否顺利运行的重要因素。但异构分布式环境的内在复杂性又使得服务器管理充满了必要性和挑战性,计算机系统的安全稳定运行已成为各项业务正常开展的前提和基础之一。身为企业网管的你是否遇到过服务器突然损坏造成企业业务受损的麻烦?你是否在设备出现故障时后悔、抱怨为何没有早点发现问题?你是否因没有合理监控服务器而让小麻烦变成大麻烦?
你是否想采用监控软件来实现这些服务器监控?但商用服务器监控软件价格昂贵,几十万的投入对企业是个不小的负担。幸运的是,借助于开源软件,我们可以轻易的实现以上的要求,减轻网络工程师管理服务器繁重的任务,实现业务系统的持续运行。
一、为什么选择zabbix
zabbix是一个24x7监控开源解决方案,它可用于监控网络、服务器、UPS等各种设备,具有以下优越性:
1. 安装简单,使用容易上手。除了用于管理的manager端需要稍微做些配置外,agent方不需要做很多配置。具有web监控和灵活的图表定制能力,可以根据服务器或者某个应用来自由定制曲线图,省去了复杂的学习过程。它是一套国际化软件,支持多种语言(包括简体中文),语言之间的切换极为简单。
2. 功能强大,可对系统的很多层面进行监控,可定义触发器、报警,可扩展监控项目(扩展非常方便,往往提供一个脚本甚至一条命令就可以)。功能方面的强大还在于可接收SNMP v1、v2、V3的监控数据,可以和其他SNMP软件(比如net-snmp)配合使用。除了主动查询agent方(polling方式),还可接收agent方发送的通知数据(trapping方式)。
3. 性能卓越,体系扩展性强。已测试在5000台设备上,每秒处理几百个性能和可用性指标项目。
4.支持的OS广泛,manager端可安装在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X,agent端可安装在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000, Windows 2003, Windows XP、。
5.监控系统后端数据库多样性。可采用MYSQL、Oracle、postgresql、sqllite等数据库。
6. 可视化程度高,可生成丰富的图表,显示各种报表,可对系统的性能和可用性进行评估。
7. 开源的网络管理解决方案。开源带给我们的好处还用质疑吗?

二、安装和配置
zabbix的官方站点:http://www.zabbix.com/
当前稳定版本:1.4.2
zabbix想比较其他管理监控软件而言,安装非常简单,由于本人所使用版本为1.1.7,故以版本1.1.7为例。
首先配置数据库环境,我这里使用oracle作为数据库支持。
cd ./create/oracle
SQL>@schema.sql
cd ./create/data
SQL>@data.sql
# tar zxvf zabbix-1.1.7.tar.gz
# cd zabbix-1.1.7
# ./configure --prefix=/data/app/zabbix \  //指定安装目录
--enable-server \        //安装server端,监控节点不需要
--enable-agent \        //安装agent端
--with-oracle \          //需要oracle支持需要指定其目录
--with-net-snmp          //需要snmp支持需要指定
# make
# make install
# cp -r misc/conf/*.conf /etc/zabbix    //如果是agent那么只需要zabbix_agentd 和 zabbix_agentd.conf两个文件即可
 

如果是server端,需要修改/etc/zabbix中的zabbix_server.conf、zabbix_trapper.conf两个文件,主要是配置一些路径、IP、端口、数据库信息等等;如果是agent端,需要修改/etc/zabbix中的zabbix_agent.conf、zabbix_agentd.conf两个文件,也是配置类似的相关信息,这些都比较简单不用详说。

在agent端服务器上需要通过/data/app/zabbix/bin/zabbix_agentd来启动agent进程,在server端通过/data/app/zabbix/bin/zabbix_server来启动server进程,如果发生错误可以查看指定的log文件来分析。

最后我们需要在server端来配置web脚本的环境,拷贝frontends/php目录的脚本到web文件目录,并修改include/db.inc.php中的数据库连接信息。

安装完成后,打开浏览器,就可以进行zabbix设置了。
第一次登录的时候,管理员登录名为admin,密码为空。我们要做的第一件事,是添加管理用户。
1. 点击 Configurations >> Users。右上角有个下拉列表,可选择创建用户或者用户组。创建用户的时候,可指定用户使用的语言。创建完用户后,会发现 Actions 栏位有 Media,点击可创建警告通知的邮件。建议将用户分组,这样可指定警告消息的群发地址。
 
2. 接下来创建主机:点击 Configurations >> Hosts。右上角有个下拉列表,可选择创建:主机,主机组,模板,应用组,以及查看模板链接。建议对主机进行分组,可把监控项目分配给组,这样就不用为每一台主机创建监控项目了。
 
3. 主机组和主机创建完成后,接着创建监控项目:点击 Configurations >> Items。可以为每一台主机创建一个监控项,也可以在创建监控项的时候,点击页面最下方的 do 按钮,这样可把这个监控项应用到所选的组。监控项的类型很丰富,可以创建zabbix agent自带的项,也可创建SNMP的项,以及自扩展定义的项。
 
4. 创建触发器:点击 Configurations >> Triggers。触发器是指被监控项所满足的条件,当条件为真时可触发定义的动作,同时系统会记录这些事件。可以为每台主机创建触发器,也可以为模板创建触发器。关于创建触发器的语法见 http://www.zabbix.com/manual/v1.1/config_triggers.php
5. 创建动作:点击 Configurations >> Actions。动作用于当触发器条件为真时所执行的操作,有两种操作:发送消息和执行命令。关于创建动作可用的变量请参考http://www.zabbix.com/manual/v1.1/config_actions.php
这些事项完成后就可以收集基本的系统信息了,点击Monitoring >> Latest data可以看到最新收集到的数据。
 
6. 模板(Templates)和应用组(Applications)的说明
模板(Configurations >> Hosts里可创建模板,是为某种具有共同监控目的的主机快速定义和修改监控操作的方法。假设有100台机器,如果为每台机器都手工创建监控项目、触发器、图表,非得累趴下不可。你可以定义一个模板,为该模板创建监控项目、触发器和图表。然后创建主机的时候,让它和这个模板建立链接。这样这些机器就不用再创建这些条目了。
应用组(Configurations >> Hosts里可创建应用组,主要用于监控项分组和权限分配。比如可为机器定义Network应用组,该组可加入网络入口量、网络出口量等监控项目。然后在Monitoring >> Latest data就可以以分组的方式查看这些数据。此外,还可以把这些数据的查看分配给不同的用户。

三、 可视化功能
1. 地图功能:Configurations >> Map
你可以在此建立具有某种逻辑关系的地图,比如网络拓扑。每个节点可能为一台服务器,工作站,路由器或者网络。节点与节点之间可建立连接线。连通性可用触发器来计算,当触发器为真时可定义红线,为假时可定义绿线,这样一旦问题发生时就能通过连接线的颜色看出来。
 
2. 图表功能:Configurations >> Graphs
你可以把监控项目的趋势绘制成曲线图,或者把几台机器的某项监控项目绘制在一张图,这样更便于比对。这种趋势图是通过图表的功能实现的。
 
3. 屏幕图功能:Configurations >> Screens
屏幕图是指把若干个图形元素(比如地图,图表)或者非图形元素(统计表,文字)放在n行m列的单元格中,便于一起比对监控。
 

4.系统评估功能:
系统评估功能是对监控软件的监控报告进行统计,它包括zabbix状态、服务器可用统计、警告统计、触发器触发统计等功能,便于管理人员的系统的运行状态进行分析统计。
 

5.主机资料功能:
该功能用于企业使用的服务器资料的存档,包括操作系统版本、机器系列号、标签、MAC地址IP地址等,便于系统管理员保存主机资料
 

6.告警功能:
zabbix告警主要通过触发器触发实现的,它的告警方式有EMAIL告警、电话告警、短信告警,在新版的1.4版本还可通过桌面jabber进行报警。多种告警方式便于系统管理人员及时发现系统发生的问题。
7.系统安全功能:既有密码MD5加密,完整的用户权限分配功能及用户的登陆操作审计功能。
 

我厂使用zabbix软件已一年多了,通过该软件,我厂已实现服务器监控、Oracle数据库、db2数据库、Sqlserver数据库的监控,通过snmp trap实现与趋势杀毒软件的集成及存储的自动报警、通过扩展脚本实现企业运用系统的监控和报警,目前采集数据已达到100G左右。通过该软件的运用,使我们对服务器、各种运用的运行情况一目了然,出现问题能及时处理及事先防范,做到了业务系统流程的连续性。我们认为zabbix开源软件值得使用。

文章如转载,请注明转载自:http://www.5iadmin.com/post/136.html