[原创]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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: linux2.6.14移植到sbc2410上下一篇: VM下开始的cent OS之旅
关于[原创]Zenoss配置入门--通过SSH远程监控Linux的所有评论