官网下载包模式安装tomcat的jmx进行zabbix监控

JMX的全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口,用来获取运行状况。在Zabbix 1.8以前,只能使用Zapcat来监控JMX,并需要修改源代码来支持,非常麻烦。另一种方法是使用jmx-cmd-client,他的作用是从命令行去获取JMX信息,可以在它的上层包装一个程序,用来获取JMX数据。

从Zabbix 2.0开始,内置了监控JMX的功能,叫做“Zabbix Java Gateway”,在Zabbix Server和Zabbix Proxy上启动名为“Zabbix Java Gateway”的进程,当需要获取JMX数据时,Zabbix Server会“问”JMX Gateway,然后JMX Gateway根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动的时候加上一些JVM参数,使得它可以支持使用端口监控JMX。

一    配置JDK

JDK官网为http://www.oracle.com/technetwork/java/javase/downloads

下载jdk安装包,解压并移动到/usr/local, 重命名为jdk目录

添加jdk的系统环境变量

vim /etc/profile

export JAVA_HOME=/usr/local/jdk

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

系统立即生效

source /etc/profile

使用java -version查看安装好的JDK

Zabbix服务端的配置操作(已有环境则不需要重复此步骤,即二、三步骤)

二 zabbix编译时添加的编译参数,需要重新编译zabbix,备份zabbix_server.conf和zabbix_agentd.conf文件

./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-java

添加JMX监控支持--enable-java

报错configure: error: Unable to find "javac" executable in path   安装sudo yum install java*

三  修改zabbix_java相关路径

设定Java gateway 监听的端口和进程个数

cd /usr/local/zabbix/sbin/zabbix_java

sudo vim settings.sh

# vim settings.sh

LISTEN_IP="0.0.0.0"

LISTEN_PORT=10052

PID_FILE="/tmp/zabbix_java.pid"

START_POLLERS=5

其中 LISTEN_PORT 和 LISTEN_IP 可以不配置,zabbix_java 会采用默认值。但是 PID_FILE 和 START_POLLERS 必须配置,尤其主意 START_POLLERS,若不配置 zabbix_java 依旧可以启动但是是不工作的。

2、修改zabbix_server文件

既然java gateway运行了,你要告诉zabbix server去哪里找java gateway,在配置文件中开启如下几项参数。

在zabbix_server添加以下文件
vi /usr/local/zabbix/etc/zabbix_server.conf
JavaGateway=127.0.0.1
JavaGatewayPort=10052         #和上面的LISTEN_PORT一样
StartJavaPollers=5      #这个数值要小于上面的START_POLLERS

这三项都需要配置,其中StartJavaPollers会被视为开关性质的参数。0或者未配置将被系统认为不具有Java信息抓取能力。这点在Zabbix JMX Monitoring Wiki中未提及,但是实际效果就是这样。同时Zabbix Proxy的配置文件解析中也有介绍此参数的含义。

3、启动zabbix_java

在zabbix的安装目录下找到zabbix_java目录路径,然后执行命令./startup.sh,并重启zabbix server。

查看zabbix_java进程:ps -aux |grep zabbix_java

自此Server端已经配置完成,下面配置Agent端的设定。

四  agent端的tomcat环境安装

安装JDK环境(请跳至第一步),并使用java -version查看安装好的JDK

值得注意的是使用yum安装的tomcat下极其不容易配置JMX,建议使用源码包安装

下载需要版本的tomcat源码包文件

解压并移动到/usr/local/目录下,重命名为tomcat

进入tomcat/bin/,执行./startup.sh

如果出现报错

touch: cannot touch ‘/usr/local/tomcat/logs/catalina.out’:No such file or directory

需要创建目录

mkdir /usr/local/tomcat/logs/

问题:使用tomcat/bin下的sh文件启动停止服务会出现

错误: 找不到或无法加载主类 org.apache.catalina.startup.Bootstrap  的报错

需要从官网下载非源码需要编译安装的源码包文件,其bin目录下会包含.jar文件

centos7下使用systemctl管理tomcat服务

在/usr/lib/systemd/system/下创建tomcat.service,写入如下的启动配置内容

[Unit]

Description=Tomcat

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

Environment=‘JAVA_HOME=/usr/local/jdk‘

Environment=‘CATALINA_PID=/usr/local/tomcat/bin/tomcat.pid‘

Environment=‘CATALINA_HOME=/usr/local/tomcat/‘

Environment=‘CATALINA_BASE=/usr/local/tomcat/‘

Environment=‘CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC‘

WorkingDirectory=/usr/local/tomcat

ExecStart=/usr/local/tomcat/bin/startup.sh

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

更新systemd管理库:systemctl daemon-reload

配置开机启动

systemctl enable tomcat

启动tomcat 
systemctl start tomcat 
停止tomcat 
systemctl stop tomcat 
重启tomcat 
systemctl restart tomcat

五  agent端配置

1、修改tomcat/bin/catalina.sh文件

修改catalina.sh文件,添加

CATALINA_OPTS="-Xms1024m -Xmx1024m

-XX:NewRatio=4

-XX:PermSize=192m

-XX:MaxPermSize=192m

-Xss256k

-XX:SurvivorRatio=4

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.authenticate=false   #不进行验证

-Dcom.sun.management.jmxremote.port=12345           #jmx远程监控端口

-Dcom.sun.management.jmxremote.ssl=false

-Djava.rmi.server.hostname=10.0.1.13"               #10.0.0.15是Agent的本地IP

就这种方式而言,需要注意的是catalina.sh中提供的默认变量名JAVA_OPTS和CATALINA_OPTS。由于JAVA_OPTS所添加的参数会在tomcat开启和关闭时都运行,所以如果你把 -Dcom.sun.management.jmxremote.port=12345写在JAVA_OPTS中,就会在关闭tomcat时出现如下错误,从而无法关闭。

Error: Exception thrown by the agent : java.rmi.server.ExportException : Port

already in use: 12345;nested exception is:

java.net.BindException: Address already in use: JVM_Bind

而CATALINA_OPTS只会在开启tomcat的时候运行,所以应该将这些配置写在CATALINA_OPTS中。

经过N多次测试在catalina.sh文件中添加上面的配置启动不了JMX程序,未做深入研究

后在网上找出以下配置,修改为以下配置则正确启动jmx,配置大概在242行左右

JAVA_OPTS="-Dcom.sun.management.jmxremote

-Djava.rmi.server.hostname=192.168.1.108

-Dcom.sun.management.jmxremote.port=6666

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false $JAVA_OPTS"

六  添加zabbix监控自定义项

1-1.添加监控主机

1-2.添加tomcat端catalina.sh中配置的信息,如:tomcat端的主机ip地址及启动监听的端口号

2-1.查看数据生成的图表

以上均是从网络上筛选并通过实际验证的解决结果进行总结

具体添加jmx监控主机详情请见附件中的图片

时间: 2024-10-13 06:44:49

官网下载包模式安装tomcat的jmx进行zabbix监控的相关文章

如何在的spring官网下载jar包问题

如何在改版的spring官网下载jar包问题 2014-04-17 08:46 粽子爱情 | 浏览 22341 次 第一步:打开官网:http://www.springsource.org/download/community: 第二步:点击图片 第三步:点击图标 第四步:找到如下链接,点击进去 第五步:再找到如下链接点击 第六步:点击artifacts标签 第七步:再在这个页面的左边菜单点击simple brower后再点击libs-release-local如下图 得到如下页面: 点击org

微赞,你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试.

你正在使用本地安装, 但未下载完整安装包, 请从微赞官网下载完整安装包后重试. 解决方法: 路径中不能中文.

怎样从官网下载Spring的jar包

第一种,简单粗暴直接http://repo.springsource.org/libs-release-local/org/springframework/spring/3.2.4.RELEASE/spring-framework-3.2.4.RELEASE-dist.zip直接粘到地址栏或者下载工具里,每次有更新只要改版本号就可以:第二种http://repo.springsource.org/libs-release-local/把这个粘到地址栏里,你会看到一个树型目录,然后就是一级一级往下

如何在改版的spring官网下载jar包(转)

原文出处:http://zhidao.baidu.com/link?url=2kj5XUZL6Iph1guhqNYh5oSaCJDaeKsYfJ050DBZSiio1e_cjW0Gnga_vDQl_dGwFHKvFS0ITrok48qz0rdcymTIGvT1pmNzhDzxjugqegq 第一步:打开官网:http://www.springsource.org/download/community: 第二步:点击图片 第三步:点击图标 第四步:找到如下链接,点击进去 第五步:再找到如下链接点击

中国寒龙社工包v3.34 6.1升级版本已经发布 具体请到官网下载!!感谢支持!~~~~~不会升级的请到咱们交流群!本程序在windowsxp下最为兼容 感谢支持!如果有BUG请反馈!!

寒龙社会工程包:http://pan.baidu.com/s/1dDcilBb当你看到 中国寒龙V3.34 6.1版本的发布  那么本工具包将更强大的 展现了工具包的价值! 本次开发由by:寒龙升级  感谢大家支持 如果有各位小组的支持 本人不谢感激! 当然本站内的工具包 可以提供专门店小组工具包 制作!承接QQ群:94588528 本次手动升级  修复一下几点的不足! v3.33版本出现的  各种打不开的问题 v3.33版本中出现 主程序远控不能配置的问题 v3.33版本 部分 文件夹不能打开

centos 7 官网下载安装mysql-server

官网下载安装mysql-server # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server 安装成功后重启mysql服务. # service mysqld restart 初次安装mysql,root账户没有密码. [[emai

Spring.之.jar包官网下载

jar包官网下载 1. 官网下载网址:http://repo.spring.io/libs-release 2. 用到的jar包所在路径:org/springframework/spring/ ,在此目录中,可以找到spring的所有版本信息. spring的最终所在路径 :http://repo.spring.io/libs-release/org/springframework/spring/ 如有问题,欢迎纠正!!! 如有转载,请标明源处:https://www.cnblogs.com/C

JDK - 官网下载、安装和环境配置

JDK - 官网下载.安装和环境配置 一.JDK官网下载和安装 1.先百度 ,进入Oracle官网(https://www.oracle.com/index.html): 2.下拉 ,点击"Top Actions"那一栏的"Downloads": 3.再下拉 ,点击"Java": 4.在Java那一栏 ,点击"Java SE": 5.(以最新版为例)点击"Java SE Downloads"下面的Java图

[Android编译(二)] 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

1 前言 经过一周的奋战,终于从谷歌官网上下载最新的android 6.0.1_r62源码,编译成功,并成功的刷入nexus6p,接着root完毕,现写下这篇博客记录一下实践过程. 2 简介 自己下载android系统源码,修改定制,然后编译刷入安卓手机,想想还有点小激动呢.简单点说一句话--定制我们自己的MIUI,这就是android的魅力,这篇博客博主就来教大家实现自己的定制系统. 首先,要明白下面的基础知识: (1) 什么是aosp? aosp就是android open source p