进入新公司将近2个月以来,公司领导分配我一个最重要的任务就是给我们的客户做一套监控系统,而且要求最好是开源的。就我目前所知道的监控软件,主要有如下几个,cacti,nagios,zenoss,zabbix,其中cacti和nagios以前我就听说过,zenoss多少也有耳闻,zabbix就几乎一点也不清楚了,在网上输入zabbix关键字的时候发现搜索出来的中文资料相比其它的一些开源软件,可谓是大海捞针,凤毛麟角,而且大部分都是英文资料,对于我这种英文能力极其差的人也只是望洋兴叹了,但是任务在身也实在没办法。我琐碎直接把官网里推荐一本电子书籍《zabbix 1.8 network monitoring》直接给打印了出来,以表达我誓于英文死扛到底的决心。而今天我给大家讲的内容是通过对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 网卡出口的流量和一个iteme etho网卡进口的流量, 并且我们想把eth0网卡进出流量以曲线图的形式显示出来的话往往就需要在graphs里面来设置。
下面我们通过创建一个主机的事例让大家有个初步的认识。
首先:双击最上面的configuration下的host按钮出现如下图所示。然后我们双击右上角:create Host按钮。
当我们双击create host按钮后会出现如下的对话框,为了大家看起来方便我只截取了左边半部分。
其实不用我多讲相比大家也能明白个大概意思,大家只要按照说明填写相关的内容就可以了,然后单击save按钮进行保存。
下面我们就要进行监控项目的添加了双击item按钮,出现下图所示
图中列出了我已经创建好的监控对象,下面我们讲新建一个监控项目以便大家能够更好的理解创建的过程,单击右上角的create item进行监控对象的创建。接下来会出现如下所示的对话框。
其中type:代表的意思是被监控但代理的类型,比如snmp类型ssh类型,monit agent类型等。Key代表了一种关键字,这里也可以自己定义,具我的理解如果是用agent类型的话就必须用系统自带的一些固定的格式去填写,比如:net.if.in[eth0,bytes] ,代表的意思是:etho里,进口的流量,但是是bytes,具体这方面的内容我们以后会单独的进行介绍。由于这章我们主要是以体验为主,所以我们不会讲的那么详细。
下面我们双击graphs按钮,同样的create graphs
大家可以看出来,item后面有五个不同的颜色来代表不同的监控对象,然后把这5个监控对象汇成一张图来展示给大家,这样其不是很方便哦。
最后我讲通过几张监控图让大家对zabbix有个直观的了解。