浏览器动态显示服务器日志信息集成工具实践

这个任务可以完全只有一句命令行就搞定:

tail -f -n 500 /smapp/servers/tomcat/apache-tomcat-7.0.72/logs/catalina.out

然而 实际上我们的系统是一个超级分布式的系统,单是内网测试环境涉及的服务器达到20+这个量级,于是单是找某一个服务器的地址也成了一个工作负担

我们运维采用了设置一个跳板机来处理这个事儿

登录跳板机——>SSH 登录到指定服务器

中间还得再输一次账号、密码,记服务器名称,记host也是个头疼的工作,这是我制作这样一个工具的原因之一

另外一点,Xshell 还是  WinSCP 都没法对日志信息为所欲为,我在测试调度功能时日志书写很快很快,看了一上午的调度日志,眼睛也痛了。痛定思痛,思前想后还得自己写个工具。

下面言归正传,说一说整体的实现:

1.后端部分

找到想要打印日志的服务器 ,在这个服务器上运行一个websocket进程供前端请求,而这个websocket执行服务器上的一个shell脚本,这个脚本打印我想要的日志

下载一个websocketd 程序到  /usr/local/websocketd 目录,这个程序不需要编译,可以直接运行

创建一个cmd.sh 这个脚本完成打印我们想要日志的工作

#!/bin/bash
while :; do
     tail -f -n200 /smapp/servers/tomcat/apache-tomcat-7.0.72/logs/catalina.out 
done

命令行运作:

./websocketd --port=8008 --staticdir=. ./cmd.sh

这个时候输出的就是打印日志的内容,这里需要注意端口不要与其他进程冲突了

ctrl+C 退出后进程就会结束,但是实际上我们想要这个进程一直一直在运行,所有需要优化下命令行

nohup ./websocketd --port=8008 --staticdir=. ./cmd.sh &

运行后不再打印输出,我们可以退出服务器连接,这个进程将会在后台一直跑

2.前端部分

首先得有台网页服务器放我们的导航页面,我找了内网151这台机,找到 /usr/local/ nginx/conf 下面的 nginx.conf

添加一个 location 

       location /download {
           autoindex on;
           alias   /var/www/html/download/;
           index  index.html index.htm;
}

把导航页放在 

/var/www/html/download/  这个路径下

导航页简陋一点,就是一些超链接,页面如下
<!doctype html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"/>
        <title>日志中心</title>
        <style type="text/css">
        .table1{
            width:100%;
            border-bottom:1px;
            background:#f3f3f3 ;
            text-align:center;
        }

        </style>
    </head>
    <body>
        <div id="test">
            <hr>
            <p style=" text-align:center;">测试环境专车日志</p>
            <hr>
                <table class="table1" cellspacing="1" cellpadding="4" border="1">
                <tr>
                    <th>乘客端</th>
                    <th>司机端</th>
                    <th>调度</th>
                    <th>订单</th>
                    <th>用户中心</th>
                    <th>管理系统</th>
                </tr>
                <tr>
                    <t
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值