cacti本身能做的东西就是统计流量并以很漂亮的界面显示出来。让人欣喜的是,cacti也可以安装插件,通过插件,cacti的功能被进一步强大:可以监控服务器状态;发送邮件通知;短信通知等;还可以msn通知哟~
      1.安装cacti的PA
      为了让cacti能够使用插件,必须先给cacti安装一个补丁->Plugin Architecture。由于对应不同的cacti的版本,都会有相应的PA。所以在安装PA的时候,一定要选择正确的版本哟。在cactiusers.org你会找到不同的插件,当然也可以找到PA啦。因为咱们之前安装的cacti的版本是0.8.7e所以咱们就使用cacti-plugin-0.8.7e-PA-v2.6.zip。
      cd /usr/share/cacti
      wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip
      unzip cacti-plugin-0.8.7e-PA-v2.6.zip 
      会得到cacti-plugin-arch目录。这里面有cacti-plugin-0.8.7e-PA-v2.6.diff和pa.sql。这两个文件是我们最需要的。
      导入数据库文件
      mysql -uroot cacti <cacti-plugin-arch/pa.sql
      给cacti打补丁
      patch -p1 -N <../cacti-plugin-arch/cacti-plugin-0.8.7e-PA-v2.6.diff
      网上都这么做,我也这么干了,而且打补丁的时候我也注意到了,有一些文件没打成功,但是给忽略了。后来的事实告诉我,这样打确实是不行,至少在我这不行。我郁闷了一个晚上,第二天醒来突然想,那个补丁目录里还有一个files不知道是干啥的。然后仔细读了一下同级目录的readme.txt。里面提示说如果通过rpm包的方式安装的建议,直接把files里的文件直接覆盖。我就郁闷了,我之所以上一篇文章说要把安装的cacti更新到最新的版本就是怕出现这样的版本不一致的情况,结果还是发生了。最后还是覆盖了一下解决了问题。
      rsync -avz ../cacti-plugin-arch/files-0.8.7e/* .
      在打完补丁以后笔者出现了图片按钮不能正确显示的情况,仔细一看发现是图片路径不对,研究了半天才知道,需要修改一下global.php
      vi include/global.php
      $config['url_path'] = '/cacti/';
      进入"Console"->"User Management"->"admin"->Realm Permissions把Plugin Management打勾:
      你会发现在"configuration"下的"settings"下面是不是多了个"Plugin Management"点击一下会列出已经安装的插件:
      2.安装settings,thold,monitor插件
      settings给不同的插件提供一些共用的信息,如邮件信息,dns信息。
      monitor通过简单明了的图标提供服务器的运行状态
      thold提供设备异常预警。
      相应的下载地址去cactiuser上面找,也可以直接使用下面的链接
      cd plugins
      wget http://cactiusers.org/downloads/settings.tar.gz
      wget http://cactiusers.org/downloads/monitor.tar.gz
      wget http://cactiusers.org/downloads/thold.tar.gz
      for i in *.gz;do tar zxf $i;done
      2.启用插件
      vi ../include/global.php
      在$plugins = array();的下面加上如下内容
      $plugins[] = 'settings';
      $plugins[] = 'monitor';
      $plugins[] = 'thold';
      保存以后,再点击"Plugin Management"就列出了已经安装的插件:
      导入monitor和thold的数据库
      mysql -uroot cacti <monitor/monitor.sql 
      mysql -uroot cacti <thold/thold.sql
      3.使用插件
      咱们就按照从左到右从上到下的顺序来看这三个插件吧
      Monitor:
      进入"Console"->"User Management"->"admin"->Realm Permissions把View Monitoring 打勾:
      保存以后是不是发现多了一个"monitor":
      但是当点击"monitor"的时候发现会有一句错误
      Warning: Invalid argument supplied for foreach() in /usr/share/cacti/site/plugins/monitor/monitor.php on line 199
仔细看一下这个文件,发现一条有用的信息:AND thold_enabled = "on",是不是因为咱们现在还没启用thold呢?那咱们就先启用thold:
      点击"Plugin Management":
      先点"Install"再点"Enable"当你看到:
      graphs和monitor中间多了一个thold的时候,就成功启用thold了。现在再点击"monitor"也不报错了。
      配置monintor的话,找到"Console"->"Settings"->"Misc":
这里不想法每项是干啥的了,因为你总要有一个熟悉的过程嘛。
想添加被监视的设置话,在新建立设备的时候,会有个"Monitor Host",把它勾上,已经添加过的设备也可以在这启用。
      Settings:
      Settings作为为插件提供信息的插件,地位不可小视。找到"Console"->"Settings"->"Mail/DNS",正确设置"SMTP Options"和"DNS Options"以保证邮件可以正常发现:
      这里笔者要说的就是建议mail servers选择smtp,并正确设置smtp和dns信息。因为无论选择phpmail还是sendmail都要使用sendmail这程序,都要装一个邮件系统。没有必要吧,多一个程序多一个风险。设置完了可以点一下右上角的"Send a Test Email"以确定配置正确:)
      为啥要用139的邮箱呢?因为它有邮件到达短信提醒的功能。当然后面,我们最好再做上msn和飞信的提醒。
      Thold
      配置完了邮件通知。我们就需要出现问题的时候有通知了。那就有请thold出场了。找到"Console"->"Settings"->"Alerting/Thold",在"Default Alerting Options"里,启用"Dead Hosts Notificatios"并正确填写警告的邮件地址:
      邮件的内容呢?在添加设置的时候有个"Down Host Message"就是它了:
      在又一次复习了cacti以后,个人觉得,cacti图画的是很漂亮.但是真要监控服务器的服务还真不大靠谱,看来要做到服务故障的及时报警非nagios莫属.