Chinaunix

标题: cacti npc插件使用(非安装) [打印本页]

作者: kkkggg    时间: 2010-11-12 13:52
标题: cacti npc插件使用(非安装)
本帖最后由 kkkggg 于 2010-11-17 13:03 编辑

cacti插件npc(Nagios Plugin for Cacti),是一个让cacti可以抓取nagios性能数据的插件。网上搜索cacti npc一般都是讲怎么安装的,基本上没讲装好后怎么使用。就连官方网站上都没讲(反正我是没找到)。
  至于怎么安装,需要注意哪些事项,这里就不说了。网上可以搜索到很多。此文只讲简单建立一个绘图。这只是我摸索出来的方法,没能参考到官方文档,是否正确我不确定,反正有绘图出来。基本流程是:定义数据输入方法-定义数据模版-定义绘图模版
  我的运行环境是ubuntu 10.04; nagios 3; ndoutils 1.4b7; mysql 5.1; cacti 0.8.7c; npc 2.0.4
  首先进入管理页面,点开npc标签。下面有个N2C的菜单,从注释意思看,好像是从这里把nagios的主机转成cacti的模版。但我点了import成功后,在cacti里没找到任何东西。也许从这里添加到cacti才是正确的。但我没成功,只好手动来弄了。
  cacti绘图实例要引用绘图模版,绘图模版要引用数据模版,数据模版要引用数据输入方法。所以我们先从添加数据输入方法Data Input Method开始。

  点services,可以看到nagios里定义的所有服务。在想要取数据绘图的服务上双击或点右键选Service Detail。

  在上面右边有个Data Input Method标签,点一下,OK。这样就往cacti里引入了一条数据输入脚本。这里以一台名称为node7主机上的检查cpu负载服务为例。好了,npc标签要做的就没有了。下面转到console标签。

  点下Data Input Methods,可以看到刚才添加的cacti数据输入方法“NPC - Perfdata - node7: Current Load”在列表里了。点一下”NPC - Perfdata - node7: Current Load“,可以看它的属性

  可以看到它的Input Type为Script/Command,一般的cacti数据输入都是通过snmp的,这里则是通过执行脚本来读取的。下面显示是执行perfdata.php脚本文件,参数为 --type=service --id=14。npc插件把nagios的每个服务都编了号,我这个node7主机check_load服务被编到14号。下面Output Fields栏显示的是这个输入方法定义的输出字段名,待会儿要定义的数据模版就要引用这些字段。(这里npc 有个bug,点开load5和load15。“Field [Output]”的值" load5"或" load15"前面多了个空格,把空格去掉,不然后来取不到5分钟和15分钟的数据)好了,现在点击左侧菜单Data Templates,开始添加数据模版。

  这里cacti自带的模版当然没有从npc取数据的。我们要添加一个,点右上方Add,也可以右下方Choose a actionuplicate复制一个已有的来修改。我复制了一个Unix - Load Average,因为跟我的cpu负载检查服务比较接近,只要改一下输入方法Data Input Method就好了。

  修改模版名,我改成了npc - Unix - Load Average。把Data Input Method从Unix - Get Load Average改成前面定义的NPC - Perfdata - node7:Current Load。

  下面已经有了三个Data Source Item,load_1min;load_5min;load_15min。如果刚才模版不是复制的,而是添加的,就要手动建立三个。把这三个Data Source Item项,下面Output Field选成相应的先前数据输入方法里的字段。比如load_1min的Output Field要选成load1 - load1,不然绘出来的图数据不正确。好了,数据模版完成了,再左侧点开Graph Templates开始建立绘图模版。

  跟刚才一样,绘图模版也可以自己新建或是复制一个已有的模版来修改。我复制了一个Unix - Load Average来修改。改模版名为npc - Unix - Load Average。

     首先来看中间有三项Graph Item Inputs,1 Minute Data Source;5 Minute Data Source;15 Minute Data Source。这是绘图的三个输入数据项名称。每个数据项又是引用的上面Graph Item中的某项。点开1 Minute Data Source

  可以看到是引用了刚才Graph Item栏中的哪几项,1 Minute Data Source是引用了Graph Item中Item # 1和Item # 2的数据。回到刚才的页面。

    点开Graph Item栏中的Item # 1

  把Data Source数据源改成先前在数据模版中定义Data Source Item项,因为Item # 1是被1 Minute Data Source引用,1 Minute Data Source很明示是绘图时显示1分钟内负载的数据,所以Item # 1就选npc - Unix - Load Average - (load 1min)。刚才Graph Item Inputs项1 Minute Data Source中也包括了Item # 2,所以Item # 2的Data Source Item也选npc - Unix - Load Average - (load 1min)

   接下来就是cacti的常规操作了。添加设备,我添加了跟刚才服务一致的主机node7,建立绘图时选择刚才建立的npc - Unix - Load Average绘图模版。这时候还看不到图表的,我这张截图是后来截的。

   把绘图添加到Graph Trees。数分钟后就可以看到图表了
   如果没有,看看rra目录权限有没有问题。或者直接用npc的那个脚本看能不能获取数据。在Data Input Methods里点开自己定义的数据输入方法,可以查到npc里自己这个服务的编号。然后用php -q 路径/perfdata.php --type=service --id=服务编号,查看能不能获取到数据

作者: dbsrv    时间: 2010-12-09 19:21
坐下来慢慢看
作者: chenyx    时间: 2010-12-09 20:05
总结的很详细,赞一个
作者: 7717060    时间: 2010-12-10 11:14

作者: zhnghaijin    时间: 2011-07-04 13:28
我顶顶顶
作者: xiaobai2621    时间: 2012-08-03 09:13
这个需要顶起来。好文章
作者: rhelengineer    时间: 2012-09-09 18:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: rhelengineer    时间: 2012-09-09 18:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: rhelengineer    时间: 2012-09-21 10:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: rhelengineer    时间: 2012-09-21 10:56
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2