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使用记录

    配置常见解释: ########### 每个指令必须有分号结束.################# #user administrator administrators; #配置用户或者组,默认为no ...

  2. ANTLR4权威指南 - 第7章 通过特定应用程序代码解耦语法

    第7章 通过特定应用程序代码解耦语法 到目前为止,我们已经知道了怎么用ANTLR的语法来定义语言了,接下来我们要给我们的语法注入一些新的元素了.就语法本身而言,其用处并不大,因为它只能告诉我们一个用户 ...

  3. for in可遍历原型链上扩展的属性,Object.keys() 只遍历自身属性

    一.for in 1.使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问: Object.prototype.say="cgl"; // 修改Object.pr ...

  4. ZUI分页器的使用案例(ECLIPSE SMS项目)

    不足:并未编写导出功能 HTML代码: <form action="${basePath}/SMSLogList.cwai" method="post" ...

  5. 遍历FTP目录及下载

    操作ftp,直接在main方法中即可操作. 例1:遍历ftp目录中的文件 public static void main(String[] args) throws IOException { FTP ...

  6. Java Swing实战(五)表格组件JTable(1)

    dbPanel面板的配置告一段落. 接下来配置taskPanel 面板. /** * @author: lishuai * @date: 2018/11/26 13:51 */ public clas ...

  7. Merge into用法

    简单的例子:好记性不如烂笔头 其基本语法规则是 merge into 目标表 a using 源表 b on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……) when ...

  8. 说说HTML5中label标签的可访问性问题——张鑫旭

    一.开篇叨叨 一般稍微有些经验的页面制作人员都知道label标签可以优雅地扩大表单控件元素的点击区域,例如,单纯的单选框点击区域就鼻屎那么大的地方,经常会点不到位置.因此,label标签的使用对于提高 ...

  9. 原生javascript实现图片自动轮播和点击轮播代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. nodejs做的一个测试端口程序

    最近在学习nodejs的http,然后做了一个测试域名有没有使用那些端口,原意是用来做一个本地的静态服务器,然后运行前先测试端口,首先要用到的是net模块,主要用到的是Socket,判断其连接状态即可 ...