Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 正则表达式分解SIEMENS交换机巡检-------(1)
【标  题】:正则表达式分解SIEMENS交换机巡检-------(1)
【关键字】:SIEMENS,-------
【来  源】:http://blog.csdn.net/FaneAnn/archive/2006/04/11/658608.aspx

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

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

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

     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)





javax.servlet.ServletResponseWrapper翻译:【上一篇】
javax.servlet.ServletRequestWrapper翻译:【下一篇】
【相关文章】
  • 正则表达式分解SIEMENS交换机巡检-------(2)
  • 正则表达式分解SIEMENS交换机巡检-------(3)
  • 无聊的笔试准备!!! (无聊透顶 ---------------------)
  • CVSNT使用中的问题 ------------(1)No such file or directory
  • 正则表达式系统教程-----------(转)
  • 电脑菜鸟之路--------发展才是硬道理
  • 邮件发送之-----------超简单版
  • C++ Style and Technique FAQ (中文版)-------
  • FW : 創建子窗體---------Delphi文本编辑器的设计
  • 第一个帖子,先转篇文章--------C&S B&S及三层结构
  • 【随机文章】
  • HTML 基本语法
  • 2004年惊心动魄的几个数字
  • JSP课程复习资料(2)--回答问题
  • C++面试题4
  • 在 Eclipse 中运行带参数的 Java 程序
  • 数据库的日期格式转换
  • ElegantORM or ElegantSqlHelper? 起名还真是个大学问啊……
  • 函数名称 StrToDate
  • 边框扮靓数码照片
  • MFC和STL的new冲突
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.