yum install net-tools      netstat命令
yum -y install bash-completion 命令自动补全包

https://github.com/qiueer/zabbix

 

基本监控流程:被监控端开启snmp或安装agent-----》zabbix端添加主机监控------》添加模板----》添加触发器

一、使用JMX(使用Zabbix Java Gateway代理)监控java应用

1、zabbix-server端安装:

#安装服务包
yum install -y http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-java-gateway-3.4.1-1.el7.x86_64.rpm
yum -y install java-1.8. #配置文件
vim /etc/zabbix/zabbix_java_gateway.conf #配置文件,默认不需要修改 #启动服务
systemctl start zabbix-java-gateway.service #查看状态
[root@zabbix ~]# netstat -luntp|grep java
tcp6 ::: :::* LISTEN /java #配置zabbix-server文件
vim /etc/zabbix/zabbix_server.conf
JavaGateway=10.0.0.200 #JavaGateay地址(zabbix-server地址)
JavaGatewayPort= #监控端口
StartJavaPollers= #监控JavaGateway的轮询进程 #重启zabbix-service
systemctl restart zabbix-server.service

  

2、因是实验环境,故简单安装java应用,便于监控测试(实验使用)

详细安装过程请移步:http://blog.oldboyedu.com/java-tomcat/ 

约定:

  软件放置目录:/usr/local/src
安装路径:/etc/应用名

  2.1、下载jdk(这里选择jdk8)

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  2.2、安装jdk

[root@tomcat src]# pwd
/usr/local/src
[root@tomcat src]# tar xf jdk-8u171-linux-x64.tar.gz /etc/
[root@tomcat src]# ln -s /etc/jdk1..0_171/ /jdk sed -i.ori '$a export JAVA_HOME=/etc/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile source /etc/profile [root@tomcat src]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) -Bit Server VM (build 25.171-b11, mixed mode)
[root@tomcat src]#

  2.3、安装tomcat

  下载地址:https://tomcat.apache.org/download-80.cgi

  

#安装tomcat应用
cd /usr/local/src/ wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz
tar xf apache-tomcat-8.5.28.tar.gz
mv apache-tomcat-8.5.28 /usr/local/
ln -s /usr/local/apache-tomcat-8.5.28/ /usr/local/tomcat #启动服务
[root@localhost src]# /usr/local/tomcat/bin/startup.sh #查看服务状态
[root@localhost src]# netstat -luntp|grep 8080
tcp6 0 0 :::8080 :::* LISTEN 10420/java


#下载安装 catalina-jmx-remote.jar 这个文件放置到Tomcat/lib目录下
[root@tomcat lib]# ll /etc/tomcat/lib/catalina-jmx-remote.jar
-rw-r--r-- root root Jun /etc/tomcat/lib/catalina-jmx-remote.jar

#修改server.xml配置文件
[root@tomcat lib]# vim  /etc/tomcat/conf/server.xml
<Server port="" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="" rmiServerPortPlatform="" />
注释:33和34行内容是新添加的内容,其他均不用修改

#开启JMX远程监控
vim /etc/tomcat/bin/catalina.sh
添加到Execute The Requested Command 位置下,在最后添加不生效!!!!!!!!!

CATALINA_OPTS="$CATALINA_OPTS
-Djava.rmi.server.hostname=122.114.10.146
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false" #重启进程
/etc/tomcat/bin/shutdown.sh
/etc/tomcat/bin/startup.sh #查看端口
[root@tomcat ~]# netstat -luntp
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java
tcp6 ::: :::* LISTEN /zabbix_agentd
tcp6 127.0.0.1: :::* LISTEN /java
tcp6 ::: :::* LISTEN /java

  3、修改防火墙

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

下载测试:

测试法1:

()下载cmdline-jmxclient-0.10..jar文件,下载地址http://crawler.archive.org/cmdline-jmxclient/downloads.html
()本地执行如下命令查看tomcat的堆内存信息
java -jar cmdline-jmxclient-0.10..jar - 122.114.10.146: java.lang:type=Memory HeapMemoryUsage
// :: + org.archive.jmx.Client HeapMemoryUsage:
committed:
init:
max:
used:
测试方法2:

  

 3、zabbix-server服务web端配置

配置--》主机---添加主机

注:显示添加完成后,注意看出图情况,我的显示正常出图,再次就不截图了!!!!

自此监控就添加完成,但监控java或tomcat的模板大部分是没有用的,需要我们自己修改,请查 zabbix日常监控项java(四又分之一)

zabbix日常监控项java(四)的更多相关文章

  1. zabbix日常监控项java(四又分之一)

    因zabbix自带监控JMX的模板通用性差的问题,需要我们自己新建一个属于自己的模板,于是本文就出现了.... 大部分都是参考网上其他博主的文档,在此作为梳理.总结:以方便自己日后使用查询.

  2. zabbix日常监控项mysql(七)

    参考文档: percona官方文档:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html za ...

  3. zabbix日常监控项nginx(五)

    1.开启nginx监控 2.编写脚本来进行数据采集 3.设置用户自定义参数 4.重启zabbix-agent 5.添加item.创建图形.创建触发器 6.创建模板 注:第一次使用可以按需求制定好模板, ...

  4. zabbix日常监控项web(八)

    存在一种情况:nginx或者httpd服务本身运行正常,但是网页挂了,类似于网页被黑,或者40X之类的...:可以用zabbix把web页面访问也监控起来,第一时间得知web崩溃信息并做相应处理. 被 ...

  5. zabbix日常监控项TCP连接状态(六)

    TCP的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击,或是time_wait值比较高的话,我们要考虑看 ...

  6. zabbix添加自定义监控项

    zabbix添加自定义监控项 author:headsen  chen   2017-10-16  17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...

  7. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  8. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  9. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

随机推荐

  1. nginx 学习笔记(3) nginx管理

    nginx可以通过向其发送信号来进行管理.默认情况下主进程的进程ID写到文件/usr/local/nginx/logs/nginx.pid中.当然也可以在配置文件中自定义该pid文件,自定义使用pid ...

  2. Ripple(瑞波币)validator-keys-tool 配置验证器

    目录 Ripple(瑞波币)validator-keys-tool配置验证器 验证器密钥工具指南 验证器密钥 验证器令牌(Validator Keys) public_key撤销 签名 Ripple( ...

  3. C#byte类型

    byte类型的范围是0~255转换为二进制是00000000~11111111 ---------------------------------------------------------- C ...

  4. ionic组件清单

    整理时间:2017-5-22 官网版本:v3.2.0 / 2017-05-10 / MIT Licensed / Release Notes

  5. C# byte 和 char 转化

    C#  byte 和 char 可以认为是等价的.但是在文本显示的时候有差异.   c# 使用的是unicode字符集,应该和为ascii相互转换 只能转换到字符的unicode编码,或者由unico ...

  6. SQL查询几种的区别。

    最近看了几篇SQL查询的文章做一下总结哦,大概简记如下: SQL查询的实质是,是指从数据库中取得数据的子集,可以先取列子集,然后再取符合条件的行子集. 1.单表查询: SELECT [Name] ,[ ...

  7. MyEclipse关闭当前正在编辑的页面

    如果要关闭当前正在编辑的页面Ctrl + W 例如: 按下Ctrl + W 只会关闭Const.java这个页面 如果要关闭所有打开的页面Ctrl + Shift + W 例如:按下Ctrl + Sh ...

  8. Java Tools &Tools APIs

    java 启动Java应用程序 javac Java编译器javac读取用Java编写的源文件,并将它们编译为字节码类文件. 用法: javac <options> <source ...

  9. gRPC 的 RoadMap 20151022 更新

    gRPC是一个高性能.通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发 ...

  10. 高并发第十二弹:并发容器J.U.C -- Executor组件FutureTask、ForkJoin

    从本章开始就要说 Executor 的东西了.本次讲的是一个很常用的FutureTask,和一个不是那么常用的ForkJoin,我们现在就来介绍吧 引言 大部分时候创建线程的2种方式,一种是直接继承T ...