mofdan 发表于 2019-1-11 06:52:54

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

3.监控模板安装配置

Cacti许多牛人编写各种模板并免费提供,用于监控各种应用,目前我们用到了Apache,DiskIO,tomcat,memcache,Nginx和MongoDB这几个模板。
先讲一下模板的导入,在cacti的主界面上,点左侧面板上的 “Import Template”来导入模板,“Export Template”导出模板。
file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml11clip_image002.jpg

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的状态

SetHandler server-status
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 10.42.97.144#允许通过web方式访问的IP



3.解压模板文件


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


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


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


5.导入监控模板
用本节开头所说的方式把apache监控模板cacti_host_template_webserver_-_apache.xml导入cacti环境。导入后看到的如下:
file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml11clip_image004.jpg



3.2 DiskI/O模板

Cacti监控磁盘IO情况是通过snmp来实现的。首先下载模板snmpdiskio-0.9.4。但是这个版本有点问题,不支持linux2.6内核,需要通过手动修改升级为0.9.6版本才可以。并且这个模板不太好找,当时找到费了很大的劲。安装方法:
Server端:
把partition.xml放在cacti的/cacti/resource/script_queries/目录下,
并在hdDescr:hdName:hdIndex之后添加一句   :
      hdDescr:hdIndex
把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模板导入后:
file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml11clip_image006.jpg
file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml11clip_image008.jpg


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文件,新建用户:


   
   
   
   
   
   
   
   
   
   
      


记住所建的用户名和密码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文件拷贝到cacti的scripts目录下:


> 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中可以看到该模板:
file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml11clip_image010.jpg
4.修改Tomcat Status
进入cacti---> console (控制台)--> Data Input Methods(数据输入方法) ---> Tomcat Status,修改Input String(输入流) 中原


perl /scripts/tomcatstatus.pladmin passwords http-8080


修改为:


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


这里面的8080端口是tomcat的实际端口,按照实际配置修改,两个tomcat是前面创建的用户名和密码,“\””这个斜杠加双引号是转义字符。
file:///C:DOCUME~1ADMINI~1LOCALS~1Tempmsohtml11clip_image012.jpg
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进行监控,当前也是只监控了一个。



页: [1]
查看完整版本: Ubuntu12.04平台安装cacti全过程(五)