关于这一内容,在google上一搜就大把.内容如下:
nginx编译时允许http_stub_status_module
然后在 nginx.conf 中 添加如下(粗体字部分)
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /data/web_server/index;
index index.html index.htm;
}
location /NginxStatus {
stub_status on;
access_log off;
}
}
#killall -s HUP nginx (令Nginx配置生效)
然后就通过 http://localhost/NginxStatus 来访问到Nginx的运行状态页面
下载cacti for nginx 插件包: http://www.oschina.net/uploads/code/cacti-nginx.tar.gz
解压后一共有5个文件,首先把 get_nginx_socket_status.pl 以及 get_nginx_clients_status.pl 上传至服务器cacti 目录下scripts 并设置可执行权限跟755读写权限
检测插件(举例)
# /data/cacti/scripts/get_nginx_clients_status.pl http://192.168.1.100/NginxStatus
显示的内容跟 NginxStatus 状态页内容相当即可。
然后在cacti管理面板导入
导入的方式是 Import Templates > Import Template from Local File (浏览导入插件包另外2个文件)
cacti_graph_template_nginx_clients_stat.xml
cacti_graph_template_nginx_sockets_stat.xml
但详细操作起来可能会有个麻烦!
导入 cacti_graph_template_nginx_clients_stat.xml 跟 cacti_graph_template_nginx_sockets_stat.xml 的时候,cacti 出现红字提醒:
Error: XML: Hash version does not exist.
解决:因为你的 cacti 版本太旧了,去Cacti 下个最新版吧:http://www.cacti.net/download_cacti.php
导入成功后会显示:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cacti has imported the following items: GPRINT Preset [success] Normal [update]Data Input Method [success] nginx clients stat [update]Data Template [success] Nginx Clients Stat [update]Graph Template [success] Nginx Clients Stat [update] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
然后你就能在 Graph Templates 中看到你刚所导入 Xml 后所产生的模板

接着进入New Graphs 选择任意一台已经创建好图标的监控服务器。

呵...然后接下来的步骤不用说了吧? 就跟创建网卡,CPU等之类的图表方式一样。

运行的时候需要Perl模块LWP::UserAgent,安装方法从网上找来了:
FreeBSD下面
# portinstall p5-libwww
READHAT下面
# yum -y install perl-libwww-perl
使用cpan (有时不能成功,上面的基本上没有问题)
# cpan -i LWP::UserAgent
看了哥们这个文件包,我也打算用用,结果发现服务器上没有安装perl扩展包,而且安装也比较麻烦,正好自己服务器上有python,所以直接按照你的perl改写成python,然后把模板文件里面的, <input_string>/usr/bin/perl <path_cacti>/scripts/get_nginx_socket_status.pl <stub_status_url></input_string>
改成 <input_string>/usr/bin/python <path_cacti>/scripts/get_nginx_socket_status.py <stub_status_url></input_string>
效果一样