标签归档:nginx

一个困扰已久的Cacti问题

集群用了cacti监控服务器,部署的时候用了最新的版本0.8.7g,nginx连接数的监控不能正常工作,困扰了我好久。

今天早上突然想起问题会不会处在spine身上,于是立马去尝试spine的debug.

手动执行<path_cacti>/scripts/get_nginx_clients_status.pl <stub_status_url>能够正确的获取返回的数据。

第一步:使用poller的debug:
/usr/local/php/bin/php -q /usr/local/nginx/html/cacti/poller.php –force –debug
可以看到很多这样的错误:
ERROR: not enough argument
应该就是在获取nginx client时出现的错误。

而且查看nginx client的rra,发现更新时间都是很久前的。

第二步:使用spine的debug:
cd <path_to_spine>/bin/
./spine -C ../etc/spine.conf –verbosity=5 -H 2
其中-H为Host的ID,可以在devices菜单中查到。

其中关于nginx连接数的信息:
NginxStatus, output: 0
可以看到,spine没有获取到数据。

去官网下上一个版本的spine,编译,安装,并重新执行:

./spine -C ../etc/spine.conf –verbosity=5 -H 2
有数据了

唉,0.8.7.g的bug真不少呢。

昨天加班到今天凌晨1:36,可恶的nginx!

nginx的缓存规则有了变化,或者说nginx对缓存部分做了bug fix,于是我们以前的写法就不生效了,研究了好久,终于搞定了。

这是继location的写法变化后另一个重大的变化,让我们好囧啊,现在的nginx,越来越向squid发展了,不喜欢。

ps:回去还淋雨了,好大的雨。

分享一个Cacti监控模板项目:mysql-cacti-templates

    网络上给Cacti写模板人的有很多,我在找监控MySQL的模板和脚本的时候,发现了一个项目:mysql-cacti-templates,看了介绍,符合我的需求,很详尽的功能,有MySQL本身的监控,InnoDB相关监控,MyISAM相关监控,Nginx状态监控。下载好,配置完毕,试用了一下,的确不错。发个简单截图:

MySQL打开文件和表的Cacti监控截图