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. JAVA 图像操作辅助类

    package util; import java.awt.Component; import java.awt.Image; import java.awt.MediaTracker; import ...

  2. Apache POI导出excel

    public String exportXls(HttpServletRequest request, HttpServletResponse response) { try { HSSFWorkbo ...

  3. 【ASP.NET Core】处理异常--转

    老周写的[ASP.NET Core]处理异常非常的通俗易懂,拿来记录下. 转自老周:http://www.cnblogs.com/tcjiaan/p/8461408.html 今天咱们聊聊有关异常处理 ...

  4. Spring Boot 不使用默认的 parent,改用自己的项目的 parent

    在初学spring boot时,官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent 这个parent: <parent> <group ...

  5. 在PHP中使用MySQL Mysqli操作数据库 ,以及类操作方法

    先来操作函数部分,普遍的MySQL 函数方法,但随着PHP5的发展,有些函数使用的要求加重了,有些则将废弃不用,有些则参数必填... ================================= ...

  6. JavaScript文档对象模型

    文档对象模型(Document Object Model, DOM)是W3C提出的用于访问和修改文档的接口. JavaScript设计的初衷是为Web提供交互功能,它通过DOM接口来访问和修改文档. ...

  7. 问题集录--Java高级软件工程师面试考纲(转)

    如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对 ...

  8. 阿里云提示ECS服务器存在漏洞处理方法

    1.阿里云提供生成修复命令,但是这个只提供给企业版,即收费的: 2.自己手动修复的话, 采用软件升级一般都可以解决.除了提示带kernel的高危漏洞的,其他的不需要重启实例即可修复. 有kernel的 ...

  9. C#共享内存整理

    1.System.IO.MemoryMappedFiles 内存映射文件类 内存映射文件将文件的内容映射到应用程序的逻辑地址空间. 内存映射文件使程序员得以处理极大的文件(这是因为可以并发管理内存), ...

  10. JavaScript 函数使用return返回值

    我们可以把数据通过函数的 参数 来传入函数,也可以使用 return 语句把数据从一个函数中传出来. 举个栗子 function plusThree(num) {return num + 3;}var ...