cacti监控jvm

Cacti是一套基于PHPMySQLNet-SNMPRRDTool开发的网络流量监测图形分析工具。它通snmpget来获取数据,使用RRDtool绘画图形,提供了非常强大的数据和用户管理功能,同时也能增加模板,实现自定义系统状态检测。

 

Cacti所依赖的各个组件及其作用:

Apache2web服务器

Net-snmp用来获取远程主机的数据(数据采集)

rrdtool存储采集的数据,绘图

Mysql:存储用户信息、模版及配置信息等

spine(可选)spine是一个cacti的轮询器(定时数据采集器),相比默认的cmd.php有更高的效率

 

Cacti安装(示例系统环境:Ubuntu12.04.2 LTS)

 

一、安装LAMP服务

$ sudo apt-get install apache2
$ sudo apt-get install mysql-server
$ sudo apt-get install php5

二、修改apache2默认根目录权限

$ sudo chmod 777 /var/www

三、安装NET-SNMP

通过Ubuntu软件源安装的net-snmp($ sudo apt-get install snmp snmpd)版本比网上的教程高,配置文件不一样,应此这里是到官网上下载较低版本http://downloads.sourceforge.net/project/net-snmp/net-snmp/EndOfLine/5.1.4.2/net-snmp-5.1.4.2.tar.gz,手动安装

$ tar -zxf net-snmp-5.1.4.2.tar.gz
$ cd net-snmp-5.1.4.2/
$ sudo apt-get install libperl-dev       							#net-snmp依赖包
$ ./configure

出现输入提示时除 Defaultversion of SNMP to use 2 其他可以直接回车采用默认

$ make
$ sudo make install
$ cp EXAMPLE.conf snmpd.conf	
$ vim snmpd.conf

找到

#       sec.name  source          community
com2sec local     localhost       COMMUNITY
com2sec mynetwork NETWORK/24      COMMUNITY

改成

com2sec local     localhost       public
com2sec mynetwork 10.209.0.0/16   public

参数简介

sec.name安全体名字

source定义请求的来源,在net-snmp中对来源ip进行访问控制,可填具体ip地址或网段

community共同体的名称

并在snmpd.conf文件末尾添加

proxy -v 2c -c public localhost:1161 .1.3.6.1.4.1.42

表示可以通过net-snmp代理访问jvm snmp

$ cd $JAVA_HOME/jre/lib/management
$ vim management.properties

找到

# com.sun.management.snmp.port=<port-number>

改成

com.sun.management.snmp.port=1161

找到

#com.sun.management.snmp.interface=0.0.0.0

去掉#

$ cp snmp.acl.template snmp.acl
$ vim snmp.acl								#配置JVM其允许通过snmp访问权限

找到

# acl = {
#  {
#    communities = public, private
#    access = read-only
#    managers = localhost
#  }
# }
# 
# 
# trap = {
#   {
#     trap-community = public
#     hosts = localhost 
#   }
# }

去掉所有的#

$ chmod 600 management.properties snmp.acl

进入tomcat目录,修改其jvm启动参数

$ vim startup.sh

在文件前面添加(如果已配置JRE_HOME环境变量可不要第一行)

export JRE_HOME=$JAVA_HOME/jre
CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=1161 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
export CATALINA_OPTS

添加tomcat用户,在conf/tomcat-users.xml添加

<user username="admin" password="123" roles="admin,manager"/>

$ ./startup.sh													#启动tomcat

net-snmp-5.1.4.2目录启动snmpd服务,若先前已执行sudoapt-get install snmp snmpd,则需要sudo /etc/init.d/snmpd stop

$ sudo snmpd -f -Lo udp:161 -C -c snmpd.conf  &				#后台运行snmpd服务

验证net-snmp是否正常工作

$ netstat -anutl
$ snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.42

能出现161和1161的端口,这表明net-snmp和jvm能监听snmp客户端请求

能出现jdk相关的信息,这表明可以通过net-snmp采集jvm相关数据

 

三、安装RRDTool

$ sudo apt-get install rrdtool

四、安装php模块

$ sudo apt-get install php5-mysql php5-cgi php5-cli php5-snmp php-pear

五、安装Cacti

下载cacti http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

$ mv cacti-0.8.8a.tar.gz /var/www				#将Cacti解压到apache2默认根目录
$ cd /var/www
$ tar xzf  cacti-0.8.8a.tar.gz
$ mv cacti-0.8.8a cacti
$ rm cacti-0.8.8a.tar.gz


创建cacti数据库

$ cd /var/www/cacti
$ mysqladmin -u root -p create cacti
$ mysql -u root -p cacti < cacti.sql

配置cacti数据库连接

$ vim /var/www/cacti/include/config.php

修改数据库连接变量值


六、运行Cacti

实现cacti定时采集数据

$ crontab -e

选择某一编辑器后在末尾添加

*/5 * * * * /usr/bin/php /var/www/cacti/poller.php &> /dev/null

表示每隔5分钟执行一次脚本进行数据采集

重启apache2服务

$ sudo /etc/init.d/apache2 restart

访问http://localhost/cacti/

出现设置页面,保持默认设置,默认用户名是admin,密码是admin

 

七、使用Cacti监控Tomcat

下载Tomcat模板 http://vdisk.weibo.com/s/yczLV

解压至某一目录

修改tomcatstats.plmy $xml = `GET $url`修改为my $xml = `wget -qO - $url`

输入http://127.0.0.1/cacti/templates_import.php(或点击左侧Import Templates导航

导入cacti_host_template_tomcat_server.xml

成功导入模板会在页面显示导入项

tomcatstats.pl到/var/www/cacti/scritps

输入http://127.0.0.1/cacti/data_input.php(或点击左侧Data Input Methods导航)

点击列表项Tomcat Status

找到

perl<path_cacti>/scripts/tomcatstats.pl <hostname>:8444 admin passwordshttp-8080

改为

perl<path_cacti>/scripts/tomcatstats.pl <hostname>:8080 admin 123http-8080

(<path_cacti>,<hostname>相当于系统参数,会由系统替换成相应的值


安装 XML::Simple使得perl能解析xml

$ perl -MCPAN -e"install XML::Simple"

输入http://127.0.0.1/cacti/host.php(或点击左侧Devices导航)

点击Add添加主机模板,Description填写tomcatHostname填写127.0.0.1Host Template选择Tomcat Server,其他配置默认,点击create按钮

点击Create Graphs for this Host,在Graph Template Name栏选中所有模板复选框,点击create按钮

点击Edit this Host回到配置该Device页面

点击Data Source List配置数据源,点击Add,在Selected DataTemplate中选中Tomcat Status,点击Create,在点击Save

输入http://127.0.0.1/cacti/host.php,显示Devices列表

在列表中选中tomcat后面的复选框,Choosean action选择Place on a Tree(Default Tree)

点击上方的graphs按钮,在Tree中可以查看TomcatConnection RateHeapStatisticsThread StatisticsThroughput统计图

Tomcat - Connection RateTomcat - Heap Statistics不能绘制图,可以输入http://127.0.0.1/cacti/graph_templates.php,分别选中Tomcat - Connection RateTomcat - Heap Statistics,将Unit Grid Value设置为0,点击Save按钮

 

八、使用Cacti监控JVM

下载模板http://forums.cacti.net/download/file.php?id=8314

导入cacti_host_template_jvm_host.xml

添加Device,Description填写jvm,Hostname填写127.0.0.1,Host Template选择JVMHost主机模板,DownedDevice Detection选择Ping or SNMP Uptime,SNMP Version选择Version 2,其他默认,创建

点击CreateGraphs for this Host,选中所有图形模板,创建

点击Edit this Host回到该Device的配置页面

点击Data Source List选中所有的数据源,选择Enable动作,执行

Devices列表中选中jvm后面的复选框,选择Place on a Tree(Default Tree)动作,执行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值