HISUI
服务器监测部署异常问题处理记录
2023年06月06日 15时48分

服务器监测功能-推荐下载更新:

更新包: 复制下面的地址,单独访问以下载包。更新不影响his业务的使用

http://bsp.hisui.cn/static/datamonitor.rar

可能有其他问题,先看下面总结的经验,自己处理。还是不行联系远程。
服务器监测功能的部署异常处理的记录:

  • 1、 检查文件是否存在:不存在附件【问题】文件夹中找到,添加到服务器对应路径下。
    scripts_lib/echarts3.6.2/echarts.js
    scripts_lib/vue.js
    scripts/mutil.js
    scripts/websys.encrypt.js
    scripts_lib/bootstrap-3.0.3 文件夹不存在,解压出来放服务器。
  • 2、打开页面,右键,查看源码。还是能搜到: BOOTSTRAP303
    那么Studio打开文件:websys.monitor.csp 找到
<BOOTSTRAP303/>

需要替换为:

<link rel="stylesheet" type="text/css" href="../scripts_lib/bootstrap-3.0.3/dist/css/bootstrap.min.css"> <script type="text/javascript" src="../scripts_lib/bootstrap-3.0.3/dist/js/jquery.js" charset="utf-8"></script> <script type="text/javascript" src="../scripts_lib/bootstrap-3.0.3/dist/js/bootstrap.min.js" charset="utf-8"></script>
  • 3、Studio打开文件:ext.util.String.cls
    请检查方法是否存在,不存在需要新增:
ClassMethod IsIRIS()
{
    Quit $zv["IRIS"
}

ClassMethod GetConnPort()
{
    Set ConnPort="1972"
    Set CurNS = $namespace
    Set $namespace = "%sys"
    If ..IsIRIS(){
        if $d(^SYS("CONFIG","IRIS","Startup","Startup"))#2 Set ConnPort = $lg(^SYS("CONFIG","IRIS","Startup","Startup"),6)
    }ELSE{
        if $d(^SYS("CONFIG","CACHE","Startup","Startup"))#2 Set ConnPort =  $lg(^SYS("CONFIG","CACHE","Startup","Startup"),6)
    }
    Set $namespace = CurNS
    Quit ConnPort
}


/// w ##class(ext.util.String).ServerIP()
ClassMethod ServerIP()
{
    Set SERVER=""
    if $d(%request){
        Set SERVER = $G(%request.CgiEnvs("LOCAL_ADDR"))
        Set:SERVER="" SERVER = $G(%request.CgiEnvs("SERVER_ADDR"))  // IRIS没有CgiEnvs("LOCAL_ADDR")
        if $d(%request)&&(SERVER'=""){
            //Set SERVER = %request.CgiEnvs("LOCAL_ADDR") ;=192.168.2.21 %request.CgiEnvs("SERVER_ADDR")
            Set URLServerIP = %request.CgiEnvs("SERVER_NAME") ;=10.90.11.66=>URLIP=>负载IP
            if ($P(SERVER,".",1,3)'=$p(URLServerIP,".",1,3)),($G(^BSP.ECPIP("Flag"))=1){
                //巩义人民,院内私有云,服务器IP为双IP, 医保与护理都要使用10.90.11.XX网段IP
                //^BSP.ECPIP("Flag")=1表示【内外网IP最后一位完全相同时】强制转成外网IP
                Set $P(SERVER,".",1,3)=$p(URLServerIP,".",1,3)
            }
            if ##class(websys.Conversions).IsValidMethodName("CF.BSP.SYS.SRV.IPList","SwitchIP"){
                Set SERVER = ##class(CF.BSP.SYS.SRV.IPList).SwitchIP(URLServerIP,SERVER)
            }
        }
    }else{
        Set SERVER = $p($zu(54,13,$zu(54,0)),",")
    }
    Quit SERVER
}

  • 4、his8.5.2以下的版本配置服务器的时候,点保存,没有提示成功。
    F12,然后点保存,看到前端有报错:
    “e7”未定义
    原因:his8.5.2以下的版本都没有这个加密,解密的方法。需要更新两个文件,覆盖更新前,自己备份。
    scripts/websys.encrypt.js
    web.Util.Encryption.cls
    更新文件放在更新包的位置:【服务器监测功能升级】/【问题】

  • 5、页面报错类似:
    2023-07-03 18:13:03 执行【Journal大小检测】时,发现【DB6】出现问题。X:DB6服务器服务不可访问。Code:ERROR #5002: Cache error: zInvokeClient+205^%SOAP.WebClient.1

    这是类里面的用户密码权限不够。
    解决办法:
    studio 打开类:websys.ServerConfigMgr.cls 到最后
    修改为对应的 _system权限的用户:
    Parameter un = “_system”;
    对应的密码修改,要改那么自己的:
    Parameter up = “SYS”;
    这个用户密码是对所有配置的IP服务器的。如果不同服务器的密码不同,参考第四部,给每个服务器单独配置用户,密码。
    保存,然后测试一遍,发起任务,看是否有新加的报错提示。

  • 6、时间的默认差异值是2秒,如果要修改,查询表:websys.MonitorType 用SQL修改。
  • 7、服务器如果出现问题,不能改成未激活。SQL查询:
    select * from websys.ServerConfig
    找到那条记录,把 active 改成 N,未激活的
  • 8、任务执行报错,提示:zPut+7ext.util.Uson0bject.1 *(subscript 1 is “”
    常见于老项目8.2及以下版本的,请
    点我看这个解决
上一篇: 下一篇:

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

访问量: 379610