首页主机资讯Ubuntu Tomcat监控如何实现

Ubuntu Tomcat监控如何实现

时间2025-12-01 12:09:04发布访客分类主机资讯浏览490
导读:Ubuntu 上 Tomcat 监控落地方案 一 基础巡检与日志监控 进程与服务状态 查看进程:执行 ps -ef | grep tomcat 获取 PID、启动参数与占用资源。 查看服务:使用 sudo systemctl statu...

Ubuntu 上 Tomcat 监控落地方案

一 基础巡检与日志监控

  • 进程与服务状态
    • 查看进程:执行 ps -ef | grep tomcat 获取 PID、启动参数与占用资源。
    • 查看服务:使用 sudo systemctl status tomcat 或 sudo service tomcat status 检查 active/ failed 状态与最近日志片段。
  • 实时日志与关键字
    • 实时查看:tail -f /var/log/tomcat/catalina.out 或进入 Tomcat 安装目录 logs 目录后执行 tail -f catalina.out。
    • 关键字检索:grep -i “memory|error|exception” /var/log/tomcat/catalina.out 快速定位资源与异常线索。
  • 简单自愈脚本
    • 示例脚本定时检测并拉起 Tomcat,配合 crontab 每分钟执行一次,保障最小可用性(生产环境建议叠加告警与更完善的重启策略)。

二 JMX 与可视化监控

  • 启用 JMX(示例为 JDK 8,端口可按需调整)
    • 在 $CATALINA_HOME/bin/catalina.sh 的 JAVA_OPTS 中追加: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10001 -Dcom.sun.management.jmxremote.rmi.port=10000 -Djava.rmi.server.hostname=服务器公网或内网IP -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
    • 如需鉴权,创建 $CATALINA_HOME/conf/jmxremote.password 与 jmxremote.access,并改为 authenticate=true,注意文件权限为 600
    • 重启 Tomcat:sudo systemctl restart tomcat。
  • 本地可视化
    • JConsole 或 Java VisualVM 直连 IP:10001(RMI 会自动使用 10000),查看 堆内存、类加载、线程、CPU 等 JVM 指标与 MBean。
  • 远程 JMX 建议
    • 开启防火墙放行 10000/10001/TCP,或仅在管理网段开放;生产环境务必启用 鉴权与 SSL,并使用只读账号供日常观测。

三 企业级监控与告警 Zabbix

  • 架构与组件
    • 部署 Zabbix ServerZabbix Java Gateway(默认端口 10052)、Zabbix Agent(被监控端)。
  • 服务端配置
    • /etc/zabbix/zabbix_server.conf 中设置:
      • JavaGateway=JAVA_GW_IP
      • JavaGatewayPort=10052
      • StartJavaPollers=20(按实例规模调整)
  • 被监控端 Tomcat
    • 在 catalina.sh 的 JAVA_OPTS 中启用 JMX(见上一节),确保 java.rmi.server.hostname 指向可被 Zabbix Server 访问的地址。
  • 前端操作
    • 在 Zabbix Web 为主机添加 JMX 接口(IP/端口 10001),关联 Tomcat 模板,等待首次采集完成即可查看 JVM、线程、类加载、内存池 等指标与触发器告警。

四 指标可视化与日志集中 ELK 或 rsyslog

  • ELK(Logstash + Elasticsearch + Kibana)
    • Logstash 采集 Tomcat 日志(如 /opt/tomcat/logs/catalina.out),输出到 Elasticsearch;Kibana 创建索引模式并构建可视化面板。
    • 示例 Logstash 片段:
      • input { file { path => “/opt/tomcat/logs/catalina.out” start_position => “beginning” } }
      • output { elasticsearch { hosts => [“localhost:9200”] index => “tomcat-logs-%{ +YYYY.MM.dd} ” } }
  • rsyslog 远程日志
    • 在日志服务器启用 UDP 514 接收;Tomcat 侧通过 java.util.logging.SyslogHandler 将日志发送至远程 IP:514,服务器端在 /var/log/syslog 或 /var/log/messages 集中查看。

五 关键指标与告警建议

  • 建议重点观测与告警
    • 服务可用性:HTTP 200/503 状态码比例、Tomcat 进程存活。
    • JVM:堆内存使用率、Full GC 次数/耗时、元空间/类加载数。
    • 线程:线程总数、繁忙线程数、线程池队列积压。
    • 连接器:请求数/秒、错误数、响应时间 P95/P99。
    • 日志:ERROR/Exception 爆发、频繁 Full GC 日志。
  • 实施要点
    • JMX 采集频率建议 15–30 秒;Zabbix 触发器设置恢复条件与告警升级。
    • 生产环境开启 鉴权/SSL最小权限;JMX/RMI 端口纳入防火墙白名单。
    • 日志保留周期与容量规划:按合规与容量设置 索引滚动与保留策略

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Tomcat监控如何实现
本文地址: https://pptw.com/jishu/759961.html
Ubuntu Tomcat如何部署应用 Ubuntu Tomcat安全如何保障

游客 回复需填写必要信息