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. Spring的@Scheduled任务调度

    一. 定时任务实现方式 定时任务实现方式: Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务.使用这种方式可以让你的程序按照某一个频度执行 ...

  2. CentOS探索之路3---安装python3

    安装Python3 总述 ​ 一般来说Linux类型的操作系统都会自带安装python,但是系统默认安装的python都是2.x的版本.而现在一般使用的是python3.x版本,相比于python2. ...

  3. JAVA-7NIO之Socket/ServerSocket Channel

    一.ServerSocketChannel Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样.Ser ...

  4. Golang panic用法

    Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...

  5. Golang 知识图谱

  6. Qt5 编程基础

    Qt 是一个C++ GUI应用框架,Qt 具有良好的可移植性支持大多数桌面和移动操作系统并常用于嵌入式开发. Qt的发行版分为商业版和开源版,提供了Qt Creator作为轻量级IDE. Hello ...

  7. Linux下socket通信和epoll

    上一篇博客用多线程实现服务端和多个客户端的通信,但是在实际应用中如果服务端有高并发的需求,多线程并不是一个好选择. 实现高并发的一种方法是IO多路复用,也就是select,poll,epoll等等. ...

  8. zookeeper watcher

    ZooKeeper 的  watcher 机制主要包括客户端线程.客户端 WatchManager 和 ZooKeeper 服务器三部分. 工作方式:客户端在向 zk 服务器注册 Watcher 的同 ...

  9. Linux安装jdk,编写helloworld程序

    今天学习了Linux安装jdk,做个笔记记录一下. 第一步,确定Linux是32位的还是64位的,然后到oracle官网上下载对应版本的jdk,一般下载.tar.gz文件.查看Linux的版本的命令是 ...

  10. 小tip: base64:URL背景图片与web页面性能优化——张鑫旭

    一.base64百科 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息. 某人: 唉,我彻底废柴了,为何上面明明是中文,洒家却看不懂嘞,为什 ...