您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何远程监控Tomcat运行
## 前言
在分布式系统和企业级应用中,Tomcat作为广泛使用的Java Web服务器,其运行状态的实时监控至关重要。本文将详细介绍5种主流远程监控方案,涵盖从基础配置到高级集成的完整解决方案。
---
## 一、JMX远程监控方案
### 1. 配置JMX远程访问
修改Tomcat启动脚本(catalina.sh/catalina.bat):
```bash
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
service:jmx:rmi:///jndi/rmi://[IP]:9010/jmxrmi
修改conf/tomcat-users.xml:
<role rolename="manager-gui"/>
<user username="admin" password="s3cret" roles="manager-gui"/>
通过浏览器访问:
http://[server]:8080/manager/status?XML=true
curl -u admin:s3cret http://localhost:8080/manager/status?json=true
rules:
- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
name: tomcat_$3_total
labels:
port: "$2"
protocol: "$1"
JAVA_OPTS="-javaagent:/path/to/jmx_prometheus_javaagent.jar=9100:/path/to/jmx-config.yml"
推荐使用ID 8563模板,关键指标包括: - 请求吞吐量 - 错误率 - JVM内存压力 - 线程活跃数
filebeat.inputs:
- type: log
paths:
- /var/log/tomcat/catalina.out
fields:
app: tomcat
output.logstash:
hosts: ["logstash:5044"]
filter {
grok {
match => { "message" => "%{TOMCAT_DATESTAMP:timestamp} %{LOGLEVEL:level}" }
}
date {
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss.SSS" ]
}
}
建议监控: - ERROR日志频率 - 请求处理时长异常 - 内存溢出警告
-javaagent:/path/to/skywalking-agent.jar
-Dskywalking.agent.service_name=my_tomcat
-Dskywalking.collector.backend_service=127.0.0.1:11800
iptables -A INPUT -p tcp --dport 9010 -s [监控服务器IP] -j ACCEPT
<!-- conf/server.xml -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192.168.1.0/24"/>
指标类别 | 警告阈值 | 紧急阈值 |
---|---|---|
堆内存使用率 | >70%持续5分钟 | >90% |
线程池活跃度 | >80% | 100% |
500错误率 | >1% | >5% |
平均响应时间 | >500ms | >2000ms |
建议根据实际业务场景组合使用上述方案: - 开发环境:JMX + Manager - 生产环境:Prometheus + ELK + APM - 混合云架构:SkyWalking + 自定义Exporter
定期检查监控系统的监控效果(即”监控的监控”),才能确保整个监控体系的有效性。 “`
注:实际部署时请根据Tomcat版本调整配置细节,本文示例基于Tomcat 9.x版本。建议在测试环境验证后再进行生产部署。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。