精华内容
下载资源
问答
  • 1、我们在日常的生产过程中,需要跟Tomcat这个服务器打交道,例如:项目部署,项目启停,项目更新等操作,我们都是登录到服务器系统中对Tomcat进行操作,这样一来,容易引发误操作,可能我们命令误输入,对服务器...
  • tomcat服务器监控工具之probe

    万次阅读 2015-07-31 16:07:27
    前言:今天把公司的一台tomcat服务器进行了迁移,为了查看在使用过程中的详细信息,在网上搜索了很多关于web服务器的监控软件,最后拟定使用probe这个开源并且功能也很完善的一款工具接下来介绍一下使用方法与安装...

    前言:今天把公司的一台tomcat服务器进行了迁移,为了查看在使用过程中的详细信息,在网上搜索了很多关于web服务器的监控软件,最后拟定使用probe这个开源并且功能也很完善的一款工具接下来介绍一下使用方法与安装技巧

    一、简介

    psi-probe是lambdaprobe的一个分支版本,用于对Tomcat进行监控,比tomcat的manager强大很多。

    psi就是一个形如叉子的符号Ψ,希腊字母的第23个字母,用来代表fork。

    为啥需要分支呢,因为lambdaprobe已经多年没有更新(大致在2006年就停止发布新版本了)。

    二、下载地址

    http://code.google.com/p/psi-probe/downloads/list

    三、安装

    1.解压,将probe.war放进webapps目录。

    2.修改CATALINA_HOME/conf/tomcat-users.xml

    (权限配置参考如下,由于首先保证可运行,权限没有特别细分,仅供参考)

    <tomcat-users>
    <!--
      NOTE:  By default, no user is included in the "manager-gui" role required
      to operate the "/manager/html" web application.  If you wish to use this app,
      you must define such a user - the username and password are arbitrary.
    -->
    <!--
      NOTE:  The sample user and role entries below are wrapped in a comment
      and thus are ignored when reading this file. Do not forget to remove
      <!.. ..> that surrounds them.
    -->
      <role rolename="tomcat"/>
      <role rolename="role1"/>
      <role rolename="manager-gui"/>
      <role rolename="manager-script"/>
      <role rolename="manager-jmx"/>
      <role rolename="manager-status"/>
      <role rolename="poweruser"/>
      <role rolename="probeuser"/>
      <user username="tomcat" password="tomcat" roles="tomcat"/>
      <user username="both" password="tomcat" roles="tomcat,role1"/>
      <user username="role1" password="tomcat" roles="role1"/>

      <user username="sss" password="sss" roles="manager-gui"/>
      <user username="fbysss" password="sss" roles="manager-script,manager-jmx,manager-status,poweruser,probeuser"/>
    </tomcat-users>

    四、注意事项

    1.不要忘记文件中的<!---->,默认是注释的,需要去掉

    2.tomcat6.0.30以上,角色manager一分为四,manager仍保留但不建议使用,因为那样容易遭到CSRF攻击。详见下面的描述:

    [xhtml]  view plain copy
    1. Note that for Tomcat 6.0.30 onwards, the roles required to use the manager application were changed from the single manager role to add the following four roles. (The manager role is still available but should not be used as it avoids the CSRF protection). You will need to assign the role(s) required for the functionality you wish to access.   
    2.   
    3. manager-gui - allows access to the HTML GUI and the status pages   
    4. manager-script - allows access to the text interface and the status pages   
    5. manager-jmx - allows access to the JMX proxy and the status pages   
    6. manager-status - allows access to the status pages only   
    7. The HTML interface is protected against CSRF but the text and JMX interfaces are not. To maintain the CSRF protection:   
    8.   
    9. users with the manager-gui role should not be granted either the manager-script or manager-jmx roles.   
    10. if the text or jmx interfaces are accessed through a browser (e.g. for testing since these interfaces are intended for tools not humans) then the browser must be closed afterwards to terminate the session.  

    如果配置不对,就会出现403的错误,连tomcat的manager都进不了,更不用说probe了。

    3.lambdaprobe是不支持tomcat6.0.30的。所以最好使用psi-probe。

    4.在配置tomcat-users.xml时,还需要加入poweruser等角色,才可以正常使用,不然也是403Forbidden。

    5.如果要查看System Information,需要在catalina.sh中加入如下语句:

    JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"

    windows版本:catalina.bat中加入SET JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote

    五、权限控制

    probe有 probeuser、poweruser、poweruserplus、manager(针对不同tomcat版本)等角色,对应可操作的功能如下表:

    特别注意一点:表格里面的X表示拥有权限,也就是说,manager的权限是最大的,什么都能操作(不推荐配置)。

    六、测试

    启动tomcat,访问http://127.0.0.1:8080/probe,输入前面配置的用户密码即可

    点击相应的链接就可以看到各种实时监控信息了

    probe1

    probe2

    probe3

    probe4


    展开全文
  • 利用python脚本监控Tomcat服务器

    千次阅读 2018-07-05 21:41:23
    对于最近的开发环境,偶尔会有挂掉的现象发生,然而并没有及时发现,下载需要添加一个监控功能,当服务挂掉的时候需要有邮件提醒,同时我们的系统每天晚上会跑...1、监控tomcat是否挂掉from smtplib import SMTP_SSL...

    ---------------------------------------------------------------------------------------------
    [版权申明:本文系作者原创,转载请注明出处] 
    文章出处:https://blog.csdn.net/sdksdk0/article/details/80933444
    作者:朱培      ID:sdksdk0     
    --------------------------------------------------------------------------------------------

    对于最近的开发环境,偶尔会有挂掉的现象发生,然而并没有及时发现,下载需要添加一个监控功能,当服务挂掉的时候需要有邮件提醒,同时我们的系统每天晚上会跑定时任务,想知道有没有异常发生,所以添加了两个python监本监控,因为本身系统不大,所以没必要去配置kafka+storm这种日志监控了,只用了很简单的方式来处理了。


    1、监控tomcat是否挂掉

    from smtplib import SMTP_SSL
    from email.mime.text import MIMEText
    from email.header import Header
    from os.path import getsize
    from sys import exit
    from re import compile, IGNORECASE
    import sys, time
    import os
    
    
    #定义主机 帐号 密码 收件人 邮件主题
    
    #定义主机 帐号 密码 收件人 邮件主题
    mail_info = {
        "from": "info@sogoucloud.cn",
        "to": "zhupei@sogoucloud.cn",
        "hostname": "smtp.exmail.qq.com",
        "username": "info@sogoucloud.cn",
        "password": "123456",
        "mail_subject": "qybd服务器异常",
        "mail_text": "hello, tomcat服务器出现异常了!,请及时处理",
        "mail_encoding": "utf-8"
    }
    
    
    #发送邮件函数
    def send_mail(error):
    
        #定义邮件的头部信息
        #连接SMTP服务器,然后发送信息
        smtp = SMTP_SSL(mail_info["hostname"])
        smtp.set_debuglevel(1)
        smtp.ehlo(mail_info["hostname"])
        smtp.login(mail_info["username"], mail_info["password"])
        msg = MIMEText(error, "plain", mail_info["mail_encoding"])
        msg["Subject"] = Header(mail_info["mail_subject"], mail_info["mail_encoding"])
        msg["from"] = mail_info["from"]
        msg["to"] = mail_info["to"]
        smtp.sendmail(mail_info["from"], mail_info["to"], msg.as_string())
        smtp.quit()
    
    def isRunning(process_name):
        try:
            process = len(os.popen('ps aux | grep "' + process_name + '" | grep -v grep').readlines())
            if process >= 1:
                return True
            else:
    		   return False
        except:
            print("Check process ERROR!!!")
            return False
    
    
    #调用发送邮件函数发送邮件
    if __name__ == '__main__':
    	process_name = "qybd"
    	isrunning = isRunning(process_name)
    	print(isrunning)
    	if isrunning == False:
    		send_mail("老铁!qybd服务器挂了!")

    2、添加crontab定时任务:

    */3 * * * * python  /usr/tools/qybd/cmd/sendEmail.py >> /usr/tools/qybd/cmd/tomcatlife.py.log 2>&1

    3、使用crontab -u root -l 命令查看当前运行的定时任务

    4、监控日志的脚本

    from smtplib import SMTP_SSL
    from email.mime.text import MIMEText
    from email.header import Header
    from os.path import getsize
    from sys import exit
    from re import compile, IGNORECASE
    
    
    #定义主机 帐号 密码 收件人 邮件主题
    
    #定义主机 帐号 密码 收件人 邮件主题
    mail_info = {
        "from": "info@sogoucloud.cn",
        "to": "zhupei@sogoucloud.cn",
        "hostname": "smtp.exmail.qq.com",
        "username": "info@sogoucloud.cn",
        "password": "123456",
        "mail_subject": "qybd服务器异常",
        "mail_text": "hello, tomcat服务器出现异常了!,请及时处理",
        "mail_encoding": "utf-8"
    }
    
    #定义tomcat日志文件位置
    tomcat_log = '/usr/tools/qybd/tomcat/logs/catalina.out'
    
    #该文件是用于记录上次读取日志文件的位置,执行脚本的用户要有创建该文件的权限
    last_position_logfile = '/usr/tools/qybd/tomcat/logs/last_position.txt'
    
    #匹配的错误信息关键字的正则表达式
    pattern = compile(r'Exception|^\t+\bat\b',IGNORECASE)
    
    
    #发送邮件函数
    def send_mail(error):
    
        #定义邮件的头部信息
        #连接SMTP服务器,然后发送信息
        smtp = SMTP_SSL(mail_info["hostname"])
        smtp.set_debuglevel(1)
        smtp.ehlo(mail_info["hostname"])
        smtp.login(mail_info["username"], mail_info["password"])
        msg = MIMEText(error, "plain", mail_info["mail_encoding"])
        msg["Subject"] = Header(mail_info["mail_subject"], mail_info["mail_encoding"])
        msg["from"] = mail_info["from"]
        msg["to"] = mail_info["to"]
        smtp.sendmail(mail_info["from"], mail_info["to"], msg.as_string())
        smtp.quit()
    
    
    #读取上一次日志文件的读取位置
    def get_last_position(file):
        try:
            data = open(file,'r')
            last_position = data.readline()
            if last_position:
                last_position = int(last_position)
            else:
                last_position = 0
        except:
            last_position = 0
    
        return last_position
    
    #写入本次日志文件的本次位置
    def write_this_position(file,last_positon):
        try:
            data = open(file,'w')
            data.write(str(last_positon))
            data.write('\n' + "Don't Delete This File,It is Very important for Looking Tomcat Error Log !! \n")
            data.close()
        except:
            print "Can't Create File !" + file
            exit()
    
    #分析文件找出异常的行
    def analysis_log(file):
    
        error_list = []                                         #定义一个列表,用于存放错误信息.
        try:
            data = open(file,'r')
        except:
            exit()
        last_position = get_last_position(last_position_logfile) #得到上一次文件指针在日志文件中的位置
        this_postion = getsize(tomcat_log)                      #得到现在文件的大小,相当于得到了文件指针在末尾的位置
        if this_postion < last_position:                        #如果这次的位置 小于 上次的位置说明 日志文件轮换过了,那么就从头开始
            data.seek(0)
        elif this_postion == last_position:                     #如果这次的位置 等于 上次的位置 说明 还没有新的日志产生
            exit()
        elif this_postion > last_position:                      #如果是大于上一次的位置,就移动文件指针到上次的位置
            data.seek(last_position)
    
        for line in data:
            if pattern.search(line):
                error_list.append(line)
        write_this_position(last_position_logfile,data.tell())  #写入本次读取的位置
        data.close()
    
        return ''.join(error_list)                              #形成一个字符串
    
    #调用发送邮件函数发送邮件
    error_info = analysis_log(tomcat_log)
    if error_info:
        send_mail(error_info)
    5、添加crontab定时任务:

    */10 * * * * python  /usr/tools/qybd/cmd/tomcat_log_error_analysis.py >> /usr/tools/qybd/cmd/crontest.py.log 2>&1

    效果如下:




    展开全文
  • 主要介绍了利用python脚本监控Tomcat服务器的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Windows平台下监控Tomcat运行时服务假死或异常后并尝试自动重启Tomcat,已测试可用 Windows平台下监控Tomcat运行时服务假死或异常后并尝试自动重启Tomcat,已测试可用
  • 2. 定位监控Tomcat 目录, 使用内置 IE 浏览监控页面功能(在托盘菜单中) 3. 自动监控(用 -autostart 参数即可), 使用启动文件 "自动后台运行监控程序.bat" 可以不带 DOS 窗口启动并自动开始监控 4. 在托盘气泡中...
  • Tomcat 服务器监控软件 1.2 帮您自动重启无响应的 Tomcat(实际情况哦, 并非每个公司的程序都是健壮的). 内含源码
  • 以前将项目部署到服务器之后,要查看日志文件总是要登录服务器上查看,很麻烦,就很想找一个监控tomcat日志的工具,后来查了一下,说这个probe挺好的。轻量,有web可视化界面,也确实很方便。 二,解决方案 ...

    一,问题

    以前将项目部署到服务器之后,要查看日志文件总是要登录服务器上查看,很麻烦,就很想找一个监控tomcat日志的工具,后来查了一下,说这个probe挺好的。轻量,有web可视化界面,也确实很方便。

    二,解决方案

    2.1 下载最新版的probe.war:

    github地址:https://github.com/psi-probe/psi-probe/releases
    

    在这里插入图片描述

    2.2 将下载好的probe.war包拉到tomcat的webapps下

    2.3 修改tomcat的conf文件夹下的tomcat-users.xml文件

    增加如下代码:

    <tomcat-users>
    
      <role rolename="probeuser" />
      <role rolename="poweruser" />
      <role rolename="poweruserplus" />
      <role rolename="manager-gui" />
    
      <user username="用户名" password="密码" roles="manager-gui" />
    
    </tomcat-users>
    

    在这里插入图片描述

    2.4 访问probe

    http:// ip地址 : tomcat端口号/probe
    

    三,附加信息

    3.1 role表示角色,不同角色表示不同权限

    3.2 user表示用户,设置登录该系统的用户的用户名、密码、角色(权限)

    3.3 使用probe需要添加上面的额外的角色,不然会访问失败。

    3.4 有问题,最好还是去官网那里查一下。毕竟那里的信息是最全的。附上probe的官网安装介绍:https://github.com/psi-probe/psi-probe/wiki/InstallationApacheTomcat

    展开全文
  • tomcat监控工具probe

    2017-08-29 11:55:57
    probe是一个tomcat监控工具,部署后可实时查看tomcat的运行情况,实时查看项目log,很方便,很强大
  • 2.20秒执行一次,如果对应的tomcat服务崩溃宕机,会自动重启 3.会生成一个日志文件 restart_service.txt 记录宕机重启时间 4.只需要修改checkTomcatServer.bat中的_task和_svr,不需要引号 5.会自动生成一个start.bat...
  • JVisualVM远程监控linux服务器 tomcatJVisualVM远程监控linux服务器 tomcatJVisualVM远程监控linux服务器 tomcat
  • Tomcat测试监控Tomcat性能监控工具

    千次阅读 2019-07-30 09:15:31
    Tomcat主要监控线程工作状态、请求数、 会话数、线程数、虚拟主机、JAVA虚拟机内存占用情况。 监控工具 Tomcat提供的manager 通过使用Applications Manager(又称opManager)来进行监控。 使用这种方式,所监控Tomc...
         文章来源:http://www.xxcmw.com/shangxun/a-205310.html 转载请注明出处
    

    监控指标说明

    Tomcat主要监控线程工作状态、请求数、 会话数、线程数、虚拟主机、JAVA虚拟机内存占用情况。

    监控工具

    Tomcat提供的manager

    通过使用Applications Manager(又称opManager)来进行监控。

    使用这种方式,所监控Tomcat必须运行manager应用,缺省情况下,该应用总是运行在服务器中的。

    增加Manager Role: 访问manager应用的用户的角色权限必须是manager.修改/conf目录下的tomcat-users.xml文件,在节点下添加一个user节点,即可创建一个用户。Tomcat版本不同配置也有差异,5.x和6.x创建的用户角色应为manager,7.x创建的用户角色为manager-jmx,举例如下:在5.x和6.x中创建一个manager角色的用户,用户名为admin,密码为chenfeng:

    在7.x中创建一个manager角色的用户,用户名为admin,密码为xxxxx:修改配置后,需要重新启动 Tomcat 服务器。连接manager时将用户名/密码指定为admin/xxxxxxxx通过浏览器访问http://localhost:8080/manager/jmxproxy ,输入用户名密码,然后就可以看到返回了所有的监控信息  Probe

    下载: http://www.lambdaprobe.org/downloads/1.7/probe.1.7b.zip

    解压缩后,把probe.war放到TOMCAT的webapps下,设置server.xml的context

    设置用户如下,在tomcat_user.xml中

    在这里插入图片描述

    设置环境变量,获取服务器状态 # vi /etc/profile JAVA_OPTS=-Dcom.sun.management.jmxremote export JAVA_OPTS

    重启动服务器

    输入http://localhost/probe/,输入用户名和密码 即可进入,这里比较精彩的是对内存的监视,动态显示了JVM的内存图表

    展开全文
  • tomcat监控脚本(支持windows、linux),让tomcat服务器永不宕机
  • Tomcat远程监控功能

    2019-09-25 08:50:28
    一、修改配置文件,开启远程监控功能 [root@fengling ~]# vim /usr/local/tomcat/bin/catalina.sh #加入以下内容 #!/bin/sh CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management....
  • Tomcat监控

    千次阅读 2019-10-23 11:06:46
    Tomcat监控方法通常有两种: 一是自带的监控模块status; 二是第三方监控工具probe。 一、Tomcat启动与停止 Tomcat启动 ./usr/local/apache‐tomcat‐8.5.31/bin/startup.sh Tomcat停止 ./usr/local/apache‐...
  • 前面已经为用户配置好了JDK环境,现在就开始搭建tomcat服务器环境 下载tomcat 地址:http://tomcat.apache.org/download-80.cgi -解压 tar -zxvf apache-tomcat-7.0.54.tar.gz 运行 进入tomcat的bin目录下执行:...
  • tomcat内存监控程序

    2018-07-07 15:56:38
    该程序能实时监控Tomcat服务器的运行内存,给运维人员提供可靠的消息,方便Tomcat的性能优化。
  • 服务器监控tomcat进程

    2018-10-23 15:54:43
    由于服务器的服务经常被停,现增加定时任务脚本实现服务停后自动启动 1、在编写脚本时在linux环境下写,在windows环境不可用 #!/bin/bash #tomcat启动脚本 tomcat10001startup=/app/appdev/apache-tomcat-6.0.45/bin...
  • tomcat监控工具-probe3.0

    2018-04-17 18:11:50
    实时tomcat监测工具prode3.0,支持中文显示,亲测可用。支持tomcat8.0
  • Tomcat 服务器监控软件 [{$latestVersion}] by beansoft@126.com 帮我自动重启无响应的 Tomcat(实际情况哦, 所有的程序都是有 BUG 的), 定时重启 Tomcat.// 后记: 推荐使用开源的Tomcat监控工具 [LambdaProbe|...
  • 内存配置: ...我的服务器的配置:  # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=20
  • 远程服务器切换到你的jdk/bin目录。我的是/usr/lib/jvm/java-1.8.0/bin 。 执行如下命令: jstatd -p 1099 -J-Djava.security.policy=&lt;(echo 'grant codebase "file:${java.home}/../lib/tools.jar&...
  • tomcat自带监控

    2020-01-15 22:54:49
    设置监控登录用户 // 编辑tomcat/conf/tomcat-users.xml文件 #########################新增如下配置################### <role rolename="tomcat"/> <role rolename="manager-status"/> <role ...
  • 导语基于京东云丰富的实战经验,我们将陆续分享运维方面的干货,帮助小伙伴们进阶为运维达人,欢迎持续关注。...本期作者:蒲公英京东云应用研发部Tomcat是一款开源的轻量级Web应用服务器,广泛应用于云服务...
  • 脚本运行在linux环境,执行后显示系统前5个cpu占用最大的java程序,并且把里面的异常信息打印出来
  • Tomcat学习--tomcat运行状态监控

    千次阅读 2018-05-02 20:43:42
    上一篇博客Tomcat学习--war服务相关状态信息监控中我们已经了解了一下对war包的启动、停止、运行状态、重载和卸载操作的实现机制,接下来我们用这篇博客了解一下tomcat运行过程中服务器,操作系统,jvm和war的一些...
  • Eclipse配置tomcat服务器及tomcat简介

    千次阅读 多人点赞 2019-05-20 09:42:46
    一、手动配置tomcat到eclipse tomcat的压缩包资源可以去资源包中下载。(win32和win64都有) 1、 打开eclipse–>Window–>Preferences,按下图步骤选择: 2、 博主给的资源是tomcat7.0版的,所以这里选择配置...
  • Status页对Tomcat监控的步骤如下: ...步骤2:修改完成后,重启Tomcat服务器,在浏览器中输入URL(http://localhost:8080/),如果是远程访问,访问的URL为http://IP:8080,如图所示。 在JBo...
  •  # cd /opt/tomcat/apache-tomcat-8.0.48/bin/  2、编辑配置文件  # vim catalina.sh  3、在下图中上面添加参数    参数添加后的样子  3.1、此配置连接jmx不需要账号密码:  CATALINA_OPTS=$CATALINA_OPTS ...
  • 点击上方关注“Java后端技术栈”回复“面试”获取最新资料一、下载地址https://tomcat.apache.org/download-80.cgi二、安装步骤将安装包 apach...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,616
精华内容 22,646
关键字:

tomcat服务器监控