正则表达式分解SIEMENS交换机巡检-------(1)

      巡检用于交换机运行状态的检测,能反映交换机当前的运行的状态,便于及时处理故障和定位故障,是交换和监控部门最主要的故障检测和排查手段之一。
      本文的目的在于使用正则表达式自动分解交换机回送的巡检信息
      其他交换机的巡检过程在系统接入后会再次更新提供给大家参考

      具体调用逻辑由于公司保密性的要求,请见谅

     SIEMENS

     DISPALARM 显示当前告警信息
     指令返回信息格式
    
指令返回信息格式

OBJECT  = LTG       ALPRIO = MAJOR     ALSTAT = NP  MSGNO = 506  
ALTYPE  = EQUIPMENT ALARM         
PABCAUSE= EQUIPMENT MALFUNCTION                             
ALARM-ID: CLASS=LTGPAF LTG=3-11
分解的正则表达式(由于无法确定空格的具体位置,所以有很多排错处理)
"(?:OBJECT[//s]*=[//s]*)([//w]*)               截取object后的字符
(?:[//s]*ALPRIO[//s]*=[//s]*)([//w]*)          截取alprio后的字符
(?:[//s]*ALSTAT[//s]*=[//s]*)([//w]*)         截取alstat后的字符
(?:[//s]*MSGNO[//s]*=[//s]*)([//w]*)          截取msgno后的字符                                       
(?:[//s]*ALTYPE[//s]*=[//s]*)([//w]*[//s]?[//w]*)             截取altype后的字符,可能有空格
(?:[//s]*PABCAUSE[//s]*=[//s]*)((?:[//w|///]*[//s]?)*)       截取pabcause后的字符
(?:[//s]*ALARM-ID[//s]*:[//s]*)([//w|=]*[//s]?[^//s]*)"        截取alarm-id后的字符

先打个电话,等待补充

STATSSP   显示交换机CP侧核心单元的工作状态
UNA代表不可用状态  为告警


UNIT         OST        UNIT         OST        UNIT         OST
------------+-----      ------------+-----      ------------+-----
BAP-0         MAS       BAP-1         SPR       CAP-0         ACT
CAP-1         ACT       CAP-2         ACT       CAP-3         ACT
CAP-4         ACT       CAP-5         ACT       CAP-6         ACT
CAP-7         ACT       CAP-8         ACT       CAP-9         ACT
AMP-0         ACT       AMP-1         ACT       IOC-0         ACT
IOC-1         ACT       CMY-0         ACT       CMY-1         ACT
IOPMB-32      ACT       IOPMB-33      ACT       IOPMB-34      ACT
IOPMB-35      ACT       IOPMB-40      ACT       IOPMB-41      ACT
IOPUNI-0      ACT       IOPUNI-1      ACT       IOPTA-0       ACT
IOPTA-1       ACT       IOPLAU-0      PLA       IOPLAU-1      PLA
IOPLAU-2      ACT       IOPLAU-3      ACT       IOPLAU-4      ACT
IOPLAU-5      ACT       LAU-0         PLA       LAU-1         PLA
LAU-2         ACT       LAU-3         ACT       LAU-4         ACT
LAU-5         ACT                                                
MDD-0         ACT       MDD-1         ACT       MOD-0         ACT
MOD-1         PLA       OMT-0        *UNA       OMT-1         PLA
X25LINK-1     PLA       X25LINK-3     PLA       X25LINK-4     PLA
X25LINK-5     ACT       X25LINK-6     ACT       X25LINK-8     PLA

([^//s]*)(?:[//s]*)([//*]?UNA)      判断是否存在UNA状态


STATMB   显示消息缓冲的工作状态

MB UNIT     OST   ALARM           LTG SET               IOPMB
                  STATUS    FROM          TO
-----------+-----+---------+-------------+-------------+-----------
MBIC -0      ACT                                        IOPMB-34   
MBIH -0 -0   ACT            LTG  -0  -1   LTG  -0  -63  IOPMB-34   
                            LTG  -1  -1   LTG  -1  -63  IOPMB-32   
                            LTG  -2  -1   LTG  -2  -63  IOPMB-32   
                            LTG  -3  -1   LTG  -3  -63  IOPMB-34   
MBIA -0 -0   ACT                                                   
MBIC -1      ACT                                        IOPMB-35   
MBIH -1 -0   ACT            LTG  -0  -1   LTG  -0  -63  IOPMB-35   
                            LTG  -1  -1   LTG  -1  -63  IOPMB-33   
                            LTG  -2  -1   LTG  -2  -63  IOPMB-33   
                            LTG  -3  -1   LTG  -3  -63  IOPMB-35   
MBIA -1 -0   ACT                                                  
([^//s]*[//s]?-//d[//s]?[-]?[//d]?)(?:[//s]*)([//*]?UNA)

正则表达式解释:
(不定数非空格)(可能有空格)(-)(数字)(可能有空格)(可能有-)(可能有数字)(不定数空格)(可能有*)(UNA)


STATCCG    显示CCG时钟单元的工作状态
UNA状态为不可用

CCG-0   CCG-1
-----   -----
STB     ACT

(CCG-0)(?:[//s]*)(CCG-1)(?:[^//*&&[^//w]]*)([^//s]*)(?:[//s]*)([//*]?[^//s]{3}?)

需要判断是哪一个CCG出现异常,所以比前面要复杂


STATSN  显示SN交换网的工作状态

TSG       SSG       TSG       SSG
-------   -------   -------   -------
0-0 ACT   0-0 ACT   1-0 STB   1-0 STB
0-1 ACT             1-1 STB          
0-2 ACT   0-1 ACT   1-2 STB   1-1 STB
0-3 ACT             1-3 STB         
(TSG)(?:[//s]*)(SSG)(?:[//s]*)(TSG)(?:[//s]*)(SSG)
(?:[^//d]*)
([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)
(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)
(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)
(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)(?:[//s]*)([//d|-]*)(?:[//s]*)([//*]?[^//s]{3}?)


DISPCCG     显示时钟同步状态

REF. FREQUENCIES AT CCGXXA      状态必须是PRESENT
SYNCHRONIZATION STATUS              状态必须是SYNCHRON 4

STATUS AND ERROR INFORMATION  : CCG-0         CCG-1
----------------------------------------------------------
 
REF. FREQUENCIES AT CCGXXA    : PRESENT       PRESENT     
CCGXXA-MODULE                 : FAULT-FREE    FAULT-FREE  
CCGXXA-PROCESSOR              : FAULT-FREE    FAULT-FREE  
CCGB-MODULE                   : FAULT-FREE    FAULT-FREE  
CCGB-PROCESSOR                : FAULT-FREE    FAULT-FREE  
INTERFACE CCGXXA/CCGB         : FAULT-FREE    FAULT-FREE  
CCGB MS-STATUS                : SLAVE         MASTER      
CCGB CLOCK DISTRIBUTOR        : ENABLED       ENABLED     
 
OPERATING STATE               : STB           ACT
 
REFERENCE FREQUENCY 0         : GOOD          GOOD        
REFERENCE FREQUENCY 1         : GOOD          GOOD        
USED REFERENCE FREQUENCY      : 0             0        
STATUS FREQUENCY STORAGE      : NORMAL        NORMAL   
SYNCHRONIZATION STATUS        : SYNCHRON 4    SYNCHRON 4  

分两部分判断
(REF. FREQUENCIES AT CCGXXA    :[//s]*)([//w]*)(?:[//s]*)([//w]*)

(SYNCHRONIZATION STATUS        :[//s]*)([//w]*[//s]*//d)(?:[//s]*)([//w]*[//s]*//d)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值