如何把tomcat 实时日志监控的日志实时输出到Web页面上

我们开发软件的,通常会有一个测试环境/开发环境,但是系统开发完成后,还会有一个生产环境,也叫正式环境。正式环境我们一般是不能让开发人员去远程登录和维护的,一般正规的生产环境是专门的负责人员去负责更新,开发人员只能接触到测试环境/开发环境。
但是,如果生产环境上有错误,需要跟踪,怎么让开发人员不具有远程登录服务器的权限,但是又能让开发人员像tail命令一样实时查看日志文件呢?比如查看App的log4j日志文件、Tomcat的控制台日志文件等...
远哥也思考了许久,最近找到了一个解决办法,使用WebSocket方式可以实现一个基于Web系统的查看日志文件,也就是浏览器的方式远程实时查看服务器上的日志文件,并且像tail -f 命令一样,会一直显示最新的日志信息,自动滚动。
下面是我实现的工具切图:
阅读(...) 评论()博客访问: 31088
博文数量: 1
博客积分: 10
博客等级: 民兵
技术积分: 52
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 系统运维
&&&&&&&&这段时间公司一个新的产品线上线,通过部署elasticsearch+logstash+kibana实现日志实时查看,并开放访问接口给开访问人员,让运维从枯燥的日志查询工作中解放出来。ELK 平台最大的亮点是,可以通过关键词,定位出问题的物理服务器和时间段,集群环境中相当实用。
&&& kibana简单实用手册。
1&&&& &&ELK kibana使用
ELK elasticsearch+logstash+kibana
, 主要介绍kibana web工具使用。
1.1 &&&& 界面介绍
1.1.1& &&&&&& QUERY
输入内容后进行全文检索
1.1.2& &&&&&& FILERING
手动指定过滤条件,默认是显示当天所有日志
1.1.3& &&&&&& ALL EVENTS
显示满足条件的日志,默认显示500条,可手动调整;
1.1.1& &&&&&& Fileds
指定所有显示的内容,主要字段具体意义如下:
@timestamp 时间。精确到毫秒;
主机名。为产生日志的服务器的主机名;
_type,type&&&&& 类型。具体为子系统名称。如 XXXX-interface
信息。为日志具体类容信息;
path&&&&&&& 路径。在服务器上的日志存放路径;
通过勾选的方式,可以指定显示那些内容,默认情况下全部显示。
1.2 &&&& 查询演示
1.2.1& &&&&&& 复合查询
&&&&&& 复合查询,可以使用多个查询字段同时进行查询,查询指定业务子系统指定时间段日志信息。主页面中 “Fields”显示的字段,都可以作为查询单独字段或者多个字段进行查询,相当于多个and匹配。
1.2.1.1& 指定查询字段
1)点击主页面中任意一条记录,显示如下:
2)点击上图红色箭头标记字段的后面的放大镜,这样表示过滤出 “XXXX-interface”子系统的日志。
1.2.1.2& 添加多个字段
按照"1.2.1.1" 操作,进行其他字段添加。
1.2.1.3& 修改查询类容
1)返回页面的顶部,点击 “FILTERING”后面的箭头,显示出你前一步已经选择的字段。
2)点击对应字段的编辑输入按钮
&3)输入你在该字段要查询的关键词,点击“Apply”。
1.2.1.4& 修改时间段
1)点击主界面右上角 “a day ago to few seconds ago”后面的三角型,可以指定显示默认时间段的日志信息。
2)点击下拉菜单中的 “Custome”选择自定义时间段,手动修改查询的起始和结束时间(可以精确到毫秒),点击
“Apply”。
1.2.2& &&&&&& 日志前后记录
当已通过关键词组合查询到了需要的一条记录,但是需要查询该条日志前后相关联的日志。首选确定该条日志出现的时间,然后通过指定“时间段+服务器+子系统”方式找到前后相关记录。
1.2.3& &&&&&& 定位出问题主机
通过直接搜索关键词,然后查看详细信息,可以快速定位出现日志的物理主机和出问题时间段。
2&&&& 其他功能
&&&&&& 当使用者关闭浏览器时候,对应设置将不会保存。
2.1 &&& 临时界面颜色修改
1)点击主界面右上角 齿轮 。
2)点击 “General“ 下的 “Sytle”, 设定为 ”light“ 点击 ”save“
2.2& 永久界面颜色修改
& 在安装kibana 目录下 app/dashboards/logstash.json 文件。将& "style": "{{ARGS.style || 'dark'}}" 改为 "style": "{{ARGS.style || 'light'}}"
2.2 &&&& 显示条数修改
&&&&&& 默认每页显示100条记录,一共5页
1)“All EVENTS”所在行的最尾部,点击 齿轮
2)点击 “Paging”标签页进行每页条目和页数的设置,点击 “Save”
阅读(17035) | 评论(0) | 转发(0) |
上一篇:没有了
下一篇:没有了
相关热门文章
给主人留下些什么吧!~~
请登录后评论。转自/html/99/404.html
最近遇到一个问题,我们的项目使用windows2003服务器,tomcat+oracle数据库。项目中有两个测试人员,经常需要查看定位问题,但是有两个问题:
& & 1.windows下tomcat输出日志跟linux下不一样,linux可以远程连接使用tail命令很轻松就可以看到日志,并且可以随时停止。但windows的日志只输入到控制台,不输出到日志文件。这就使得只有开着控制台才能看得到日志,而且不能ctrl+C停止截取。
& & 2.用远程桌面连接的话,两个测试人员不可能同时看得到控制台,而若使用VNC,RADMIN等软件,又会造成双方操控很混乱。
& & 所以就在想,要是能像linux那样随时查看日志又不用操控控制台就好了。
& & 解决思路:
& & 1.让tomcat日志输出到文件。这个明显可以实现的。
& & 2.找个软件能够连接windows,并且使用命令动态查看日志文件,比如tail。其实linux中的大多数命令windows也都有,只不过被界面封装了,现在linux的广大爱好者早就研发出了将windows命令转为了相应的linux命令的软件,所以也不成问题。
& & 下面就开始寻找解决方法了:
& & 1.让tomcat日志输出到文件
一般启动tomcat时都用startup.bat,但又有多少人真正研究过这个bat文件中到底暗藏什么玄机呢?我们来看一下这个bat文件。它使用call &%EXECUTABLE%& start %CMD_LINE_ARGS%这句话来调用catalina.bat启动。这句话执行的命令就相当于控制台输入catalina.bat start。怎么样,是不是跟linux很像啦,不过这个start是会在新窗口中启动catalina.bat,并将日志文件输出到新窗口中,这显然不是我们要的效果。我们将它改成call
&%EXECUTABLE%& run %CMD_LINE_ARGS%。这样控制台就不会输出日志文件了,让catalina.bat去决定日志输出在哪里吧。
& & 那再来看一下catalina.bat。这里我就直接引用网上的方法了:寻找以%ACTION%结尾的四处,在后面加上
&& %CATALINA_BASE%\logs\detailLog.%DATE:~0,10%.log&
detailLog是我自己起的名字,大家可以随意更改,但是注意不要与默认日志文件冲突,否则启动会报个错,尽管无关紧要。那%DATE:~0,10%是用来截取系统时间的。在我的服务器上echo %DATE%,显示出的是“ 星期二”,截取0-10位,也就是“”,所以今天产生的log文件名字应该是
detailLog..log
这样再去双击startup.bat,就会发现控制台启动后不再输出日志文件。再去查看detailLog..log,会发现日志都在里面。
那下面的,就是如何简单的将日志文件显示出来了。
& & 2.动态查询windows日志文件
我们都喜欢用tail命令,那就去找个windows中的tail命令。
先下载一个UnxUtils,将它放在某个找得到的位置,解压,找到..\UnxUtils\usr\local\wbin目录,看到了吧,我们熟悉的linux命令都在里面了。将这个路径加到服务器系统环境变量PATH中,再打开cmd,输入tail --help,显示出帮助信息,好了,可以使用了。注意,远程桌面连接的童鞋,可能要在每一个用户那里都重新保存一下环境变量,否则其他用户会不认识这个命令哦。
这样的话,在cmd中输入tail logs\detailLog..log,就跟linux效果一样啦。
& & 我还是觉得不方便,每次都要输入一下,那何不写个bat文件呢?
& & 桌面上新建记事本,
& & @echo off
& & tail -f E:\apache-tomcat-6.0.24-2\logs\detailLog.%DATE:~0,10%.log
& & 保存为log.bat文件。直接双击搞定!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1842次
排名:千里之外
原创:13篇
(4)(3)(2)(1)(5)

我要回帖

更多关于 linux tomcat实时日志 的文章

 

随机推荐