{
    "name"  : "pnc系统异常记录",
    "problems" : {
        "outband_exception" : {
            "desc"      : "【问题】板卡存在带外通道状态异常，会导致很多业务功能模块功能异常，从而导致客户网络异常。",
            "advice"    : "【建议】带外通道异常，触发原因较多，建议将诊断日志直接反馈到400工程，联系方式4008-111-000。"
        },
        "skb_use_up" : {
            "desc"      : "【问题】板卡SKB使用率高，会导致很多业务功能模块功能异常，从而导致客户网络异常。",
            "advice"    : "【建议】SKB使用率高触发原因较多，建议将诊断日志直接反馈到400工程，联系方式4008-111-000。"
        },
        "rdp_send" : {
            "desc"      : "【问题】RDP发送队列拥堵，会导致很多业务功能模块功能异常，从而导致客户网络异常。",
            "advice"    : "【建议】RDP发送队列拥堵触发原因较多，建议将诊断日志直接反馈到400工程，联系方式4008-111-000。"
        },
        "rdp_recv" : {
            "desc"      : "【问题】RDP接收队列拥堵，会导致很多业务功能模块功能异常，从而导致客户网络异常。",
            "advice"    : "【建议】RDP接收队列拥堵触发原因较多，建议将诊断日志直接反馈到400工程，联系方式4008-111-000。"
        },
        "socket_use_up" : {
            "desc"      : "【问题】TIPC SOCKET拥堵，会导致很多业务功能模块功能异常，从而导致客户网络异常。",
            "advice"    : "【建议】TIPC SOCKET拥堵触发原因较多，建议将诊断日志直接反馈到400工程，联系方式4008-111-000。"
        },
        "hg_frame_check" : {
            "desc"      : "【问题】板卡带内HG端口出现错帧，会导致很多业务功能模块功能异常，从而导致客户网络异常。",
            "advice"    : "【建议】板卡带内HG端口出现错帧触发原因较多，建议将诊断日志直接反馈到400工程，联系方式4008-111-000。"
        }
    }
}
---------------------------code-------------------------------
cli('debug support')
log_pnc = cli('pnc show error slot all')
cli('exit')
log_hg_logging = cli('show logging | include %BACKPLANE')

reg_outband_exception = /OUTBAND exception/
reg_skb_use_up = /SKB_USE_UP/
reg_rdp_send = /RDP_SEND/
reg_rdp_recv = /RDP_RECV/
reg_socket_use_up = /SOCKET_USE_UP/
reg_hg_frame_check = /error frame/
reg_hg_frame_check_2 = /BACKPLANE-3-PORT_STATE/

r1 = log_pnc.match(reg_outband_exception)
r2 = log_pnc.match(reg_skb_use_up)
r3 = log_pnc.match(reg_rdp_send)
r4 = log_pnc.match(reg_rdp_recv)
r5 = log_pnc.match(reg_socket_use_up)
r6 = log_pnc.match(reg_hg_frame_check)
r7 = log_hg_logging.match(reg_hg_frame_check_2)

result = "PASS"
if r1:
    change_title('检测带宽通道状态异常')
    add_problem('outband_exception')
    result = "FAIL"
end

if r2:
    change_title('检测到SKB使用率异常高')
    add_problem('skb_use_up')
    result = "FAIL"
end

if r3:
    change_title('检测到RDP发送队列拥堵')
    add_problem('rdp_send')
    result = "FAIL"
end

if r4:
    change_title('检测到RDP接收队列拥堵')
    add_problem('rdp_recv')
    result = "FAIL"
end

if r5:
    change_title('检测到TIPC SOCKET拥堵')
    add_problem('socket_use_up')
    result = "FAIL"
end

if r6 || r7:
    change_title('检测到带内HG端口出现错帧')
    add_problem('hg_frame_check')
    result = "FAIL"
end

if result=="FAIL":
    return 'warn'
end
return 'success'