Zabbix监控JVM(微服务进程)_zabbix java 微服务

1、  每个进程是直接以java-jar service.jar的方式启动,并没有依赖于tomcat或者其他web应用。

2、  每台服务器上的微服务并没有固定的数量,可以灵活的增加或者减少。

3、  每个微服务的启动参数已有配置端口很多。

鉴于此种情况,传统的监控方法监控微服务,会造成经常的手动去增加删减web页面配置,服务器内的端口管理也会很混乱。

所以使用discovery自动发现的方式去监控微服务。并将每个微服务的信息通过zabbix_sender发送到ZabbixServer端。

首先java版本为jdk1.8

# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

关于微服务的信息主要通过jstat获取,如下

# ps -ef|grep java
root     28131     1  0 11:17 ?        00:00:56 java -Xms100M -Xmx500M -Xmn150M -jar /data/work/service_jar/manageMiddle.jar --server.port=20000 --management.port=20001 --config.profile=test
root     28305     1  0 11:26 ?        00:00:51 java -Xms100M -Xmx300M -Xmn100M -jar /data/work/service_jar/resourceService.jar --server.port=18000 --management.port=18001 --config.profile=test
root     29067     1  0 11:59 ?        00:00:54 java -Xms100M -Xmx500M -Xmn150M -jar /data/work/service_jar/systemService.jar --server.port=21000 --management.port=21001 --config.profile=test
root     31345 29980  0 14:03 pts/0    00:00:00 grep --color=auto java
# jstat -gcutil 28131
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
 67.75   0.00  74.28  81.92  97.29  94.90     74    1.248     7    1.065    2.313
# jstat -gc 28131
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
14336.0 14848.0 9712.2  0.0   122880.0 91488.9   55808.0    45716.6   56704.0 55169.1 7296.0 6924.1     74    1.248   7      1.065    2.313

关于输出结果的参数解释

S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)

NGCMN:年轻代(young)中初始化(最小)的大小 (字节)

NGCMX:年轻代(young)的最大容量 (字节)

NGC:年轻代(young)中当前的容量 (字节)

OGCMN:old代中初始化(最小)的大小 (字节)

OGCMX:old代的最大容量 (字节)

OGC:old代当前新生成的容量 (字节)

PGCMN:perm代中初始化(最小)的大小 (字节)

PGCMX:perm代的最大容量 (字节)

PGC:perm代当前新生成的容量 (字节)

S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比

S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比

E:年轻代中Eden(伊甸园)已使用的占当前容量百分比

O:old代已使用的占当前容量百分比

P:perm代已使用的占当前容量百分比

S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)

S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)

ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)

<
### 回答1: 可以使用ZabbixJava Gateway来监控Spring微服务JVM。首先需要在Zabbix Server上安装Java Gateway,并在Zabbix Web界面上配置Java Gateway的主机和端口。然后在Spring微服务JVM参数中添加JMX监控参数,并在Zabbix Web界面上添加JMX监控项和触发器来监控JVM的性能指标。具体的配置方法可以参考Zabbix官方文档或者相关的技术博客。 ### 回答2: Zabbix是一款流行的开源监控工具,可以用于监控各种服务器和应用程序。如果我们想要监控Spring微服务JVM,可以通过以下步骤来实现。 首先,我们需要在Zabbix服务器上安装并配置Zabbix Agent。Zabbix Agent是一个在被监控主机上运行的软件,可以收集各种指标并将其发送到Zabbix服务器。 接下来,我们需要在Spring微服务的服务器上安装并配置Zabbix Agent。这样,Zabbix Agent将能够连接到Zabbix服务器,并传输JVM的指标数据。 然后,我们需要在Zabbix服务器上创建一个新的主机,用于监控Spring微服务JVM。我们需要指定主机的IP地址和其他相关信息,并将其与之前安装的Zabbix Agent关联起来。 一旦主机创建完毕,我们可以开始配置监控项。监控项定义了我们希望收集的特定指标,如内存使用情况、垃圾回收时间等。对于JVM监控,常见的监控项包括堆内存使用率、线程数、垃圾回收时间等。 配置完监控项后,我们还可以创建触发器和动作。触发器用于定义何时触发警报,而动作则定义了在触发警报时采取的操作,如发送电子邮件或短信通知。 最后,我们可以将监控结果以图表或图形的形式展示在Zabbix的仪表板上。这样,我们就可以实时监控Spring微服务JVM性能,并及时进行故障排除和性能优化。 总而言之,通过安装并配置Zabbix Agent,创建主机、监控项、触发器和动作,并展示监控结果,我们可以使用Zabbix监控Spring微服务JVM。这样,我们可以及时发现和解决潜在的性能问题,提高应用程序的可靠性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值