首先下载模板cacti-nginx.tar.gz,
地址:http://forums.cacti.net/download/file.php?id=12676。
Nginx被监控端:
1.修改配置文件
打开Nginx配置文件nginx.conf,找到server,在其中添加如下内容:
Location /NginxStatus/ {
Stub_status on;
Access_log off;
Allow 192.168.1.106; #只允许该IP能看到监控信息
Deny all;
保存并关闭配置文件
2 重启nginx服务
打开终端,运行命令:
>killall –s HUP nginx
这样可以不用杀死nginx进程而使得修改的nginx配置生效。然后就通过 http://localhost/NginxStatus 来访问到Nginx的运行状态页面。我测试时总是看不到,提示502错误。
Server端配置:
1.安装依赖包
Nginx脚本运行需要LWP::UserAgent,安装方法:
>perl –MCPAN –e shell
>cpan> install LWP::UserAgent
2.解压cacti-nginx.tar.gz,将脚本文件拷贝到cacti的scripts目录,
>tar –zxvf cacti-nginx.tar.gz
> cd cacti-nginx
> cp get_nginx_socket_status.pl /opt/lampp/htdocs/cacti/scripts
> cp get_nginx_client_status.pl /opt/lampp/htdocs/cacti/scripts
3.导入模板
需要导入cacti_graph_template_nginx_clients_stat.xml和
cacti_graph_template_nginx_sockets_stat.xml两个模板。
添加监控的注意事项:
在添加nginx监控时,创建data source时一定要正确写入url,否则会没有数据,如下图:
3 脚本运行检查
对两个脚本分别运行,检查获取结果:
> cd /opt/lampp/htdocs/cacti/scripts
> ./get_nginx_client_status.pl http://192.168.1.100/NginxStatus/
输出信息:nginx_active:245 nginx_reading:11 nginx_writing:4 nginx_waiting:230
运行get_nginx_socket_status.pl:
>./get_nginx_socket_status.pl http://192.168.1.100/NginxStatus/
输出信息:nginx_accepts:41377 nginx_handled:41377 nginx_requests:223307
一切正常,ok。
首先要装一下依赖软件python-setuptools,已经装过的可以无视。
>sudo apt-get install python-setuptools
1.安装python client api
下载python-memcached-1.48.tar.gz,
地址:ftp://ftp.tummy.com/pub/python-memcached/python-memcached-1.48.tar.gz。
>tar –zxvf pyth-memcached-1.48.tar.gz
>cd python-memcached-1.48
>python setup.py install
2.下载模板
下载memcache模板cacti-memcached-1.0.tar.gz,地址:http://content.dealnews.com/dealnews/developers/cacti-memcached-1.0.tar.gz。
解压模板,并把脚本文件memcached.py拷贝到cacti的scripts目录下:
>tar -zxvf cacti-memcached-1.0.tar.gz
>cd cacti-memcached-1.0
> cp memcached.py /opt/lampp/htdocs/cacti/scripts
3.导入模板
进入cacti界面导入cacti_memcached_host_template.xml模板。导入后在Host Template可以看到:
4.修改端口
模板监控的默认端口是memcached的11211。如果配置的不是这个端口,监控服务器要修改端口,假设配置的memcached端口是12000,方法如下:
Console---Data Input Methods--Memcached – Statistics
找到Input String的值python /scripts/memcached.py
更改成:python /scripts/memcached.py –p 12000
首先还是下载模板,better-cacti-templates-1.1.8.tar.gz,
http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
1.配置ssh公私钥无需密码登陆
因为cacti监控mongoDB需要登录到mongoDB的服务端运行mongoDB的状态获取命令,所以需要ssh链接登录。首先被监控端mongoDB服务器要安装shh服务,采用如下命令:
>sudo apt-get install openssh-server
安装好之后配置非交互式账号密码登陆,这里采用公私钥模式。
在监控服务器生成一对公私钥:
>ssh-keygen
我们这里用的是tianya账户登陆的,所以公私钥的路径是/home/tianya/.ssh,在这可以看见两个文件:id_rsa(公钥),id_rsa.pub(私钥)
拷贝公钥到mongoDB服务器:
>ssh-copy-id –i /home/tianya/.ssh/id_rsa [email protected]
这里的tianya是mongoDB服务器192.168.1.102的账户名,通过这个命令就把公钥的内容复制病房咋mongoDB服务器的.ssh/authorized_keys中。
然后用ssh链接mongoDB服务器,如果不需要密码就可以登录,那么就成功了。如下图:
2. 配置监控脚本
解压下载的模板better-cacti-templates-1.1.8.tar.gz,把脚本文件ss_get_by_ssh.php拷贝到cacti的scripts目录下:
> tar –zxvf better-cacti-templates-1.1.8.tar.gz
> cd better-cacti-templates-1.1.8/scripts
> cp ss_get_by_ssh.php /opt/lampp/htdocs/cacti/scripts/
然后修改这个文件ss_get_by_ssh.php:
第一处:修改用户和ssh公钥的路径:
第二处:修改mongoDB的端口号
如果mongoDB服务器的路由端口号不是默认端口,而是自己修改的,那么就要修改文件:
将
修改为:
3. 脚本测试:
配置完运行下面的脚本进行测试,有数据说明配置正确:
4.添加模板
从解压缩的目录下将模板
cacti_host_template_x_mongodb_server_ht_0.8.6i-sver1.1.8.xml导入,导入后在Data Template下有如下的模板: