分布式应用:Zabbix监控Tomcat

这篇具有很好参考价值的文章主要介绍了分布式应用:Zabbix监控Tomcat。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、理论

1.Zabbix监控Tomcat

二、实验

1.Zabbix监控Tomcat

三、问题

1.获取软件包失败

 2.tomcat 配置 JMX remote monitor不生效

 3.Zabbix客户端日志报错


一、理论

1.Zabbix监控Tomcat

(1)环境

zabbix服务端:192.168.204.214

zabbix客户端:192.168.204.215

原理:

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(2)客户端安装tomcat(yum方式)

yum install tomcat -y

Systemctl start tomcat

cd /var/lib/tomcat/webapps

mkdir test

cd test

(3)添加动态网页内容

vim index.jsp                                                                   # 添加动态页面内容:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>

<head>

<title>test</title>

</head>

<body>

<% out.println("动态页面:test tomcat01");%>

</body>

</html>

#页面输出内容为test tomcat01,tomcat02服务器上则将01改为02方便查看实验效果

#创建动态资源页面

(3)修改配置
 

vim /etc/tomcat/server.xml
#修改主配置文件内容125行,原有内容不需要更改,对比此段内容添加即可

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlNamespaceAware="false">

<Context docBase="/var/lib/tomcat/webapps/test"

path="" reloadable="true" />

#指定自己的tomcat页面访问文件路径

(4)重新启动

systemctl restart tomcat

(5)服务端器安装zabbix-java-gateway

wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

(6)安装zabbix-java-gateway

 yum -y localinstall zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

(7)编辑gateway配置文件

vim /etc/zabbix/zabbix_java_gateway.conf

去掉LISTEN_IP、LISTEN_PORT(监听端口)、START_POLLERS(进程数)的注释符号

LISTEN_IP定义被监控机器的地址,不指定默认监听全部机器 编辑server配置文件

vim /etc/zabbix/zabbix_server.conf

定义以下3个配置参数:

JavaGateway=192.168.204.214

JavaGatewayPort=10052

StartJavaPollers=5

启动zabbix-java-gateway服务:

 systemctl start zabbix-java-gateway

重启zabbix-server服务:

systemctl restart zabbix-server

(4)查看监听端口

netstat -lntp |grep java

(5)开启JMX

客户端器编辑tomcat配置文件

vim /usr/libexec/tomcat/server

添加以下内容:

CATALINA_OPTS="$CATALINA_OPTS \
  -Dcom.sun.management.jmxremote \
  -Dcom.sun.management.jmxremote.port=8008 \
  -Dcom.sun.management.jmxremote.ssl=false \
  -Djava.rmi.server.hostname=192.168.204.215 \
  -Dcom.sun.management.jmxremote.authenticate=false"

hostname定义客户端地址,端口8008(默认12345)

(6)脚本、重启tomcat:

脚本

vim /opt/tomcat.sh

#!/bin/bash
a=`netstat -natp |grep 8080|awk '{print $6}'|grep 'LISTEN'`
if [[ $a = 'LISTEN' ]];then
   echo "0"  #表示tomcat启动中
else
   echo "1"  #表示tomcat未启动
fi


#添加权限
chmod 777 /opt/tomcat.sh

添加可识别配置文件

vim zabbix_agent2.conf

UserParameter=tomcat.status,source /opt/tomcat.sh
#实现对脚本的监控

chmod +s /bin/nestat
#加上权限,避免netstat在服务端报错

验证

zabbix_get -s '192.168.204.215' -p 10050 -k 'tomcat.status'

重启

systemctl restart tomcat

(7)查看监听端口9999

netstat -lntp |grep 8008

(8)进入zabbix前端页面添加主机

与普通情况添加监控主机不同,监控B机器的tomcat需要配置JMX接口 模板链接JMX相关的两个模板:

Template App Apache Tomcat JMX

Template App Generic Java JMX

当JMX图标变绿即表示配置成功

二、实验

1.Zabbix监控Tomcat

(1)安装

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(2) 启动

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(3)设置文件

 分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(4)监听端口

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维 (5)安装zabbix-java-gateway

下载

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 安装zabbix-java-gateway分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(6) 编辑gateway配置文件

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 去掉LISTEN_IP、LISTEN_PORT(监听端口)、START_POLLERS(进程数)的注释符号分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 LISTEN_IP定义被监控机器的地址,不指定默认监听全部机器

(7) 编辑server配置文件

 定义以下3个配置参数:

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 (8)启动zabbix-java-gateway服务

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 (9) 重启zabbix-server服务

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 (10)查看监听端口分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(11)开启JMX

客户端器编辑tomcat配置文件

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

重启 监听端口

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(12)脚本、重启tomcat

脚本

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 赋权分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

重启

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(13)验证

授权

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

验证

0是tomcat启动中

​​​​​​​分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(14)进入zabbix前端页面添加主机

进入zabbix前端页面添加主机

与普通情况添加监控主机不同,监控B机器的tomcat需要配置JMX接口 模板链接JMX相关的两个模板:

Template App Apache Tomcat JMX

Template App Generic Java JMX

当JMX图标变绿即表示配置成功:

 分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

监控项

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

监控JVM

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

(15)自定义监控tomcat

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

三、问题

1.获取软件包失败

(1)报错分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 (2)原因分析

证书过期

(3)解决方法

命令结尾附加

--no-check-certificate

成功

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 2.tomcat 配置 JMX remote monitor不生效

(1)原因分析

centos 7 上的 tomcat 配置 JMX remote monitor,由于tomcat安装方法的不同,jmx 配置方法也有所不同

(2)解决方法

配置 $CATALINA_OPTS

打开tomcat启动文件 /usr/libexec/tomcat/server,在变量 $FLAGS 赋值语句下面添加:

CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8008 \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=192.168.204.215 \
-Dcom.sun.management.jmxremote.authenticate=true \
-Dcom.sun.management.jmxremote.password.file=/usr/share/tomcat/conf/jmxremote.password \
-Dcom.sun.management.jmxremote.access.file=/usr/share/tomcat/conf/jmxremote.access"

配置分析:

-Dcom.sun.management.jmxremote: 启用 jmxremote 功能;
-Dcom.sun.management.jmxremote.port=8008:jmxremote 监听端口,用于客户端连接,样例设为 8008;
-Dcom.sun.management.jmxremote.ssl=false:是否启用 SSL 连接,样例设为 false;
-Dcom.sun.management.jmxremote.authenticate=true:开启用户认证连接;
-Dcom.sun.management.jmxremote.password.file=/usr/share/tomcat/conf/jmxremote.password:认证用户密码文件,样例设为 /usr/share/tomcat/conf/jmxremote.password;
-Dcom.sun.management.jmxremote.access.file=/usr/share/tomcat/conf/jmxremote.access:认证用户权限配置文件,样例设为 /usr/share/tomcat/conf/jmxremote.access。

如果不启用用户认证,将选项 Dcom.sun.management.jmxremote.authenticate 的值设为false,也无需再设置选项 Dcom.sun.management.jmxremote.password.file 和 Dcom.sun.management.jmxremote.access.file。

JMX 远程连接的用户认证文件
从 jre 的安装目录找到 jmxremote.access 和 jmxremote.password.template,复制到 $CATALINA_OPTS 中设置的认证文件位置,将 jmxremote.password.template 重命名为 jmxremote.password。

cp /usr/lib/jvm/jre/lib/management/jmxremote.access /usr/share/tomcat/conf/
cp /usr/lib/jvm/jre/lib/management/jmxremote.password.template /usr/share/tomcat/conf/jmxremote.password

jmxremote.access 文件末尾添加认证用户名和用户权限,示例中 jmxuser 为用户名,readwrite 为该用户的 jmx 权限:

jmxuser readwrite

jmxremote.password 文件末尾添加认证用户名和用户密码,示例中 jmxuser 为用户名,与 jmxremote.access 中一致,jmxpassword 为该用户的 jmx 远程连接密码:

jmxuser jmxpassword

最后,更改文件权限和属主:

cd /usr/share/tomcat/conf/
chmod 600 jmxremote.password jmxremote.access
chown tomcat.tomcat jmxremote.password jmxremote.access

firewalld 设置

可以直接关闭 firewalld:

systemctl stop firewalld
systemctl disable firewalld

或者针对 JMX 监听的端口(包括两个随机端口和选项 -Dcom.sun.management.jmxremote.port 指定的固定端口)设置开放规则。首先查看java 监听的端口:

ss -lnp | grep java

任何开放端口:

firewall-cmd --add-port=8008/tcp --add-port=<random-port-1>/tcp --add-port=<random-port-2>/tcp

重启 tomcat 后随机端口会变,这时候又要重新设置端口规则。

重启 tomcat,JMX 连接

使用 JDK 自带的 jconsole 或 VisualVM 连接 JVM Remote。

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 3.Zabbix客户端日志报错

(1)报错

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 (2)原因分析

因为使用了netstat -p参数。

权限问题,zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,导致从服务器取到的自动发现脚本为空

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
(3)解决方法 

为了方便普通用户执行一些特权命令,SUID/SGID程序允许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。

chmod +s /bin/netstat

分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维

 成功分布式应用:Zabbix监控Tomcat,分布式应用,zabbix,服务器,运维文章来源地址https://www.toymoban.com/news/detail-652238.html

到了这里,关于分布式应用:Zabbix监控Tomcat的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [zabbix] 分布式应用之监控平台zabbix的认识与搭建

    1.1 监控系统运用的原因  当我们需要实时关注与其相关的各项指标是否正常,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,zabix可以实现集中监控管理的应用程序 监控的初衷就是当某些指标不符合我们的需求时,我们能够

    2024年02月02日
    浏览(48)
  • 【Distributed】分布式监控系统zabbix应用(二)

    分担 server 的集中式压力; 解决多机房之间的网络延时问题。 结构:agent —— proxy —— server 2.1 设置 zabbix 的下载源,安装 zabbix-proxy 2.2 部署数据库   要求 MySQL 5.7 或 Mariadb 10.5 及以上版本 2.3 导入数据库信息 2.4 修改 zabbix-proxy 配置文件 2.5 启动 zabbix-proxy 2.6 在所有主机上

    2024年02月13日
    浏览(58)
  • Linux分布式应用 Zabbix监控软件实例:监控NGINX的性能

        测试 访问设置的网站 获取NGINX状态统计 过滤结果获取需要的值     服务器端验证     ​​​创建模板 点击左边菜单栏【配置】中的【模板】,点击【创建模板】 【模板名称】设置成 Template NGINX Status 【可见的名称】设置成 Template NGINX Status 【群组】选择 Template 【描述

    2024年02月15日
    浏览(51)
  • Zabbix监控系统详解2:基于Proxy分布式实现Web应用监控及Zabbix 高可用集群的搭建

    分担 server 的集中式压力; 解决多机房之间的网络延时问题。 1.3.1 zabbix-server 整个监控体系中 最核心的组件 ,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。 1.3.2 Database 所有配置信息和zabbix收集到的数据都存储在数据库中。 1.3.3 zabbix-pro

    2024年02月07日
    浏览(44)
  • 分布式系统监控Zabbix

    1.什么是Zabbix (1)一个基于web界面提供的分布式系统监控及网络监视功能的企业级开源解决方案 (2)Zabbix能监视各种网络参数,保证server系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 (3)Zabbix由两部分构成,zabbix server和可选组件

    2024年02月13日
    浏览(42)
  • 1.监控分布式--zabbix

    利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在 Web 前端方便的查看监控数据 可以回溯寻找事故发生时系统的问题和报警情况 zabbix 是一个 基于 Web 界面的提供分布式系统监视 以及网络监视功能的企业级的开源解决方案。

    2024年02月12日
    浏览(54)
  • 分布式监控平台—zabbix

    作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在Web 前端方便的查看监控数据 可

    2024年02月13日
    浏览(52)
  • 分布式监控平台——Zabbix

    市场上常用的监控软件: 传统运维:zabbix、 Nagios 作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的

    2024年02月13日
    浏览(48)
  • 分布式监控平台-Zabbix

    作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在Web 前端方便的查看监控数据 可

    2023年04月19日
    浏览(80)
  • 分布式监控平台---Zabbix

    作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在Web 前端方便的查看监控数据 可

    2024年04月22日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包