2009年3月25日

Zenoss 2.4 Beta is now Available

Zenoss 2.4 Beta is now Available

Posted using ShareThis
>>阅读全文<<

2009年2月25日

Zenoss 2.3.3 is Now Available

Zenoss 2.3.3 is Now Available

What’s New in This Release?

• For Enterprise customers, Zenoss now offers the WebsphereMonitor ZenPack, which comprises a basic Websphere template and zProperties for Websphere monitoring.

• The Enterprise ZenWebTx ZenPack now supports extracting data from XML documents by using xpath queries.

• For Enterprise customers, Zenoss now provides comprehensive monitoring of your VMware
infrastructure. It collects performance data from VMware servers (hosts), virtual machines (guests), VMware clusters and VMware data stores. By monitoring the entire VMware stack, Zenoss provides a complete picture into VMware's performance and availability, allowing you to quickly monitor and troubleshoot VMware-related problems.

• Zenoss expands your ability to monitor Java applications with improved JMX monitoring and error reporting. Zenoss also can receive JMX events that are sent from JMX applications.

This version of Zenoss also provides improvements to monitoring the performance and availability of Windows servers. It collects data by using Windows Management Instrumentation (WMI) and Windows Perfmon.

Zenoss offers an expanded list of ZenPacks for download, including more than 50 communitycontributed monitoring ZenPacks.

• Zenoss documentation is now licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License, which allows you to copy, distribute, transmit, and adapt Zenoss documents under certain conditions. For details, go to this URL:
http://creativecommons.org/licenses/by-sa/3.0


>>阅读全文<<

2009年2月24日

[原创]孩子的变化

回到深圳之后已经一周了,都都也步入了21个月,在他身上发生了很多让我和都都妈很诧异,也很头痛的变化。

1. 吃药

以前的都都吃药很乖,多苦的中药都能用勺子喂进去,我们一直都对他这种忍耐力赞赏不已。现在不行,连喂水都不愿意,头孢是甜的也不肯喝,更不用说有些苦的止咳药液了。为了他尽快恢复,我们只能采取灌的方式,唉,看着都难受,谁愿意让孩子受这种罪。不过今晚在灌药的时候他似乎也明白挣扎是没有用,最后几口也开始配合主动喝了。

2. 自私

以前的都都在幼儿园的亲子课中,基本都能听我们的话将他正在玩的玩具递给其他小朋友玩,这是培养他大方,分享的品质。可现在连小区里的公共设施,他都认为是他的,别的小朋友碰一下,他都不愿意,嗷嗷叫,无法阻止了就哭。我对此只能是任由他哭,哭完了再批评。



3. 吃饭

都都以前无论是深圳还是沈阳,吃饭都算乖的,坐在自己的小饭桌里,由大人喂,自己也能同时用小勺盛小碗里的东西吃,虽然每次都吃得满身都是饭菜,但总算也是吃的不少。回来生病以后,吃饭不愿意坐饭桌,吃两口就往外吐,特别是不那么可口的东西,吃不一会儿就要妈妈抱着吃,搞得都都妈很辛苦,也很上火。

4. 洗澡

以前都都最喜欢洗澡了,到了沈阳进入冬天之后洗澡频率降低,但每次洗澡都很高兴,要在水里玩上半个多钟,还不肯起来。到了深圳之后由于生病有几天没洗,昨天洗了一次,和往常一样高兴。但今天洗澡就变了,看见盆里的水就摇头,不肯进来,死活不愿意脱衣服。我们强迫他洗完头之后,都都已经哭得不行了,最后随便抹抹身上,草草了事。

5. 任性

都都以前也会任性,但如果大人不允许,尝试几次他也知道无效,都都的自我控制还算不错的。现在任性起来,怎么说,怎么大声批评似乎都没用,一路哭,哭得比以前厉害得多。当然,我和都都妈是不会向他这种攻势屈服的。

6. 能力的提高
回来几天,我们发现都都的各方面能力都有提高,比如能够说出两至三个不同音的字(通常是模仿大人),能独立下台阶,更具备跑的能力,双脚明显的能同时离地,能主动在环境中找到他认识的字并且准备读出来。

我在想都都身上的这些变化应该和以下几个方面的因素有关:


  1. 从沈阳到深圳,水土不服,咳嗽,身体和精神状态都不好。

  2. 生活玩耍的环境发生了很大的变化,生活规律也和以前不完全一样。

  3. 人员发生了变化,家里少了外公外婆,多了个干爹

  4. 年龄增长,能力和自我意识得到了加强。
想不到短短一周都都发生了这么大的变化,但愿他是由于身体不舒服才有上面那些不好的转变,这得等病情完全好转,并且我们一家安顿好了之后再继续观察。

我现在越发的觉得和都都小朋友的斗争才刚刚开始…………


>>阅读全文<<

2009年2月19日

[原创]有了Google Gears我们还需要去盗版Microsoft Office吗?

国内的Windows用户几乎都会去安装Microsoft Office,特别是工作使用的电脑。
国内的Windows用户几乎都会去盗版Microsoft Office,特别是家里使用的电脑。

关于盗版的话题国人讨论过很多了,盗版有理似乎已是国人使用软件的常态,尤其是国外价格昂贵的软件,我这里并不想讨论盗版的相关问题 。不过我相信中国的电脑用户将来的盗版成本会越来越高,这种成本不仅仅是体现在金钱方面。在开机即上网的时代,提前保护一下自己,尽可能的避免盗版问题在以后给自己带来的麻烦(谁敢说这不可能发生呢?),国内的每一位电脑用户应该都要具备这样的意识,不管你是专业IT人士,还是普通用户。




在国内,盗版率最高的除了Windows操作系统之外,我想排名第二的大概就要属Microsoft Office了。目前我还无法找到Windows的替代品,虽然自己对Linux也非常熟悉,但是Linux的桌面还是让我有些头痛,不过好在我的Windows并不完全属于盗版,我买的笔记本自己带的,只是把英文换成了中文而已,嘿嘿,心里安慰一下,至少我不会黑屏。

在以前的工作中Office的使用频率是相当高的,Word Excel PowerPoint和Outlook,这四个产品我相信也是国内用户最常用的,有没有什么东西能代替他们而又不花钱呢?Office的替代品我们只需要花费时间去学习和研究,然后养成习惯一直使用。Google Doc,Gmail和离线工具Gears是我最强烈的推荐。

我这里并不想去详细说明它们的使用,有兴趣的朋友可以注册一个Google的账户,开始使用Gmail和Google Doc,并且访问http://gears.google.com/
需要提醒一下的是,在使用Google的各种产品时,如果英文阅读能力可以的话(一般大学4级完全没有问题),建议都采用英文界面。Google的很多新功能并不会在中文版中出现,Gmail的offline功能就只有在英文版中才有。

虽然Google Doc和Gears还有一些功能上的东西并未实现,但你要知道,它们也只是Beta版,我相信Google的实力,这也是我目前由Office转向Google的原因。本文针对的是盗版用户,如果您是有米之人,购买了正版的Office,那就继续吧,毕竟它是最强大的。

当然,开源的OpenOffice.org我也使用过,不过在尝试了Google之后,这种桌面的App我已经不感兴趣了,除非是Google Doc目前还实现不了的功能,否则我不会去开启那个启动速度尚需改进的OOo。Google + OpenOffice是我目前替代Microsoft Office的组合,但愿在不久的将来,Open Office也不用开了。

虽然我目前还没有卸载我电脑中的Office,但是已经很久没有打开过了,我相信在我有了新电脑或者在重新安装操作系统的时候,我应该不会继续成为不光彩的Microsoft Office的盗版用户,除非新公司用的是付费License。我现在的博客的文章都是使用Google Doc来写的,感觉良好,至于电子表格和PPT,还是等上班了以后再慢慢摸索吧。

是否能替代Office,这得看用户的需求,至少对于我来说,够了。你呢?

将常用的盗版/破解软件卸载,寻找免费的替代品,是本人现在的追求!

>>阅读全文<<

2009年2月13日

[原创]为什么要让孩子学会控制自己

美国总统艾森豪威尔的母亲在他发怒时劝告说:“能控制自己感情的人要比能拿下一座城市的人更伟大”。她告诫他,发怒是自我毁伤,是毫无用处的,需要好好克服。

上面的告诫对成人有用,对孩子更是重要。让孩子在幼年时期逐渐拥有能控制自己感情,情绪,行为的能力,不仅是对孩子将来的一生有益,对父母也有天大的好处。当然,对于孩子来说,这种能力的养成是被动的,完全取决于父母的意识,态度和行为。

谁造就了可怕的小皇帝

在当今的独生子女家庭里,我们看到太多的父母,爷爷奶奶,外公外婆在家里被小皇帝所控制,有些小孩可以说已经到了为所欲为的地步,家长稍有不如他们意的地方,轻则大哭抗议,重则打骂父母和老人。最近我的身边就有了两个这样的典型案例,我对此感到深深的恐惧。

案例一:都都妈妈的表弟,现在已经11岁了,我几年前就见过他,每次见他都能感觉到他的任性程度在日益加深。
他从小生活在算是比较富裕的家庭,要啥买啥,吃玩从来不控制,喜欢吃油炸食品(M记 K记之类的),结果到现在11岁吃成了140多斤,比我都重。现在父母分开了,和妈妈在一起,家庭的经济骤然发生了很大的变化,但我看不出他有丝毫的体谅他妈妈,依然是想买啥就买啥,作为一个小学生,已经装备了Nokia手机,U盘,PSP2和无数的小型电子产品,可怜他妈妈连买件几十块的衣服都舍不得。除了物质欲望控制不了之外,他在和家里人相处时表现得极度没有教养和礼貌,随意高声指使他妈,控制他妈的日常行为,连去澡堂洗个澡他都以各种理由不让他妈去,和姨和姨父说话也不像个晚辈。几天时间差点把我岳父气发病,都都看着他就觉得烦。



案例二:我听来的,我老婆最好的一个女朋友到了台湾发展,有两个两个小孩,小的弟弟5岁,由于她在台湾自己开餐饮店,非常忙碌,没有时间照看孩子,所以就把两个孩子都送回了沈阳的父母家里。这下可好,外公是个整天打麻将的人,外婆是个全身都有毛病的人,只能保证孩子的生存,谈不上任何的管教。结果现在5岁的男孩已经可怕到这种地步:外公说他两句就狠打外公,心情不好就乱甩东西,大人在一起说话他都能扔个玻璃杯子过来,到超市推着购物车能将货架上的东西都撞下来…………是不是匪夷所思了点?这样的孩子也不是谁都不怕,他妈一到他就不敢了,因为他妈比他还粗暴,嘿嘿。

大人们常说这孩子如何如何不听话,不懂事,没法管……似乎是在说这孩子天生就这么顽劣,是他自己学坏的。在我看来其实这都是当家长的日复一日,年复一年的一手造成的。基本现象有两种:一种是大人以各种理由为借口,不愿意把时间花在孩子身上,这常见于工作比较忙碌或者贪玩的父母;另一种是大人主观上宠惯,溺爱孩子,衣食住行照顾得太过享受而没有严厉管教的意识,总认为孩子还小,不懂事正常,大了就好了,这种情况常见于爷爷奶奶外公外婆。殊不知他们错过了0-3岁这一塑造小孩品性的最佳时期,中国古语说的3岁看到老是有道理的。

这里责任最大的就是孩子的父母了,没时间管教,没时间照顾,干嘛要生呢?养只小狗你还得溜它呢。所以我说:小皇帝生于父母,也塑造于父母

管教既是让孩子学会控制自己

我们常说一句话:每个小孩都是天才!孩子们都能在认知这个世界的过程中不断给予大人们惊喜。但同时还有一句话我现在也爱说了:每个小孩都是魔鬼!他们没有善恶之分,没有对错的概念,只有喜欢或不喜欢。奇怪的是,往往他们喜欢的事物和行为都是大人们不能接受的,可能这就是所谓的小孩逆反吧。

就拿都都来说,他现在很喜欢去玩电视,到电视的侧面去按各种按钮,并观察电视画面的变化,乐此不疲。而我们叫他回来,他就更上前,把他提回沙发,一下地又跑过去。可见他非常喜欢这种行为,在他眼里电视可比他那些玩具好玩多了。显然,要和他说显像的管辐射对他的危害是在对牛弹琴,对猪吟诗,要制止他的方法只有两种:一是把电视彻底关了;二是彻底让他明白去按电视会很痛。外公外婆都是采取第一种,关掉都都就回来了,可一开他又回去。都都妈采取的是第二种:大声的告诉他:都都你再过去按电视妈妈就揍你屁股。可怜的都都尚未明白为什么电视不能按,小眼睛一边看着妈妈,一边手还是过去了,脸上还带着笑意,在我看来很有挑衅的味道。结果就是都都的屁股挨了一顿揍,哇哇大哭,外公外婆在旁边一直在劝,几乎生气了。有了第一次的打,都都收敛了一些(主动知道控制了),但依然抗拒不了电视对他的诱惑。于是又有了第二次,控制力又强了一些……虽然至今他还是要过去,但妈妈只要一高声重复一下那句话,他就明显感到害怕了。

对于一个不满两周岁的小孩来说,能让他控制自己的唯一办法就是让他害怕,必须要有人出来当恶人的(我承认,我坏,我总是唱白脸)。当然,我这里并不是说对孩子的管教就等于揍他,这里的前提是他是在太小,无法在意识里区分出好坏,也无法了解大人们为什么不让他这么做。体罚和说教要同步进行,随着他的逐渐长大,体罚会变得越来越少,讲道理解释会逐渐成为教育的主要手段。这里面还有父母的身教,但这不是这个案例的重点,以后再讨论身教的案例。

都都在半岁左右喜欢挠大人脸,这一年多左右,我和都都妈都是受害者,脸上经常有血印。但自从我在他14个月左右揍了他一顿之后,这种现象现已逐渐消失。

有时我们躺在床上,都都想让我们起来的时候往往会直接来拽头发,先是跟他说要叫大人起来就抓衣服,不要抓头发,不听,揍一顿之后再接着说,听了。

嘿嘿,3岁之前不揍是溺爱!最简单的手段在这个阶段是最有效的。

当然,后面还有一句:3岁之后揍是虐待!我自己将这个范围扩大到4岁,我相信这个阶段的粗暴是为了将来的文明,都都4岁之后就不再揍他,我们会用更有效的方法来帮助都都学会控制自己。

>>阅读全文<<

2009年2月10日

[原创]Zenoss配置入门-监控Linux的Process和IPService

前言:

Zenoss Core提供了基于SNMP的标准化的OSProcess和IPService的监控,前者包含进程的可用性和性能(CPU MEM 进程数量)监测,后者只有可用性监测。

根据文档的操作,配置OSProcess和IPService看上去很简单的,但是我在操作中碰到了不少问题,有时会出现进程还在,但Zenoss报错的情况。本文的就不详细回忆出现过的错误了,我只记录最终稳定下来的配置(已经监控了8个小时)。配置的方法有些和文档的描述并不完全一致,仅供您参考。

被监控Device Name: linux11,IP:192.168.2.11,OS: openSUSE11 (on VMWare)
测试监控进程为Apache2(openSUSE自带的)和cron,IP服务为HTTP和SSH



监控OSProcess配置:

首先在Classes的Processes中添加你需要监控的进程,这是全局配置,所有Device都可使用的。
点击Processes,在Processes标签点击下拉菜单:Add Process,输入ID:Apache2。点击Apache2->Edit,编辑OSProcess的属性:

Name: Apache2 这个不用修改
Regex: 这里填写的是进程在操作系统中的名字,它是个正则表达式(正则表达式入门
Ignore Parameters: 是否忽略进程命令的参数,这里修改为True

在Linux用ps -ef|grep http看看Apache2的进程命令:
/usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf 一共有6个。我建议的Regex的内容为:^httpd2-prefork|^/usr/sbin/httpd2-prefork
这个正则表达式包括了不含路径和包含路径两种情况,肯定没问题。
点击Save,然后点击zProperties:
zAlertOnRestart: 进程Restart是否发送Event(我没测试这个)
zCountProcs: 是否检测运行的进程数量,这里设置为True
zFailSeverity: 严重级别,如果实际监控进程非常重要,可设置为Critical,我没改
点击Save保存

返回linux11的OS标签,点击OSProcess下拉菜单,选择Add Process,选择刚刚添加的Apache2。
返回OS标签,可以看到Apache2已经添加,并且处于UP状态,似乎配置已经做完了。


但实际上,这是个假象,进程并没有被检测出来,如果不Re-Model的话,过会儿就会报错了。手工Re-Model之后才会显示出httpd-prefork的进程。


cron采用一样的方法加入,只是zCountProcs设为False(cron只有一个进程),Ignore Parameters也可不改,cron没有参数。

如果OSProcess出现异常,可以在Zenoss的系统中使用zenprocess命令查看更多的debug信息:
$ zenprocess run -v 10 -d linux11

监控IPService配置:

在我的IPService配置中我并没有按照文档说的那样Add IPService,而是直接到zenoss定义好的IPServer中将需要监控的服务Monitor打开。

点击左侧导航的Service -> /IpService -> /Privileged,在Service右侧的搜索框内输入http,按回车(我鼠标找不到点击的地方,FF和IE都不行)。
点击http,Edit -> Monitor设为True,Save

返回linux11的OS标签,在IPServer标签Add IPServer,选择TCP,在ID处输入htt,等一会儿,会有所有包含htt的服务列出,选择World Wide Web HTTP。
IPService不需要Re-model device,立即生效。

SSH采用同样的方法。

点击/usr/sbin/httpd2-prefork可查看性能,包括进程个数,合计的CPU MEM占用,IPService只是可用性监控,无性能数据。

测试: 重复关闭和开启各个进程,查看Zenoss的反应,结果符合预期。


>>阅读全文<<

2009年2月9日

[原创]Zenoss配置入门-邮件短信通知

前言:

Zenoss提供了强大的事件告警通知功能,它提供两种方式,Email和pages(短信还是BB机?)。Email实时性不强,Pages又不知道怎么去配置,可能需要短信网关之类的吧。如何让zenoss的事件能第一时间通知到管理员呢?

幸好我们的移动还是不错的,提供了免费的139.com的邮箱,并且有短信提醒功能。我们可以设置139.com作为接受alert的email,开启短信提醒就能实现事件的短信提醒了。Pages功能让它一边呆着去吧。可惜139也不能提供可根据规则来触发的短信提醒。



Zenoss用户的角色

Zenoss Core默认有三种Role:
Manager: 超级用户,能做任何事情。
zenManager: 文档中并没有提到的role,似乎介于Manager和zenUser之间,能针对Device做修改。
zenUser: 只读用户

按照Zenoss的说法,想要完善的用户权限控制,那就Enterprise版吧,呵呵。(这里的测试只对admin)。

配置

点击Settings,进入管理设置界面,第一页填写SMTP的信息,这里我们直接使用139.com的配置:
SMTP host: smtp.139.com
SMTP port: 25
SMTP username: <你的手机号或者别名>
SMTP password: <密码>
From Address for Emails:<你的手机号@139.com>

发送SMTP也可以使用别的,我使用139.com是因为他比较快,而且在发送箱里有发送邮件的备份。

点击User -> admin,在Email处输入admin的139邮箱

点击Alerting Rules标签,下拉菜单,Add Alerting Rules,输入rule的名字:Test,然后点击Test进行设置:
Delay: Event发生之后延迟多少秒才发送通知,如果在此时间内Event清除,则不发通知。
Enabled:True 开启alert
Action: email
Address(optional):此处填写Email地址,则用户地址无效
Repert Time(sec): 每隔多少秒重复发送alert,直到该Event被acknowledg
Where:这里可以通过多种规则来判断是否发送alert,这个设计相当不错,用户可根据Severity,Priority,Device等来分别设置不同设备不同级别的告警发送给不同的人

设置完成点击Save,回到Users标签,在用户Email后面有test,点击可发送测试邮件,看看是否能收到。

利用Delay的功能用户可以实现在IT部门内部进行分级发送,比如一个事件发生立即发送给工程师A,在一段时间内(如3600秒)该事件还未处理,则发送给工程师A的老板,哈哈。有了这个设置,A还不老老实实勤快的干活?

经过测试,效果不错,139.com的邮件和短信提醒非常快速。



>>阅读全文<<

2009年2月8日

[原创]Zenoss配置入门-监控Windows

前言:

对于Windows系统,Zenoss提供两种检测和监控的手段,一是SNMP,二是WMI。不过在Zenoss Core的版本里只提供了SNMP,通过WMI来检测CPU,Disk,软硬件和性能则在Professional和Enterprise版本里提供,换言之,这是要收费的。再次复习一下三个版本的区别

本文主要介绍Zenoss检测和监控Windows的配置方法,其中会用到SNMP和WMI(Zenoss Core提供WMI监控WinService)




Windows安装SNMP服务和SNMP-Informant:

WindowsXP系统默认情况是没有安装SNMP Service的,我们需要手工安装。
点击控制面板里的添加或删除程序->添加/删除Windows组件->管理和监控工具,将WMI SNMP提供程序和简单网络管理协议打上钩,确定,插入XP的安装盘进行安装。确定SNMP Service, WMI Performance Adapter服务开启。

光有服务还不行,还需要到SNMP-Informant 下载informant-std-16.zip,解压安装。

配置SNMP Service,控制面板->管理工具->服务
注意在防火墙中开启SNMP的例外,(我为了省事,将防火墙全部关闭,在工作环境中应添加SNMP的端口udp 161)

到zenoss所在的Linux上测试目标Windows系统的SNMP Agent是否工作正常:

$ snmpwalk -v1 -c public 192.168.2.100 1.3.6.1.4.1.9600

有大量性能数据返回即表示OK。

Windows系统设置WMI

建立用户:该用户必须是管理员切密码不能为空,我的设置是zenoss/zenoss
在运行输入:secpol.msc,本地安全设置 -> 本地策略 -> 安全选项 -> 网络访问:本地帐户的共享和安全模式,修改为经典-本地用户以自己的身份验证
开启防火墙:WMI会使用到“Microsoft 网络的文件和打印机共享”和“远程管理”,远程管理的端口是tcp 135

测试WMI:
Microsoft提供的Scriptomatic2比较好用,这里点击下载
自带的wbemtest也不错
Zenoss对WMI的访问是使用wmic,所以用wmic来测试是最可靠的:
$ wmic -U ./zenoss%zenoss //192.168.2.100 "SELECT AvgDiskQueueLength FROM Win32_PerfRawData_PerfDisk_PhysicalDisk WHERE Name = '_Total'"
大家可替换用户名密码和主机IP进行测试,有正确的值返回说明WMI设置成功,如果有问题请Google一下吧。

配置Zenoss:

先看看/Server/Windows下默认使用的Collector Plugins,点击Devices ->Server->Windows,点击下拉菜单More->Collector Plugins,我们会发现最后一个plugin是zenoss.wmi.WinServiceMap,这也是Zenoss Core版本提供的唯一基于WMI的CollectorPlugin,从名字可以看出,它是用来监控Windows的Service(Windows的Event也会被监控,在zProperties的zWinEventlog设置)。

建立一个Device:
Device Name: 192.168.2.100
Device Class Path: /Server/Windows
Discovery Protocol: auto
Snmp Community: public

Add Device,进行Model操作,在weblog中应该会看到下面的Warning:
WARNING zen.WMIClient Windows login name is unset: please specify zWinUser and zWinPassword zProperties before adding devices.

很明显,这是因为调用zenoss.wmi.WinServiceMap需要指定Windows系统的用户。
在Model结束之后,进入该设备的Event,应该会看到两个橙色的告警事件:
修改zProperties,填写用户名和密码:
保存即可,Zenoss会在下一次调用wmi plugin的时候生效,大约1分钟之后该告警事件消失,证明配置成功。

我自己在测试中发现个问题,SNMP检测我的Thinkpad X61笔记本有错误,但是对台式机就没有问题。已经在zenoss forums发帖子问了,但现在还没答复。
还有就是我CPU的型号和频率检测不出来,老东西了,赛扬II 1.8G。

Zenoss获取的Windows的信息相当的丰富,包括系统上装的软件都检测出来,但有个问题,无法显示中文。这在OCS Inventory NG也碰到同样的问题。
针对这个问题,我个人认为在企业里使用的Windows Server最好是英文版,或许能避免一些视觉上的困扰。

监控Windows Service

Zenoss配置监控WinService非常简单,在设备OS标签的WinService点击下拉菜单,Add WinService,输入sn,系统自动找出匹配的服务,选择SNMP Trap Service,在接下的配置界面中将Monitor修改为True,Save即可。

可以在目标机器上控制面板->管理工具->服务来启动/关闭SNMP Trap Service来测试Zenoss是否工作正常。

>>阅读全文<<

2009年2月7日

[原创]Zenoss配置入门--通过SSH远程监控Linux

前言:

如果Linux系统没有SNMP的环境,如何来使用Zenoss进行监控呢?Zenoss提供了基于SSH的远程命令方式,基本工作原理是Zenoss通过SSH向远程主机发送执行命令,运行位于主机上的Plugin来收取数据。这里要求被监控主机上必须安装Zenoss Plugin(安装plugin是花我最多时间的地方)。

测试环境:
Zenoss box:openSUSE11 (hostname:zenoss ip: 192.168.2.10)
被监控Linux:openSUSE11 (hostname:linux11 ip:192.168.2.11)




在Linux上安装Zenoss Plugin:

Zenoss Plugin可在这里下载
在下载之前请先检查你的python版本:rpm -q python,如果已经是2.5了,那就请下载源码包。

在linux11上安装zenoss-plugin (可以使用root)
wget http://downloads.sourceforge.net/zenoss/Zenoss-Plugins-2.0.4.tar.gz
tar zxvf Zenoss-Plugins-2.0.4.tar.gz
cd Zenoss-Plugins-2.0.4
python ./setup.py build
python ./setup.py install


如果出现下面的错误请安装python-devel
error: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or directory)

zenoss plugin还需要setuptools,否则运行zenplugin.py时会出现ImportError: No module named pkg_resources

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c7.tar.gz#md5=dedbf6a4f71cd6deaf13ee885054f16b
tar zxvf setuptools-0.6c7.tar.gz
cd setuptools-0.6c7
python ./setup.py instal
l

测试zenoss plugin是否工作正常
zenplugin.py --list-plugins
platform 'linux2' supports the following plugins:
uptime
intf
process
tivo
mem
io
mysql
apache
disk
cpu
smart

运行正常,plugin安装完毕,可以执行zenplugin.py cpu来查看CPU的信息(--help看帮助)。如果zenoss plugin的安装还有问题的请给我留言。

配置Zenoss:

在配置开始之前先将linux11的SNMP关掉。#rcsnmpd

点击Add Device,输入:rcsnmpd stop
Device Name: 192.168.2.11
Device Class Path: /Server/Cmd //这里不能选择/Server/Linux,后面有解释
Discovery Protocol: none
点击下方Add Device

这时设备192.168.2.11已经添加,但没有任何信息,我们需要修改zenoss的收集数据的方式:
点击标签栏左侧下拉菜单->More->zProperties,依次修改下面内容:
zCommandPassword:xxxxxx //填写你用户的密码
zCommandPath:/usr/local/bin //这是被监控的linux11上zenplugin.py所在的目录
zCommandUsername: root //指定zenoss用什么用户连接被监控主机,我就直接用root了,也可是系统内的其他用户,但会不会有权限问题我没测试过。
(看出zenoss有什么问题了吧,你见过密码在用户名之前输入的吗,而且两者还隔得老远,不得不BS一下)

点击Save。留意一下Save下方的
这里会出现所有用户已修改过的项,通过Delete可以将其值恢复为默认,这个设计不错。

下面需要进行两次Model Device的操作,根据文档上的说法是第一次Model是获取platform信息,以决定使用何种plugin,第二次才能获得系统的详细信息,如interface,filesystem等等。(很雷人的设计,嘿嘿)

如果两次Model Device都没有错误的话,就能看到系统和性能信息了。

Device Class和Templates

为什么在配置SSH方式监控的时候要将Device放入/Server/Cmd而不是/Server/Linux呢?我们去看看这两个Device Class的Templates有什么不同。

点击Devices -> Server -> Linux -> Templates
点击Devices -> Server -> Cmd-> Templates
可以看出/Server/Cmd的模板在Device, FileSystem和ethernetCsmacd这三个组件的数据采集上使用了完全不同的方法。
在/Server/Linux模板中点击Device可以看到每个Data Source的Source Type是SNMP,而/Server/Cmd为COMMAND

到这里我们应该对Zenoss的Class,Path和zProperties,Templates之间的关系有个初步的认识了,建议大家仔细读一下Administration的Chapter 8. Organizers and Path Navigation in Zenoss。

用户可以在任一Class上设置zProperties和Templates,该变化会影响其子分类。例如在上述的例子中,linux11被放入/Server/Cmd,那它就将使用/Devices/Server/Cmd的zProperties和Templates,如果我们将关闭了snmp的linux11移到/Server/Linux中会有什么后果呢?默认情况下将无法采集和监控linux,除非我们手工将/Server/Cmd的zProperties和Templates的各项配置在/Server/Linux/192.168.2.11上都做一遍,这样的改变只对192.168.2.11这一个设备有效。

Zenoss中的Templates是可以用户自定义的,更方便的是可通过已有的Zenpack来进行功能的扩展,开源的zenpack也有很多,http://www.zenoss.com/community/projects/zenpacks/

在Zenoss中,SNMP还是占主导地位,绝大多数的PerformanceTemplates都是基于SNMP的,这种基于SSH的命令方式只适合在没有SNMP环境中使用。

Zenoss计划在下一个版本(Blue Grab)中提供新的基于SSH的Monitor和Model的方法,不再使用zenplugin。所以的数据均通过远程SSH命令调用直接从操作系统中获取。这也同样会带来问题,就是各种不同的类Unix的发行版的命令或者是输出结果有可能不一样,Zenoss看来需要做大量的平台兼容性的测试。

>>阅读全文<<

2009年2月6日

[原创]Zenoss配置入门-Linux/Unix基于SNMP的监控

前言提示

本人学习Zenoss主要是通过《Zenoss_Administration_2.3.0 》和Zenoss Forum ,这里提示一下各位朋友,在开源网管软件对比 - Nagios OpenNMS Zenoss中提到过Zenoss的文档缺陷,我这两天是深有体会,个人认为Zenoss的文档主要有下面几个问题:

1. 网页配置中无任何参考和提示,某些配置项根本无法了解具体含义。
2. 文档更新不及时,现在最新的PDF文档里面有很多已经过时的配置项,最典型就是zTransportPreference,呵呵,看过文档并且自己动过手的朋友知道我说的是什么。
3. 操作手册(PDF)结构比较混乱
4. 有些内容的细节文档并没有交代

很多Troubleshooting的工作是在Forum搜索到答案或者线索的,这里并不推荐大家使用Zenoss自己的搜索,我推荐使用Google的站内搜索。




测试环境

Zenoss box为安装在VMWare上的openSUSE11
被监控的Linux为本机:
hostname: opensuse
ip: 192.168.2.10

安装和配置SNMP

我这里使用net-snmp-5.4.1作为SNMP Agent,由于是测试,所以采用最简单的snmp配置。

在/etc/snmp/snmpd.conf加入:
rocommunity public

启动snmpd:#rcsnmpd restart

检查snmp agent是否运行正常:
# snmpwalk -v1 -c public 192.168.2.10 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux opensuse 2.6.25.5-1.1-default #1 SMP 2008-06-07 01:55:22 +0200 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4599) 0:00:45.99
................................
有上述信息出现,即表示snmpd运行正常

检查SNMP HOST-RESOURCES-MIB是否正常:
snmpwalk -v1 -c public 192.168.2.10 hrStorageTable

Zeoss配置

此配置以如何在Zenoss加入一个Linux系统并监控其各个组件和性能作为例子,仅供大家参考。未涉及到的部分以后会逐步补充!

zenoss如果安装成功,会在下次系统启动时自动运行,请参考[原创]Zenoss Core 2.3.2入门--安装

添加设备
进入zenoss界面之后,点击左面导航栏下方的Add Device(位于Management)

填写将要添加的设备属性:
Device Name:192.168.2.10
Device Class Path:/Server/Linux
Snmp Community: public

点击下方的Add Device按钮,等DeviceLoader运行完毕,查看输出过程是否有错误产生。
2009-02-04 14:55:59 INFO zen.Utils Executing command: /disk/zenoss/zenoss/bin/zendisc run --now -d 192.168.2.10 --monitor localhost --deviceclass /Server/Linux --snmp-port 161 --snmp-community public --weblog
2009-02-04 14:56:17 INFO zen.ZenDisc Connected to ZenHub
2009-02-04 14:56:17 INFO zen.ZenDisc Connected to ZenHub
2009-02-04 14:56:17 INFO zen.ZenDisc Looking for 192.168.2.10
2009-02-04 14:56:21 INFO zen.ZenDisc Result: Discovered device 192.168.2.10.
2009-02-04 14:56:21 INFO zen.ZenDisc No WMI plugins found for opensuse
2009-02-04 14:56:21 INFO zen.ZenDisc No Python plugins found for opensuse
2009-02-04 14:56:21 INFO zen.ZenDisc No command plugins found for opensuse
2009-02-04 14:56:21 INFO zen.ZenDisc SNMP collection device opensuse
..................................................................................................
2009-02-04 14:56:37 INFO zen.ZenDisc zendisc shutting down
2009-02-04 14:56:38 INFO zen.DeviceLoader Device 192.168.2.10 loaded!

设备添加完成,点击最下面的hostname进入opensuse的状态:


进入opensuse的状态页面之后,可以看出系统和相关部件的状态灯,以及各个级别事件(Event)的数量。做到这里,最基本的Linux系统的监控就已经完成了,大家可以浏览一下各个标签以熟悉zenoss。Zenoss的各种信息的分类可以在类似/Devices/Server/Linux/opensuse这样的目录结构中体现,这点做得非常好。

每个带有下划线的部件都可以点击查看与之相关的信息,比如我们点击OS标签,可以看到该系统安装的网卡,点击网卡名称就能得到网卡详细信息包括性能图。这里就不一一贴图了。
有些内容需要一段时间之后才能正确显示出来。


Bug提示:我在操作中曾经修改过Device的Name(点击标签栏左面的下拉箭头,选择Manage->Rename Device)
结果页面报错。通过Forum查到原来这是个已知的Bug,同时也学会了如何来打补丁。

#su zenoss
$ zenpatch 10924 //zenpatch命令会连接zenoss网站直接下载补丁并安装,这里当然要求你的zenoss box是能上网的。离线补丁方法我还没去查。
$ zopectl restart

这是个最简单的例子,目的是为了让没接触过的朋友尽快了解Zenoss,因此我的文字和图片都有些罗嗦,:-)
在后续的文章中我会尽量精简和减少截图,谢谢大家捧场。


>>阅读全文<<