一、cacti监控jvm
安装前提得有jdk环境
安装jdk,可以使用.bin、压缩包等
1、上传jdk.bin 或从其他服务器上拷贝java目录到/usr/local目录下,执行第五步之后即可
2、赋权chmod +x jdk.bin
3、./jdk.bin
4、cp jdk-xxx /usr/local/java
5、vi /etc/profile
添加如下
JAVA_HOME=/usr/local/java
CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASS_PATH PATH
6、#source /etc/profile 是修改立即生效
1、 配置JVM其允许通过snmp 访问权限
/usr/local/java/jre/lib/management/
配置snmp.acl文件,直接拷贝在snmp.acl.template
#cp snmp.acl.template snmp.acl
修改如下
#vim snmp.acl
acl = {
{
communities = public, private
access = read-only
managers = 192.168.2.194 注: 该IP 为cacti 服务器的IP地址
}
}
trap = {
{
trap-community = public
hosts = 192.168.2.194
}
}
2、设置被监控的主机监听端口
# vim management.properties management.properties.bak
重新建立文件management.properties,并添加一下内容
#vim management.properties
com.sun.management.snmp.port=1161 # 监听的端口,即是snmp的代理端口
com.sun.management.snmp.interface=192.168.2.153 #绑定的IP地址
3、设置配置文件的权限,及其所属主,须只能为启用JVM的用户只读,否则不能工
#chmod 600 management.porperties snmp.acl
#chown tomcat management.porperties snmp.acl
4、修改JVM 的启动参数,如tomcat、jboss或以jar包为基础的程序
#vim /etc/rc.d/init.d/tomcat
CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs -Dcom.sun.management.snmp.port=1161"
5、下载jvm监控模块并导入cacti中
http://forums.cacti.net/about19761.html
6, cacti 里添加选择jvm-host 模板协议选择 snmp 2 graph templates: (这几个参数现在也不清楚干嘛用的)
1) JVM GC Stats
2) JVM Heap Usage
3) JVM Non-Heap Usage Script
4) JVM Thread Count Scripts
二、 windows下通过java自带工具jvisualvm 或jconsole 监控java程序。
在java程序启动脚本中加入如下几个参数,在jvisualvm输入需要连接服务器ip端口即可
-Djava.rmi.server.hostname=112.xx.dd.xx -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
如果有在客户端无法连接,查看防火墙端口是否开放,多个端口,通过 查看启动的java程序使用的端口。
-Dcom.sun.management.jmxremote.port 远程主机端口号的
-Dcom.sun.management.jmxremote.ssl=false 是否使用SSL连接
-Dcom.sun.management.jmxremote.authenticate=false 是否开启远程服务权限
-Djava.rmi.server.hostname 远程主机名,使用IP地址
三、监控mongodb 不采用密钥方式
参考地址 http://hi.baidu.com/dekar/item/357ed8f2acdd887e3c198b3a
1、下载模板
wget http://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
2、将ss_get_by_ssh.php copy到cacti/scripts下
修改
function mongodb_cmdline ( $options ) {
return "echo "db._adminCommand({serverStatus:1, repl:2})" |mongo";
}
为
function mongodb_cmdline ( $options ) {
return "echo "db._adminCommand({serverStatus:1, repl:2})" | /root/mongodb/bin/mongo";
}
找到此函数get_command_result
更改
$final_cmd = $use_ssh ? "$ssh '$cmd'" : $cmd;
为
$final_cmd = "$cmd $options[host]";
3、测试
php /var/www/html/cacti/scripts/ss_get_by_ssh.php --type mongodb --host 127.0.0.1 --items c,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt,du
返回如下基本正常
de:570425344 df:1475346432 dg:6311520 dh:6311520 di:0 dj:0 dk:8993 dl:152949 dm:17 dn:4 do:243935 dp:139144 dq:2528846 dr:60 ds:1991 dt:22060 du:-1
php /var/www/html/cacti/scripts/ss_get_by_ssh.php --type mongodb --host 192.168.16.150 --items c,de,df,dg,dh,di,dj,dk,dl,dm,dn,do,dp,dq,dr,ds,dt
de:570425344 df:1475346432 dg:6311520 dh:6311520 di:0 dj:0 dk:8993 dl:152949 dm:17 dn:4 do:243935 dp:139144 dq:2528846 dr:60 ds:1991 dt:22060