[HTML] websocket的模拟日志监控界面

模拟命令行的界面效果,使用swoole作为websocket的服务,重新做了下html的界面效果

<html>
<head>
    <title>SwLog Montior-菜地</title>
</head>
<style>
@charset "utf-8";
body {
    background-color:#000;
    margin:0px;
    padding:0px;
    color:rgb(0,198,83);
    font:"微软雅黑";
    font-size:14px;
}
.window {
    border:2px #ccc outset;
    width:1200px;
    height:450px;
    background-color:rgb(20,23,41);
    margin: 10px auto;
    overflow:hidden;
}
.title {
    background-color:#fff;
    padding:2px;
    color: #000;
}
#text {
    background-color:rgb(20,23,41);
    border-top:#ccc outset 2px;
    height:420px;
    overflow-y:scroll;
    padding:5px;
}
ul {
    margin:0px;
    padding:0px;
    list-style:none;}
    input {
    background-color:#000;
    border:0;
    color:#fff;
    outline:none;
    /*font-size:12px;*/
    width:100%;
}
</style>
<script src="reconnecting-websocket.min.js"></script>
<script src="http://code.jquery.com/jquery-1.10.2.min.js">
</script>
<script>
$(document).ready(function(){

    var wsuri = "ws://192.168.1.102:9501";

    var sock = new ReconnectingWebSocket(wsuri);
    sock.debug = true;
    sock.timeoutInterval = 5400;
    //建立连接后触发
    sock.onopen = function() {
    console.log(" 建立连接后触发 connected to " + wsuri);
    $("ul").append("<li>connected to "+wsuri+" success</li>");
    }
    // 关闭连接时候触发
    sock.onclose = function(e) {
    console.log("关闭连接时候触发 connection closed (" + e.code + ")");
    $("ul").append("<li>disconnected to "+wsuri+"...</li>");
    }
    // 收到消息后触发
    sock.onmessage = function(e) {
        console.log("收到消息后触发 message received: " + e.data);
        $("ul").append("<li>"+e.data+"</li>");
        var scrollHeight = $(‘#text‘).prop("scrollHeight");
        $(‘#text‘).scrollTop(scrollHeight,420);
    }
    //发生错误的时候触发
    sock.onerror=function (e) {
        console.log("发生错误时候触发"+wsuri);
        $("ul").append("<li>connected to "+wsuri+" failed</li>");
        var scrollHeight = $(‘#text‘).prop("scrollHeight");
        $(‘#text‘).scrollTop(scrollHeight,420);
    }

    $(document).keyup(function(event){
        if(event.keyCode ==13){
            $("ul").append("<li>.</li>");
            var scrollHeight = $(‘#text‘).prop("scrollHeight");
            $(‘#text‘).scrollTop(scrollHeight,420);
        }
    }); 

});
</script>
</head>
<body>
<div class="window">
    <div class="title">
        <span>SwLog Montior</span>
    </div>
    <div id="text">
        <ul>
        <li>Welcome...</li>
        </ul>
    </div>
</div>
</body>
</html> 

原文地址:https://www.cnblogs.com/taoshihan/p/12154317.html

时间: 2024-11-08 18:55:11

[HTML] websocket的模拟日志监控界面的相关文章

Logstash实践: 分布式系统的日志监控

转自:http://www.jianshu.com/p/6575041b597d 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及早发现程序的问题 只做到第1点的,你可以洗洗去睡了.很多公司都有做到第2点和第3点,这些公司的服务端程序基本已经跑了很长时间了,已比较稳定,确实无需花太多时间去关注.如果一个新产品,在上线初期,我觉得就有必要做到第4点. 日志怎么看? 都说了,我们没

ElasticSearch实战-日志监控平台

1.概述 在项目业务倍增的情况下,查询效率受到影响,这里我们经过讨论,引进了分布式搜索套件——ElasticSearch,通过分布式搜索来解决当下业务上存在的问题.下面给大家列出今天分析的目录: ElasticSearch 套件介绍 ElasticSearch 应用场景和案例 平台架构 下面开始今天的内容分享. 2.ElasticSearch 套件 2.1LogStash LogStash是一个开源的.免费的日志收集工具,属于Elastic家族的一员,负责将收集的日志信息输送到ElasticSe

Sentry错误日志监控你会用了吗?

无论作为新手还是老手程序员在程序的开发过程中,代码运行时难免会抛出异常,而且项目在部署到测试.生产环境后,我们便不可能像在开发时那样容易的及时发现处理错误了.一般我们都是在错误发生一段时间后,错误信息才会传递到开发人员那里,然后一顿操作查看程序运行的日志,就熟练使用awk和grep去分析日志,但是往往我们会因为日志中缺少上下文关系,导致很难分析真正的错误是什么. Sentry由此应运而生成为了解决这个问题的一个很好的工具,设计了诸多特性帮助开发者更快.更方面.更直观的监控错误信息. 关于日志管理

如何使用ARMS配置tengine的日志监控

来自 深圳市小亿网络有限公司 王昕岩 的撰稿 最近公司通过阿里云的业务实时监控服务 ARMS成功搭建了基于tengine的日志监控系统.这里简单分享一下使用[font=&quot]ARMS用于监控[font=&quot]tengine日志的经验.[font=&quot] 公司发展至今,现阶段所有接口都使用阿里的tengine作为web容器,类似nginx,在日志中也记录了包括host,url, ip, 包体大小,响应时长等信息.目前的业务需求场景是希望有一套系统来监控接口的异常,来

zabbix之日志监控

一.日志item介绍 下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配置Item的时候,Type选择Zabbix agent (active),这里主要需要配置的是Key.下面是监控日志的两种key--log和logtr. log[/path/to/some/file,<regexp>,<encoding>,<maxlines>,<mod

zabbix 监控界面状态一直显示为loading的解决方法

今天安装完Zabbix之后,第一次登录到监控界面,发现界面上的status状态都显示的是loading,等待了一会还是为改变,最后发现是nginx的问题. nginx在执行zabbix dashboard的 jsLoader.php时由于fastcgi缓存不够用,会生成临时文件放到/var/lib/nginx/tmp/fastcgi目录下面(目录是可配置的),由于目录没权限访问导致缓存文件无法生成,所以 jsLoader.php一直执行失败. 你可以调整fastcgi缓存目录的权限,或者加大ng

SignalR实现实时日志监控

.net SignalR实现实时日志监控 摘要 昨天吃饭的时候,突然想起来一个好玩的事,如果能有个页面可以实时的监控网站或者其他类型的程序的日志,其实也不错.当然,网上也有很多成熟的类似的监控系统.就想着如果通过.net该如何实现?所以就在想,通过系统内部将消息推送到前端,.net中可以通过pull或者push的方式,pull通常的做法就是ajax方式不停的请求一个接口,这种方式,不太理想.然后就在想如何通过服务端想客户端推送消息.之前看到过SignalR方面的文章可以实现push的功能,sig

windows日志监控

bat脚本,主要作用,每个五分钟读取日文本件中新增内容,进行错误赛选,如果有错误信息,将错误信息用邮件发送给管理员. 其中awk和sed需要手动下载 :读取number.txt文档,获取上一次执行时文件的行数 for /f "delims=" %%f in (number.txt) do ( set a=%%f) :读取新增行,进行ERROR筛选,将赛选信息导入err文件中 D:\tools\awk\awk.exe '{print NR" "$0}' D:\unit

Zabbix监控之系统及应用日志监控报警

zabbbix还可以用于支持/不支持翻转的日志文件的集中监控与分析.比如系统日志/var/log/message /var/log/secure等.当一个日志文件包含特定的字符或者字符模式时,zabbix向用户发送报警信息. 1.选择 Configuration-templates-Template OS Linux模板,或者是自定义正在使用的模板,选择item-create item 有几个地方需要确认: type:一顶要选择zabbix agent active     ##中文就是主动模式