• web server apache tomcat11-21-monitor and management 监控与管理


    前言

    整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

    开源项目

    从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

    系列文章

    web server apache tomcat11-01-官方文档入门介绍

    web server apache tomcat11-02-setup 启动

    web server apache tomcat11-03-deploy 如何部署

    web server apache tomcat11-04-manager 如何管理?

    web server apache tomcat11-06-Host Manager App -- Text Interface

    web server apache tomcat11-07-Realm Configuration

    web server apache tomcat11-08-JNDI Resources

    web server apache tomcat11-09-JNDI Datasource

    web server apache tomcat11-10-Class Loader

    ...

    简介

    监控是系统管理的关键方面。查看运行中的服务器,获取一些统计信息或重新配置应用程序的某些方面都是日常管理任务。

    启用 JMX 远程

    注意:只有在您要远程监视 Tomcat 时才需要此配置。如果您打算使用与 Tomcat 运行的相同用户在本地监视它,则不需要此配置。

    Oracle 网站包含了有关选项列表以及如何在 Java 11 上配置 JMX 远程的信息:Java 11 JMX 远程配置

    以下是 Java 11 的快速配置指南:

    在 Tomcat 的 setenv.bat 脚本中添加以下参数(有关详细信息,请参阅 RUNNING.txt)。 注意:此语法适用于 Microsoft Windows。命令必须在同一行上。它被包装以增加可读性。如果 Tomcat 作为 Windows 服务运行,请使用其配置对话框为服务设置 Java 选项。对于 Linux、MacOS 等,请从行的开头删除 "set "。

    set CATALINA_OPTS=-Dcom.sun.management.jmxremote.port=%my.jmx.port%
      -Dcom.sun.management.jmxremote.rmi.port=%my.rmi.port%
      -Dcom.sun.management.jmxremote.ssl=false
      -Dcom.sun.management.jmxremote.authenticate=false
    • 1
    • 2
    • 3

    如果不设置 com.sun.management.jmxremote.rmi.port,则 JSR 160 JMX-Adaptor 将随机选择一个端口,这将使得配置防火墙以允许访问变得困难。

    如果需要 TLS:

    更改并添加以下内容:

      -Dcom.sun.management.jmxremote.ssl=true
      -Dcom.sun.management.jmxremote.registry.ssl=true
    • 1

    要配置协议和/或密码套件,请使用:

      -Dcom.sun.management.jmxremote.ssl.enabled.protocols=%my.jmx.ssl.protocols%
      -Dcom.sun.management.jmxremote.ssl.enabled.cipher.suites=%my.jmx.cipher.suites%
    • 1

    对于客户端证书身份验证,请使用:

      -Dcom.sun.management.jmxremote.ssl.need.client.auth=%my.jmx.ssl.clientauth%

      如果需要授权(强烈建议始终使用身份验证的 TLS):

      更改并添加以下内容:

        -Dcom.sun.management.jmxremote.authenticate=true
        -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
        -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
      • 1
      • 2

      编辑访问授权文件 $CATALINA_BASE/conf/jmxremote.access:

      monitorRole readonly
      controlRole readwrite
      • 1

      编辑密码文件 $CATALINA_BASE/conf/jmxremote.password:

      monitorRole tomcat
      controlRole tomcat
      • 1

      提示:密码文件应该是只读的,并且只能被 Tomcat 运行的操作系统用户访问。

      或者,您可以使用以下配置 JAAS 登录模块:

        -Dcom.sun.management.jmxremote.login.config=%login.module.name%

        如果需要指定用于发送到客户端的 RMI 存根的主机名(例如,因为必须使用的公共主机名与本地主机名不同),则可以设置:

        set CATALINA_OPTS=-Djava.rmi.server.hostname

          如果需要为 JMX 服务绑定到的特定接口,请设置:

          set CATALINA_OPTS=-Dcom.sun.management.jmxremote.host

            使用 JMX 远程 Ant 任务管理 Tomcat

            为了简化 Ant 中的 JMX 使用,提供了一组可用于 antlib 的任务。

            antlib:将 catalina-ant.jar 从 $CATALINA_HOME/lib 复制到 $ANT_HOME/lib。

            以下示例显示了 JMX Accessor 的用法:

            注意:这里对 name 属性值进行了包装以增加可读性。它必须全部在同一行上,没有空格。

            
              
              
              
              
            
              
                
                
                
                
                
                
                
                
                
                
                
                  
                  
                
                
                
                
            
            senderObjectNames: ${senderObjectNames.0}
            IDataSender.backup.connected: ${IDataSender.backup.connected}
            session: ${sessions.0}
            manager.length: ${manager.length}
            manager.0.name: ${manager.0.name}
            manager.1.name: ${manager.1.name}
            hello: ${Hello}
            manager.ClusterTest.0.name: ${manager.ClusterTest.0.name}
            manager.ClusterTest.0.activeSessions: ${manager.ClusterTest.0.activeSessions}
            manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED:
             ${manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED}
            manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS:
             ${manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS}
            
            
              
            
            
            • 1
            • 2
            • 3
            • 4
            • 5
            • 6
            • 7
            • 8
            • 9
            • 10
            • 11
            • 12
            • 13
            • 14
            • 15
            • 16
            • 17
            • 18
            • 19
            • 20
            • 21
            • 22
            • 23
            • 24
            • 25
            • 26
            • 27
            • 28
            • 29
            • 30
            • 31
            • 32
            • 33
            • 34
            • 35
            • 36
            • 37
            • 38
            • 39
            • 40
            • 41
            • 42
            • 43
            • 44
            • 45
            • 46
            • 47
            • 48
            • 49
            • 50
            • 51
            • 52
            • 53
            • 54
            • 55
            • 56
            • 57
            • 58
            • 59
            • 60
            • 61
            • 62
            • 63
            • 64
            • 65
            • 66
            • 67
            • 68
            • 69
            • 70
            • 71
            • 72
            • 73
            • 74
            • 75
            • 76
            • 77
            • 78
            • 79
            • 80
            • 81
            • 82
            • 83
            • 84
            • 85
            • 86
            • 87
            • 88
            • 89
            • 90
            • 91
            • 92
            • 93
            • 94
            • 95
            • 96
          • 相关阅读:
            时间轴_3D打印
            ssm基于web的酒店预订及个性化服务系统 毕业设计源码241822
            y52.第三章 Kubernetes从入门到精通 -- k8s实战案例(二五)
            Java程序设计——JDBC基础(JDBC编程)
            车路协同 智能路侧决策系统边缘计算系统功能技术要求
            SAP FI 系列 (033) - 应收票据的接收和承兑
            Linux下安装Redis详细教程 (附安装包)
            Qt中文件夹的操作
            2023全网最火的接口自动化框架对比 (建议收藏)
            vue项目配置MongoDB的增删改查操作
          • 原文地址:https://blog.csdn.net/ryo1060732496/article/details/138196324