运行日志功能改造心得

本文档详细记录了对UMC运行日志功能的改造过程,旨在解决在Kubernetes集群中,产品多容器日志显示不完整的问题。通过前期准备,确定改造思路,补充WebSocket和BootStrap等知识,设计并实现多容器日志显示,最后完善功能并总结心得。
摘要由CSDN通过智能技术生成

UMC通过控制k8s集群中的容器控制公司产品,在进行控制之前要能监视产品的动态。在实例监视中原有的运行日志功能只能显示一个容器的运行日志,而产品在k8s集群中可能拥有多个容器,会产生日志信息显示不完整且不方便对比的问题,需要对运行日志功能进行改造升级。从前期思路和知识要点的确认到编写设计再到功能实现和功能完善,本篇文档将对整个过程进行详细介绍。

1.前期准备

在进行功能改造之前,我们首先要确定设计运行日志的改造思路;其次思路确定后需要补充知识,对需要用到的知识进行大体了解;最后撰写设计,明确如何改造功能。 

1.1总体思路 

修改功能的大致过程就是总体思路,也就是说,在改造之前要想到修改功能需要使用哪些以前功能中就有的内容,根据功能中已有内容思考还需要添加哪些没有的内容,最后将这些想法清晰的分步写出来。 

1.点击实例监视的产品节点,利用环境ID和产品ID获取当前环境下当前产品的所有容器ID

2.利用容器的心跳时间查看是否存在该容器,并判断出所有容器ID中正在运行的容器ID。

3.如同一页面中显示多个日志,需要根据容器ID的数量将页面划分区域。

4.利用WebSocket获取容器的实时信息,并显示在不同区域中。

1.2知识补充 

根据总体思路学习改造功能的过程中可能会使用的知识点如下:

1.使用BootStrap中网格系统划分区域,网格系统可以根据class自动划分,最多划分12列

2.WebSocket 是 HTML5 提供的一种在单个 TCP 连接上进行全双工通讯的协议,使用WebSocket获取日志信息方法如下:

<%
if (pageBean.getStringValue("wsReqURL") != null){
%>
    var websocket = null;
    if('WebSocket' in window){
        websocket = new WebSocket("<%=pageBean.getStringValue("wsReqURL")%>");
    }
    else{
        alert('Not support websocket')
    }

    websocket.onerror = function(){
        setMessageInnerHTML("error");
    };

    websocket.onopen = function(event){
        setMessageInnerHTML("connected!");
    }

    websocket.onmessage = function(eve
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值