基于windows服务监控tomcat服务,防止tomcat死掉
- 格式:doc
- 大小:84.50 KB
- 文档页数:4
tomcat常见的错误与解决⽅案⼩结⼀、tomcat启动时错误问题1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;解决:没有在tomcat的配置⽂件.bash_profile中设置环境变量JAVA_HOME,具体设置⽅法为:加⼊如下⼏⾏:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jarexport CLASSPATH问题2:Error occurred during initialization of VM Could not reserve enough space for object heap解决:在tomcat的bin⽬录下,catalina.sh⽂件的tomcat内存参数配置过⼤,超过机器可⽤内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"问题3:tomcat启动时报某个⽬录没有权限,启动失败,或者不能执⾏某些jsp页解决:tomcat需要tomcat⽤户具有⼀些⽬录和⽂件的相应权限, 所有⽬录应该具有读写执⾏(浏览)的权限,jsp,class⽂件应该最少具有读权限, ⼀些⽂件需要写权限,下⾯是已知的需要读写权限⽂件的列表:$CATALINA_HOME/logs下所有⽂件$CATALINA_HOME/work下所有⽂件$CATALINA_HOME/publish/main/count.txt⽂件$CATALINA_HOME/publish/chatroom/resource下的所有.xml⽂件所有上传图⽚⽬录都需要写权限。
apache-tomcat-Tomcat在Windows下的免安装配置(2008-06-29 12:29:51)1、下载到Apache的官方网站,我们可以很容易找到Tomcat的下载地址,如:-60.cgi在这里我们可以下载到Tomcat的Service Installer三种安装包,其中:Zip是Windows下的免安装版本,只需要解压后做一定的手动配置就可以正常的使用;tar.gz是Linux下的安装包;Windows Service Installer很明显就是Windows下的Install程序,双击后就可以自动安装了。
在这里主要讲一下如何使用Zip包来进行解压配置,那么我们就需要下载下来这个文件:apache-tomcat-2、解压与配置在安装Tomcat之前,我们首先要安装的是JDK,Tomcat是在Java运行环境的支持下运行的,所以必须首先安装并配置好JDK。
JDK的安装程序可以到sun公司的官方网站,在这里我们就详细描述JDK的安装了。
JDK安装好后需要配置以下环境变量:JAVA_HOME=JDK安装目录(注意,这个值后面不能有";"号)ClassPath=.,%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarPath=%JAVA_HOME%\bin;原有内容将apache-tomcat-,这里就是我们的Tomcat了。
解压后Tomcat以后我们同样需要设置几个环境变量:CATALINA_HOME=Tomcat解压目录,我们这里就是CATALINA_HOME=C:\tomcat6环境变量配置的时候如果没有这个关键字,就新加一项,如果已经有了,如Path,就是在原有内容值的基础上添加新的内容,新的内容与原有的值以分号相隔。
配置好上面的这些内容以后就可以重启系统了。
3、运行重启系统以后,我们可以进入Tomcat解压目录下的bin目录,找到startup.bat文件,这个文件就是Tomcat的启动文件,双击这个文件,我们可以看到打开了一个命令行窗口,一些Tomcat启动的加载信息就显示出来,最后一行应该是:信息:Server startup in xxx ms这就是说你的服务器已经启动成功了,这是你可以打开浏览器,在地址栏中输入:看看是不是可以看到Tomcat的页面了。
tomcat概述Tomcat概述Tomcat是一个开源的Java Servlet容器,由Apache软件基金会开发和维护。
它实现了Java Servlet和JavaServer Pages(JSP)规范,并提供了一个HTTP Web服务器环境,可以让开发人员在其上部署和运行Java Web应用程序。
Tomcat是使用Java语言编写的,因此它可以在任何支持Java虚拟机(JVM)的平台上运行。
Tomcat的特点1. 开源免费:Tomcat是一款完全免费且开源的软件,任何人都可以自由地下载、使用和修改它。
2. 轻量级:Tomcat非常轻量级,只需要很少的系统资源就可以运行,并且它非常容易安装和配置。
3. 易于扩展:Tomcat提供了很多可定制的选项,使得开发人员可以根据自己的需要扩展和定制Tomcat的功能。
4. 稳定可靠:由于Tomcat经过了长时间的测试和改进,因此它非常稳定可靠,并且能够处理大量并发请求。
5. 安全性高:Tomcat提供了很多安全性选项,包括SSL/TLS加密、访问控制、认证等等,使得Web应用程序更加安全可靠。
6. 跨平台性强:由于Tomcat是使用Java语言编写的,因此它可以在任何支持Java虚拟机(JVM)的平台上运行,包括Windows、Linux、Mac OS等等。
Tomcat的架构Tomcat的架构分为三个层次:1. Web层:Web层是Tomcat最外层的一层,它负责处理HTTP请求和响应,并将请求转发给下一层进行处理。
2. Servlet/JSP容器层:Servlet/JSP容器层是Tomcat中间的一层,它负责管理Servlet和JSP组件,并将它们编译成可执行代码。
此外,Servlet/JSP容器还负责管理会话、Cookie、请求转发等功能。
3. 连接器/底层服务层:连接器/底层服务层是Tomcat最底部的一层,它负责处理网络连接和数据传输。
连接器/底层服务可以使用不同的协议来处理网络连接,比如HTTP、HTTPS、AJP等等。
服务器系统监控报警规划如何设置监控规则以快速响应问题在服务器系统监控报警规划中,设置监控规则是至关重要的一环。
通过合理设置监控规则,可以及时发现服务器系统中的异常情况,并快速做出响应,从而保障系统的稳定运行。
下面将介绍如何设置监控规则以快速响应问题。
首先,针对服务器系统的监控对象进行分类。
常见的监控对象包括CPU利用率、内存利用率、磁盘空间利用率、网络流量等。
针对不同的监控对象,可以设置相应的监控规则。
其次,针对CPU利用率进行监控。
CPU是服务器系统中最核心的组件之一,其利用率的异常波动往往会导致系统性能下降甚至系统崩溃。
针对CPU利用率,可以设置监控规则如下:当CPU利用率持续超过80%时,触发报警;当CPU利用率持续超过90%时,触发紧急报警。
通过设置不同的阈值,可以根据实际情况及时发现CPU利用率异常,并做出相应处理。
再次,针对内存利用率进行监控。
内存是服务器系统中存储数据的重要组件,其利用率过高会导致系统运行缓慢甚至崩溃。
针对内存利用率,可以设置监控规则如下:当内存利用率持续超过70%时,触发报警;当内存利用率持续超过80%时,触发紧急报警。
通过监控内存利用率,可以及时发现内存泄漏等问题,并采取相应措施。
此外,针对磁盘空间利用率进行监控也是必不可少的。
磁盘空间是存储服务器系统数据的地方,当磁盘空间不足时会影响系统正常运行。
针对磁盘空间利用率,可以设置监控规则如下:当磁盘空间利用率持续超过80%时,触发报警;当磁盘空间利用率持续超过90%时,触发紧急报警。
通过监控磁盘空间利用率,可以避免因磁盘空间不足导致的系统故障。
最后,针对网络流量进行监控也是必要的。
网络是服务器系统与外部通信的桥梁,网络异常会影响系统对外服务。
针对网络流量,可以设置监控规则如下:当网络流量异常增大或异常减少时,触发报警;当网络流量持续异常时,触发紧急报警。
通过监控网络流量,可以及时发现网络攻击或异常流量,保障系统的安全运行。
tomcat假死与异常监控tomcat假死与异常监控在开发的tomcat服务应用中,经常会遇到tomcat假死情况,除了每次出现假死时找出原因外,有时候由于业务的重要性,需要及时发现服务异常并及时解决。
所以本人就想通过Linux定时任务定时监控的方式来预防这个问题,一旦发现及时通知告警并重启服务,然后才通过日志查明原因从根本上解决。
1)tomcat假死状态处于假死状态时,后台日志不在生成,服务链接没有响应,但tomcat的进程是存在的,所以若要监控是否处于假死状态可以从日志和服务链接方面入手,但由于检测日志比较麻烦,本人选择的是通过选择某个服务链接获取其访问状态码http_code,若状态码不正常则确认为tomcat服务异常。
例如:url=“http://localhost/….”code=$(curl -o /dev/null --retry 3 -s -w %{http_code} $url) echo “${code}”上面脚本中url变量为选择的适合的监控链接,code就是该链接正常时应该返回的返回码,正常是为200,有时候由于浏览器缓存可能返回302等也是正常的,所以建议最好选择那种后台的链接能够返回200的,这样检测起来比较方便。
2)tomcat异常监控在tomcat运行日志中,经常会出现一些异常,对于有些异常我们可以不用管,但例如数据库链接异常、内存溢出异常等,这些异常会直接导致服务不能正常使用,所以需要对这些类型的异常进行监控,同样的本人也是通过Linux脚本实时检查tomcat运行日志的方式来检测服务状态。
脚本如下:errormessage1="/doc/261950289.html,ng.OutOfMemoryError"ifcat ${tomcatpath}/logs/catalina.out |grep "$errormessage1">/dev/null thenrestartFlag="yes"其实就是通过cat |grep 的方式来查找异常特征字符串是否在运行日志文件中存在,存在则代表出现了该类异常,当然这是需要程序对该类异常做了处理的(捕捉到并输出到控制台)。
tomcat告警规则
Tomcat告警规则(Alarm Rules)用于监控Tomcat服务器的运行状态,并在出现异常或错误时发出告警。
以下是一些常见的Tomcat告警规则:
1.CPU使用率告警:监控Tomcat服务器的CPU使用率,当CPU
使用率超过一定阈值时发出告警。
2.内存使用率告警:监控Tomcat服务器的内存使用情况,当内
存使用率超过一定阈值时发出告警。
3.线程数告警:监控Tomcat服务器的线程数,当线程数超过一
定阈值时发出告警。
4.连接数告警:监控Tomcat服务器的连接数,当连接数超过一
定阈值时发出告警。
5.错误日志数量告警:监控Tomcat服务器日志中错误日志的数
量,当错误日志数量超过一定阈值时发出告警。
以上是一些常见的Tomcat告警规则,根据实际需求,还可以定制其他的告警规则。
在配置告警规则时,需要设置阈值和告警方式(如邮件、短信等),以便在异常或错误发生时及时收到告警信息。
上海纽斯达科技tomcat常见错误与解决方法上海纽斯达科技有限公司2014-10-25文档状态目的:在tomcat 服务器出现故障时,能快速定位并解决相关错误。
保密:本文档仅供内部使用,请勿外传概述:tomcat 常见错误与问题之解决方法技术指南。
安装环境:系统环境:redhat enterprise 6.5 64bit文件状态:【 】草稿【 】修改稿 【√】正式发布 文档编号 Nsdkj-779 保 密 等 级 限制 作 者 刘恒亮 最后完成日期 2014-12-25 审 核 人最后审核日期 2014-12-25 批 准 人最后批准日期 2014-12-25注释:Q代表问题,A代表错误解决办法Q:在以tomcat用户启动tomcat时提示:The JAVA_HOME environment variable is not defined This environment variable is needed to run this programA:没有在在tomcat的配置文件.bash_profile中设置环境变量JAVA_HOME,具体设置方法为:加入如下几行:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/li b/dt.jarexport CLASSPATHQ: 在以tomcat用户登录linux系统后,提示:-bash: /home/tomcat/j2sdk1.4.2_08: is a directory-bash:/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.ja r:没有那个文件或目录。
windows exporter 配置监控指标"Windows Exporter" 可能是指用于监控Windows 系统的各种指标的工具或服务。
具体配置监控指标的方法可能因不同的工具和服务而异。
以下是一些常见的Windows 监控工具和它们的一些配置方法:1.Windows Performance Monitor:o打开“性能监视器”(Performance Monitor)。
o添加计数器:右键点击“计数器”,选择“添加计数器”。
o选择要监控的指标:如CPU 使用率、内存使用、磁盘I/O 等。
2.Windows Sysinternals Suite:o下载并安装Sysinternals Suite。
o使用如handle.exe、sigcheck.exe等工具来监控进程、线程、句柄等。
3.Resource Monitor:o打开“资源监视器”(Resource Monitor)。
o查看CPU、内存、磁盘、网络等的使用情况。
4.Task Manager:o打开“任务管理器”(Task Manager)。
o查看进程、内存、CPU、磁盘和网络的使用情况。
5.Performance Counters for Java (JMX):o如果你的应用是Java 应用,可以使用JMX 来配置和监控MBean 指标。
6.Logstash:o如果你使用Logstash,可以配置过滤器和输出插件来收集和导出Windows 指标。
7.Prometheus:o安装Prometheus。
o配置Windows Exporter 来导出指标。
8.Zabbix:o安装Zabbix Server 和Zabbix Agent。
o配置Zabbix Agent 来收集Windows 指标。
9.Grafana with Prometheus:o安装Grafana 和Prometheus。
o配置Prometheus 数据源和Grafana 面板来显示Windows 指标。
Windows下监控端⼝号例如tomcat 端⼝号如果tomcat 死掉并重启@echo offrem 读取tomcat死之前的配置⽂件 depotupdate赋予默认值!null 升级失败造成的tomcat 死亡(java -jar 升级程序)如果没有此值或者此⽂件不知为何tomcat 会死 5分钟检测⼀次set depotupdate=nullset tomcatPort=80set URL="http://localhost:%tomcatPort%/depot/TestServlet"set httpcode=0rem 判断 tomcat 死活for /l %%i in (1,1,10) do (echo %%irem 借助⼯具获得项⽬的状态头(curl⼯具的安装会在下⾯提及)for /f "delims=" %%r in ('curl -sL -w "%%{http_code}" %URL% -o /dev/null') do (rem 将变量r的值赋值给httpcodeset httpcode=%%r))rem 判断 tomcat 是如何死的如果是升级造成死亡执⾏升级程序否则直接启动for /f "tokens=1,2 delims==" %%i in (%ETC_HOME%\ETC_Managent\apache-tomcat\conf\update.properties) do (if "%%i"=="depotupdate" set depotupdate=%%jif "%%i"=="tomcatPort" set tomcatPort=%%j)echo 是否通断 %httpcode%echo 端⼝号 %tomcatPort%rem 判断 httpcode 是否 ==200 200 说明通tomcat 还活着,不是200 说明不通不同说明 tomcat 死了启动if not %httpcode%==200 (netstat -ano|findstr 0.0.0.0:%host%>pid.txtrem 查找进程记录,提取第5列的值,并终⽌进程,for 默认根据空格,制表符,;等进⾏字符串分割for /f "tokens=5" %%i in (%cd%\pid.txt) do (echo 虽然tomcat 死了但是进程依旧存在杀死echo try to kill pid %%itaskkill /pid %%i /Frem 删除pid.txt⽂件del /a/f/q "%~dp0\pid.txt)echo depotupdate:%depotupdate%rem 判断 update 状态 depotupdate 状态if "null" == "%depotupdate%" (echo depotupdate:%depotupdate% 不是升级造成的重启Tomcat::setx /M CATALINA_HOME "%ETC_HOME%\ETC_Managent\apache-tomcat"%ETC_HOME%\ETC_Managent\apache-tomcat\bin\startup.bat)if not "null" == "%depotupdate%" (echo depotupdate:%depotupdate% 是升级造成tomcat 挂掉执⾏升级、java -jar %ETC_HOME%\ETC_Managent\script\update.jar %depotupdate%del /a/f/q %ETC_HOME%\ETC_Managent\apache-tomcat\conf\update.properties))pause。
安装tomcat监控服务
安装tomcat监控服务的目的是为了随时监测tomcat的运行状况,若出现内存溢出或其它不能提供正常服务的情况,系统自动能重启tomcat服务,由此减少开发服务人员的工作量,也能提高服务质量。
安装设置分为以下四个步骤:
一、创建监控页面
在项目系统里添加一个提供监控系统访问的页面monitor.jsp,只需输出一句代码,代码如下:
<%
String s=”ok”;
out.println(s.length());
%>
二、修改tomcat配置
若是系统自动安装的服务,可直接跳过这一步。
但是需确定服务名称,以便在以后的步骤使用,如下图:
服务名称
若是手动为tomcat设置服务,请按以下步骤进行:
1、进入tomcat目录下的bin目录,用记事本打开service.bat文件,找到set
SERVICE_NAME=TOMCA TXX这一句,把后面的值改成自己对tomcat设置的服务名,把PR_DISPLAYNAME的值设置为显示的服务名称,这个是在系统管理的服务里面中列表里显示的名字。
如设置信访系统,则设置为这样:
Set SERVICE_NAME=xfgl
Set PR_DISPLAYNAME=tomcat xfgl
保存。
2、在运行里输入“CMD ”,进入命令控制台,使用cd 命令转到tomcat 目录下的bin 目录,运行service.bat install 命令,把tomcat 设置为系统启动服务。
3、进入控制面板->管理工具->服务,在服务列表中找到“tomcat xfgl ”一项,双击弹出窗口,把启动类型改为“自动”,确定保存。
三、 设置监控脚本文件
新建一个vbs 脚本文件,用于访问tomcat 服务下的一个jsp 页面monitor.jsp 。
脚本代码如下:
该脚本的目的是定时访问monitor.jsp 页面,判断页面返回的状态码,若状态不为200,则表示该页面未正常返回,可能是tomcat 服务出了问题,随后自动重启tomcat
服务,
并记录日志,把日志记录在C盘,日志文件以tomcat服务名和当前日期命名。
以上代码是每隔30秒访问一次被监控的页面,红色标记部份的代码可以自行根据情况进行修改。
四、设置操作系统计划任务
这一步操作前请先确定系统服务里的“Task Scheduler”已经启动,并且是自动启动的。
若未启动,则需先启动该服务,并把该服务设置为自动启动。
进入控制面板,打开任务计划,点击右键,新键->任务计划,给任务命一个容易理解的名字,如xfgl。
在该名字上点击右键,选择“属性”,在运行里选择刚才建立并保存的vbs脚本文件,
选择“日程安排”选项卡,在“计划任务”下拉框中选择“在系统启动时”,
选择“设置”选项卡,把“如超出。
”这个选项的勾去掉,然后点击确定即可。