温馨提示×

centos中tomcat如何监控

小樊
38
2025-09-26 10:53:04
栏目: 智能运维

1. 系统命令监控(基础快速检查)
通过CentOS系统自带命令快速验证Tomcat运行状态及资源占用:

  • 查看进程ps -ef | grep tomcatps -ef | grep java,确认Tomcat进程是否存在;
  • 检查端口监听sudo netstat -tulnp | grep 8080(默认端口)或 sudo ss -tulnp | grep 8080,验证Tomcat是否在监听指定端口;
  • 测试HTTP响应curl http://localhost:8080/,若返回Tomcat默认页面则服务正常;
  • 实时资源监控top -p $(pgrep -f tomcat)htop -p $(pgrep -f tomcat),查看Tomcat进程的CPU、内存占用情况;
  • 查看实时日志tail -f $CATALINA_HOME/logs/catalina.out,跟踪Tomcat运行日志,快速定位异常。

2. JMX(Java标准管理接口,深度监控)
通过JMX获取Tomcat的详细性能指标(如线程池、内存、类加载、JDBC连接池等),需先启用JMX远程访问:

  • 启用JMX:编辑$CATALINA_HOME/bin/catalina.sh,在文件开头添加以下配置(替换your_server_ip为Tomcat服务器IP):
    CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=your_server_ip" 
    保存后重启Tomcat:sudo systemctl restart tomcat
  • 使用客户端连接
    • JConsole(JDK自带):运行jconsole,选择“远程进程”,输入localhost:9090,登录后可查看各项指标;
    • VisualVM(JDK自带):运行jvisualvm,添加JMX连接(同上),支持更丰富的插件扩展。

3. Tomcat Manager应用(Web界面监控)
Tomcat自带的Web管理工具,适合快速查看应用状态、会话数、部署情况等:

  • 启用Manager应用:编辑$CATALINA_HOME/conf/tomcat-users.xml,添加具有manager-gui角色的用户:
    <role rolename="manager-gui"/> <user username="admin" password="your_password" roles="manager-gui"/> 
    保存后重启Tomcat。
  • 访问Manager界面:在浏览器中输入http://your_server_ip:8080/manager/html,使用上述用户名密码登录,即可查看Tomcat的运行状态、应用列表、会话信息等。

4. 第三方监控工具(企业级解决方案)
通过专业工具实现长期监控、报警及可视化,适合生产环境:

  • Prometheus + Grafana(推荐)
    • Prometheus:开源时间序列数据库,用于收集Tomcat指标;
    • JMX Exporter:将Tomcat JMX指标转换为Prometheus可识别的格式。
      步骤:下载JMX Exporter jar包,编辑catalina.sh添加启动参数:
    CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/jmx_prometheus_javaagent-0.16.1.jar=9091:/path/to/config.yaml" 
    配置Prometheus(/etc/prometheus/prometheus.yml)添加Tomcat job:
    scrape_configs: - job_name: 'tomcat' static_configs: - targets: ['localhost:9091'] 
    启动Prometheus后,配置Grafana数据源(Prometheus),导入Tomcat监控仪表盘(如Grafana官方Tomcat仪表盘),实现可视化监控。
  • Nagios/Zabbix
    • Nagios:开源监控工具,通过插件监控Tomcat状态(如进程、端口、响应时间),需配置NRPE(远程执行插件);
    • Zabbix:企业级监控解决方案,支持Tomcat自动发现、阈值报警、自动恢复等功能,需安装Zabbix Agent并配置模板。

5. 日志与脚本监控(自动化与定制化)

  • ELK Stack(日志分析):通过Logstash收集Tomcat日志(catalina.outaccess_log),存储到Elasticsearch,使用Kibana进行可视化分析(如访问量、错误日志统计),快速定位性能瓶颈或异常;
  • 自定义脚本(自动化运维):编写Shell脚本定期检查Tomcat状态,异常时发送报警(邮件、Slack等)。例如,监控进程的脚本:
    #!/bin/bash TOMCAT_PID=$(pgrep -f tomcat) if [ -z "$TOMCAT_PID" ]; then echo "$(date): Tomcat is down!" >> /var/log/tomcat_monitor.log # 发送报警(示例:邮件) echo "Tomcat is down!" | mail -s "Tomcat Alert" admin@example.com else echo "$(date): Tomcat is running (PID: $TOMCAT_PID)" >> /var/log/tomcat_monitor.log fi 
    赋予执行权限:chmod +x monitor.sh,添加到cron定时任务(每分钟执行一次):* * * * * /path/to/monitor.sh

0