cacti各类插件使用

cacti本身自带了很多监控插件,如cpu,系统负载,磁盘等等。但是对于一些服务我们就必须另外找插件了。
现在我这边有用到的有nginx, apache, mysql, memcached, iis这几种

先说nginx插件。
http://forums.cacti.net/about26458.html
首先要在被监控服务器的nginx.conf文件中加上如下内容

location /nginx_status { 
  stub_status on;
  # disable access_log if requared 
  access_log off; 
  #allow XX.YY.AA.ZZ;
  #allow YY.ZZ.JJ.CC;
  #deny all;
  }

最后再重启下nginx就可以了。上面内容可以根据自己需求进行更改的。

在监控服务器上

 cp get_nginx_clients_status.pl /scripts/
 cp get_nginx_socket_status.pl /scripts/
 chmod 0755 /scripts/get_nginx_socket_status.pl
 chmod 0755 /scripts/get_nginx_clients_status.pl

然后通过命令行验证是否可以正确运行

./get_nginx_clients_status.pl http://www.example.com/nginx_status

如果能看到如下内容表示能正常运行了
nginx_accepts:1169 nginx_handled:1169 nginx_requests:1225

最后就是cacti中导入模板,再添加新的图片就可以了。上面这些按照readme本身提供的信息就可以顺利的安装完成。

nginx

接着是apache插件
http://forums.cacti.net/about25227.html
首先是要给被监控服务器上的apache加上mod_status模块,一般默认是装的

bin/apxs -i -c -a /usr/local/source/httpd-2.2.8/modules/generators/mod_status.c

-i 表示安装

-c 编译

-a 自动增加 LoadModule 到httpd.conf中

修改httpd.conf文件

 SetHandler server-status Order Deny,Allow Deny from all Allow from 允许访问的IP ExtendedStatus On //这句千万要加上,apache官方文档上没有这个,如果不增加这个,就不能得到apache使用率等等信息。 

打上补丁后一定要关闭apache再开启,不能restart和graceful
最后应该看到的形式为http://192.168.0.1/server-status
看到跟http://www.apache.org/server-status 这样的内容就算成功了

在监控服务器上

cp ss_apache_stats.php scripts/

最后通过命令行运行下是否能获取到相关数据
接着就是在cacti中导入模板,添加主机就可以了。

apache

下面是mysql的插件
http://forums.cacti.net/about24223.html

特别注意,如果是mysql5.0.2以上版本,需要修改mysql_stats.php
首先是打开mysql_stats.php文件
搜索 “$result_stat = @mysql_query(“SHOW STATUS”);” (一般在19行)
把 SHOW STATUS 替换为 SHOW /*!50002 GLOBAL */ STATUS

首先要在被监控的mysql中添加新用户,这个用户只需要process权限就可

GRANT PROCESS ON *.* TO cactiuser@'监控机IP' IDENTIFIED by 'password';
 cp mysql_stats.php /scripts/ chown 755 mysql_stats.php

接着在命令行中运行看看是否能取到数据

MySQL - QCache statistics:

 php -q /scripts/mysql_stats.php cache MySQL - Single Statistics: php -q /scripts/mysql_stats.php status MySQL - Handler statistics: php -q /scripts/mysql_stats.php handler MySQL - Command statistics: php -q /scripts/mysql_stats.php command MySQL - Thread statistics: php -q /scripts/mysql_stats.php thread 

最后也是在cacti中导入模板,添加主机就可以了

特别注意
cacti_graph_template_mysql_single_statistics.xml 这个模板需要自定义一个监控值,这个可以根据自己需求来,我自己就用了Qcache_hits
如果导入模板后打开Graph Debug Mode后有 (–unit/–y-grid) 这样的报错那只要在图片模板中把Unit Grid Value (–unit/–y-grid)
Use Per-Graph Value (Ignore this Value) 这个设置为空就可以了

mysql1

接着是memcache的监控
http://dealnews.com/developers/cacti/memcached.html

先要在被监控服务器上安装python-memcached

 wget ftp://ftp.tummy.com/pub/python-memcached/python-memcached-1.43.tar.gz 
 解压后 
 python setup.py install 如果提示无法安装,那需要先安装下面这个
 wget http://peak.telecommunity.com/dist/ez_setup.py 
 python ez_setup.py 

接着再安装python-memcached就可 在监控服务器上

 cp memcached.py /scripts/ 
 chown 755 memcached.py
 接着在命令行中手工执行
 python /scripts/memcached.py 

如果能取得数据那再在cacti中添加相关模板和主机就可以了。

memcache

最后是对iis服务器的监控
http://forums.cacti.net/about12464.html
这个模板似乎只能对windows 2003和windows 2003 sp1有效,所以如果你是windows2000的话就要自行修改了
iis监控很容易,只要上传模板,添加主机就行了。

需要注意的是
iis_network_statistics的图片模板中y值中b要去掉
network是byte计算

<img class=”aligncenter size-full wp-image-219” title=”iis1” src=”https://images.timoq.com/2008/08/iis1.jpg“ alt=”iis1” width=”459” height=”323” /