快速业务通道

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

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-17
前言:

如 果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 [url]http://downloads.sourceforge.net/zenoss/Zenoss-Plugins-2.0.4.tar.gz[/url]
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 [url]http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c7.tar.gz#md5=dedbf6a4f71cd6deaf13ee885054f16b[/url]
tar zxvf setuptools-0.6c7.tar.gz
cd setuptools-0.6c7
python ./setup.py install

测试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.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号