tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)

[复制链接]
发表于 2025-8-29 12:16:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1. Tomcat相关概念

Tomcat是Apache软件基金会开发的一个开源Java Servlet容器,作为Java Servlets和JavaServer Pages (JSP) 技术的参考实现。Tomcat提供了一个"纯Java"的HTTP web服务器情况,用于运行Java代码。
1.1 核心组件


  • Catalina:Servlet容器,负责Servlet生命周期的管理。
  • Coyote:HTTP/1.1毗连器,用于处理HTTP哀求和相应。
  • Jasper:JSP引擎,负责编译JSP页面为Servlet。
  • Cluster:用于集群情况中的会话复制。
  • Realm:用于管理用户、角色和认证。
2. 部署Tomcat多实例

在生产情况中,运行多个Tomcat实例来分担负载和提高可用性是常见的做法。以下是配置Tomcat多实例的步骤。
2.1 预备工作

下载并解压Tomcat:
  1. wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.58/bin/apache-tomcat-9.0.58.tar.gz
  2. tar -xzvf apache-tomcat-9.0.58.tar.gz
  3. mv apache-tomcat-9.0.58 /opt/tomcat
  4. ​
复制代码
2.2 创建实例目录

创建多个实例目录:
  1. mkdir -p /opt/tomcat-instance1/{conf,logs,temp,webapps,work}
  2. mkdir -p /opt/tomcat-instance2/{conf,logs,temp,webapps,work}
  3. ​
复制代码
2.3 配置实例

将主Tomcat目录下的配置文件复制到实例目录:
  1. cp -r /opt/tomcat/conf/* /opt/tomcat-instance1/conf/
  2. cp -r /opt/tomcat/conf/* /opt/tomcat-instance2/conf/
  3. ​
复制代码
编辑每个实例的 server.xml,设置差别的端口:
/opt/tomcat-instance1/conf/server.xml:
  1. <Connector port="8081" protocol="HTTP/1.1"
  2.            connectionTimeout="20000"
  3.            redirectPort="8443" />
  4. ​
复制代码
/opt/tomcat-instance2/conf/server.xml:
  1. <Connector port="8082" protocol="HTTP/1.1"
  2.            connectionTimeout="20000"
  3.            redirectPort="8443" />
  4. ​
复制代码
2.4 启动实例

使用脚本启动每个实例:
启动实例1:
  1. /opt/tomcat/bin/catalina.sh start -Dcatalina.base=/opt/tomcat-instance1
  2. ​
复制代码
启动实例2:
  1. /opt/tomcat/bin/catalina.sh start -Dcatalina.base=/opt/tomcat-instance2
  2. ​
复制代码
3. 使用Zabbix监控监控Tomcat实例(Docker部署)

Zabbix是一个强大的开源监控监控办理方案,可以用来监控监控Tomcat实例的性能和运行状态。
3.1 部署Zabbix Server(Docker)

起首,启动Zabbix Server和数据库:
  1. docker run --name zabbix-db -t \
  2.     -e MYSQL_DATABASE="zabbix" \
  3.     -e MYSQL_USER="zabbix" \
  4.     -e MYSQL_PASSWORD="zabbix_pass" \
  5.     -e MYSQL_ROOT_PASSWORD="root_pass" \
  6.     -d mysql:5.7
  7. docker run --name zabbix-server -t \
  8.     --link zabbix-db:mysql \
  9.     -e DB_SERVER_HOST="mysql" \
  10.     -e MYSQL_USER="zabbix" \
  11.     -e MYSQL_PASSWORD="zabbix_pass" \
  12.     -e MYSQL_DATABASE="zabbix" \
  13.     -d zabbix/zabbix-server-mysql:latest
  14. ​
复制代码
启动Zabbix Web界面:
  1. docker run --name zabbix-web -t \
  2.     --link zabbix-server:zabbix-server \
  3.     --link zabbix-db:mysql \
  4.     -e DB_SERVER_HOST="mysql" \
  5.     -e MYSQL_USER="zabbix" \
  6.     -e MYSQL_PASSWORD="zabbix_pass" \
  7.     -e MYSQL_DATABASE="zabbix" \
  8.     -e ZBX_SERVER_HOST="zabbix-server" \
  9.     -e PHP_TZ="Europe/Riga" \
  10.     -p 8080:8080 \
  11.     -d zabbix/zabbix-web-nginx-mysql:latest
  12. ​
复制代码
3.2 配置Zabbix Agent监控Tomcat

在Tomcat服务器上安装并配置Zabbix Agent:
  1. sudo apt update
  2. sudo apt install zabbix-agent
  3. ​
复制代码
编辑Zabbix Agent配置文件 /etc/zabbix/zabbix_agentd.conf,添加Zabbix Server地点:
  1. Server=zabbix_server_ip
  2. ServerActive=zabbix_server_ip
  3. Hostname=TomcatInstance1
  4. ​
复制代码
重启Zabbix Agent:
  1. sudo systemctl restart zabbix-agent
  2. ​
复制代码
在Zabbix Web界面添加主机,并配置监控项和触发器,监控Tomcat实例的性能和运行状态。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表