Ubuntu12.04平台安装cacti全过程(五)

 

3.监控模板安装配置

Cacti许多牛人编写各种模板并免费提供,用于监控各种应用,目前我们用到了ApacheDiskIOtomcatmemcacheNginxMongoDB这几个模板。

先讲一下模板的导入,在cacti的主界面上,点左侧面板上的 Import Template”来导入模板,“Export Template”导出模板。

3.1 Apache模板

1.下载apache监控模板,

http://forums.cacti.net/about25227.html&highlight=apachestats

2. 修改被监控端配置

   如果采用自己编译apache时,需要在编译的时候,选上mod_status.so模块。这个模块就是用于查询apache的状态。我们的apache是集成在XMPP中的,因此http.conf文件的路径是/opt/lamp/etc/http.conf,打开该文件,并在文件的倒数第二行空白处添加如下内容:

#LoadModule status_module modules/mod_status.so
ExtendedStatus On #支持查询apache的状态
<Location /server-status >
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 10.42.97.144#允许通过web方式访问的IP
</Location>

3.解压模板文件

> cd 下载
> unzip ApacheStats_0.8.2.tar
> cd ApacheStatus-0.8.2

4.把监控apache状态的脚本拷贝到cactiscripts目录下:

> cd ApacheStatus-0.8.2
>cp ss_apache_status.php /opt/lamp/htdocs/cacti/scripts

5.导入监控模板

用本节开头所说的方式把apache监控模板cacti_host_template_webserver_-_apache.xml导入cacti环境。导入后看到的如下:

 

 

3.2 DiskI/O模板

Cacti监控磁盘IO情况是通过snmp来实现的。首先下载模板snmpdiskio-0.9.4。但是这个版本有点问题,不支持linux2.6内核,需要通过手动修改升级为0.9.6版本才可以。并且这个模板不太好找,当时找到费了很大的劲。安装方法:

Server端:

partition.xml放在cacti/cacti/resource/script_queries/目录下,

并在<index_order>hdDescr:hdName:hdIndex</index_order>之后添加一句  

      <index_order>hdDescr:hdIndex</index_order>

snmpdiskio放在/usr/local/bin目录下

修改snmpd.conf文件,添加如下几句

extend .1.3.6.1.4.1.2021.54 hdNum /usr/local/bin/snmpdiskio hdNum

extend .1.3.6.1.4.1.2021.55 hdIndex /usr/local/bin/snmpdiskio hdIndex

extend .1.3.6.1.4.1.2021.56 hdDescr /usr/local/bin/snmpdiskio hdDescr

extend .1.3.6.1.4.1.2021.57 hdInBlocks /usr/local/bin/snmpdiskio hdInBlocks

extend .1.3.6.1.4.1.2021.58 hdOutBlocks /usr/local/bin/snmpdiskio hdOutBlocks

然后重启snmpd服务

cacti页面,console--->Import/Export--->Import Templates”导入两个模板:

"cacti_data_query_snmp_disk_statistics.xml

cacti_graph_template_disk_io_bytessec.xml"

 

client被监控端:

被监控端要安装snmp服务,这里不再介绍。

snmpdiskio放在/usr/local/bin目录下

修改snmpd.conf文件,添加如下几句

extend .1.3.6.1.4.1.2021.54 hdNum /usr/local/bin/snmpdiskio hdNum

extend .1.3.6.1.4.1.2021.55 hdIndex /usr/local/bin/snmpdiskio hdIndex

extend .1.3.6.1.4.1.2021.56 hdDescr /usr/local/bin/snmpdiskio hdDescr

extend .1.3.6.1.4.1.2021.57 hdInBlocks /usr/local/bin/snmpdiskio hdInBlocks

extend .1.3.6.1.4.1.2021.58 hdOutBlocks /usr/local/bin/snmpdiskio hdOutBlocks

然后重启snmpd服务,运行下面的命令测试

snmpwalk –v 2c –c public 192.168.1.100  .1.3.6.1.4.1.2021.54

 

错误解决:

如果出现/usr/local/bin/snmpdiskio hdOutBlocks error

打开snmpdiskio文件,看第一行是否是#!/bin/bash

如果缺失,添加上去。

不过实际应用中发现,被监控端可以不做任何修改。

Diskio模板导入后:

 

3.3 Tomcat status模板

首先下载模板,用的是TomcatStats-0.1.zip的版本。

下载地址:http://forums.cacti.net/viewtopic.php?f=12&t=19744

Tomcat被监控端配置:

进入tomcat的配置文件目录tomcat/conf/,修改tomcat-user.xml文件,新建用户:

    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager"/>
    <role rolename="admin"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/> 
    <user username="tomcat" password="tomcat"     roles="admin,manager,role1,tomcat,admin-gui,admin-script,manager-gui,
    manager-script,manager-jmx,manager-status" />  

记住所建的用户名和密码tomcat,后面服务器配置会用到,然后保存,重启tomcat服务。

Server服务端配置:

1.安装依赖包XML::Simple

Tomcat监控脚本tomcatstats.pl获取到tomcat服务器的数据后会利用XML::Simple来解析,所以需要安装相关软件。在终端中输入如下命令安装:

perl –MCPAN -e “install XML::Simple”

2.解压缩TomcatStats-0.1.zip文件,并进入目录,把tomcatstats.pl文件拷贝到cactiscripts目录下:

> unzip TomcatStats-0.1.zip
> cd TomcatStats-0.1
>cp tomcatstats.pl /opt/lamp/htdocs/cacti/scripts

3.导入模板cacti_host_template_tomcat_server.xml,按照前文所述方法,将模板导入。然后在Host Template中可以看到该模板:

4.修改Tomcat Status

进入cacti---> console (控制台)--> Data Input Methods(数据输入方法) ---> Tomcat Status,修改Input String(输入流) 中原

perl /scripts/tomcatstatus.pl <host:port> admin passwords http-8080

修改为:

perl /scripts/tomcatstatus.pl 192.168.1.101:8080 tomcat tomcat \“http-bio-8080\”

这里面的8080端口是tomcat的实际端口,按照实际配置修改,两个tomcat是前面创建的用户名和密码,“\””这个斜杠加双引号是转义字符。

5.测试

安装配置好之后,测试是否正常,在终端输入命令:

>cd /opt/lampp/htdocs/cacti/scripts/
>./tomcatstatus.pl 192.168.1.101:8080 tomcat tomcat \“http-bio-8080\”

有如下数据,说明一切ok

jvm_memory_free:205377864 jvm_memory_max:954466304 jvm_memory_total:301203456 connector_max_time:1015226 connector_error_count:2243 connector_bytes_sent:1599068002 connector_processing_time:9931650 connector_request_count:89363 connector_bytes_received:7268740 connector_current_thread_count:4 connector_min_spare_threads:0 connector_max_threads:150 connector_max_spare_threads:0 connector_current_threads_busy:1

6.关于有图无数据的问题排除:

如果在第五步没有数据显示,尝试如下修改:修改tomcatstatus.pl文件,将

My $xml = ‘GET $url’;

改为:

My $xml = ‘wget –qO -  $url’;

如果在第5步有数据但是图上没有数据,可以尝试把 Templates(模板) -->Graph Templates(图形模板)--(没有出来图的模板)-- Unit Grid Value (--unit/--y-grid) 中清空。

7.到现在为止,这个模板还是不能对一台机器的多个tomcat进行监控,当前也是只监控了一个。

 

你可能感兴趣的:(模板,ubuntu,cacti)