




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SCollector 版本发布说明n模块修改一、SCollector 中增加多管道功能1背景当一个 SCollector 同时从多个网元取告警时(LOCAL_HOST 方式,用管道接收网元告警),由于 SCollector 中只打开一个管道接收,当这些网元同时向这个管道中写告警时,会造成告警交错。经常看到的现象是告警标题错乱,一条活动告警和对应的清除修改者完成日期版本信息功能修改说明BUG 修改说明备注2007-9-20SCollector 中增加多管道功能当一个SCollector 同时连到多个网元取告警时使用该功能2007-11-15一个SCollector 对应多个 rthandler
2、时, 按大网元数目将网元平均分配给每个rthandler 处理当一个SCollector 对应多个 rthandler 使用该功能; 一个 SCollector 对应的 rthandler 个数增加到 20 个2007-11-26增加告警风暴和风暴后该网元后续告警处理功能当配置了告警风暴启用功能时使用该功能2009-8-19通过参数配置Scollector 是否将告警写入共享内存通 过ldap配 置Scollector ,增加参数$is_write_sharemem0,Scollector 不将告警写入共享内存2009-12-2代码中因编辑器不支持中文导致的乱码部分2010-3-23完善告警
3、源断连SCollector 自身产生的告警为告警的统一管理,自身告警与普通网元告警的区别。自身产生告警有虚拟网元产生,eqp_int_id=-8695837 32,虚拟网元 id 固定告警 title_id 不一致,导致清除不一样(如果构造清除好多活动告警清除不掉。时有 title_id),从而导致2解决办法SCollector 中建立多管道。当 SCollector 同时从 a 个网元取告警时,内部相应建立 a 个命名管道,每个管道接收一个网元的告警,然后到对应的共享内存块中,由相应的 rthandler 处理。这样每个网元告警都是平行处理,造成告警交错的现象。3使用配置文件示例:(SCol
4、lector 同时启 4 个网元同步程序从网元取告警)Variables creatorsname=uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot createtimestamp=20070406055554Z$omc_id=102$user_name=wnmsalarm$group_id=102_G3$aliveflag=#HB$password=wnms123 objectclass=topcollector_template_file=/opt/BOCO.DAL/NFM/ini/GD4_RFM/SC_ERI
5、C_OSS_sync.ini$host_name=$sleep_start=951$interval_time_sec=2700 modifiersname=uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot$Reconnect_Send_Cmd=allip;Key备注Data SourceSource = LOCALHOST只有连接数据源类型是LOCALHOST 时多管道功能才生效Variables$port_list一定要配置$port_list,否则告警还会交错。一个 SCollector
6、 同时从几个网元取告警,$port_list 中就写几个端口。比如 SCollector同时从 3 个网元取告警,$port_list 应写成:$port_list=102001,102002,102003$startsign配置、作用和以前的一样$startsign 和$endsign 可以只配一个,也可 2个都配$endsign配置、作用和以前的一样$startsign 和$endsign 可以只配一个,也可 2个都配$endsign=%A$port_list=102001,102002,102003,102004VariablesData Sourcesource = LOCALHOST
7、 Data SourceCommand Sequence cmd=/data3/BOCO.DAL/NFM/bin/sync_oss/Syn_Oss_Alarm.sh$sleep_start $interval_time_sec cmd=/data3/BOCO.DAL/NFM/bin/sync_oss/Syn_Oss_Alarm.sh$sleep_start $interval_time_sec cmd=/data3/BOCO.DAL/NFM/bin/sync_oss/Syn_Oss_Alarm.sh$sleep_start $interval_time_sec cmd=/data3/BOCO.
8、DAL/NFM/bin/sync_oss/Syn_Oss_Alarm.sh$sleep_start $interval_time_secCommand Sequence$omc_id102_G1$host_name$omc_id102_G2$host_name$omc_id102_G3$host_name$omc_id102_G4$host_nameData Destination destination =$shm_idData Destination二、SCollector 按大网元数量将网元平均分配给每个 rthandler 处理1背景当配置了$port_list,一个 SCollect
9、or 收到的告警由多个 rthandler 处理时,SCollector 将告警平均分配给每个 rthandler 处理,这样一条活动告警和对应的清除告警很可能被分配到不同的 rthandler 处理,会造成下面的结果:a.如果清除告警比活动告警先处理完,活动告警将不能被清除。b.告警将不能被清除.。(因为告警是被缓每个 rthandler 的表中)2解决办法按照大网元数量将网元平均分配给每个 rthandler 处理(不是按照告警量平均分配)。SCollector 接收网元告警,正则匹配大网元名称,从 rthandler 中选择当前处理网元最少的,把该网元和该 rthandler 绑定在一起
10、,以后该网元的告警都由这个 rthandler 处理。这样就会保证活动告警和对应的清除告警都被一个 rthandler 处理。3使用三、SCollector 增加告警风暴功能1背景当一个 oss 的某个网元发生异常时,该网元在短时间内会抛出大量告警,这样 rthandler在一段时间内只处理该网元的告警,其它网元的正常告警将被延迟处理,造成告警延迟上呈到告警终端。以中山 ZSAMSC 为例,4 月份发生全阻断故障,4 分钟内产生 5000 多条告警,中山AMSC全阻断故障分析报告.ppt一个网元在如此短的时间内产生这面多的告警,造成其它网元的正常告警被延迟处理。2解决办法产生告警风暴消息的:在
11、告警底层加入告警流量统计功能,当网元告警流量超过门限值时,产生告警风暴消息,并且对该网元后续告警做如下处理:存。共享内存、都丢弃、只入指定级别的告警到共享内在告警底层 3 个模块中,SCollector 中做流量统计最合适,有 2:a. SCollector 最接近网元,负责从网元接收告警,并且接收速度和网告警的速度几乎相同,所以最能体现网告警的速度;Key备注Variables$port_list当 oss 告警量大,一个 rthandler 处理不过来时,配置$port_list 可以个 rthandler 处理该oss 告警。$startsign配置、作用和以前的一样$startsign
12、 和$endsign 可以只配一个,也可 2 个都配$endsign配置、作用和以前的一样$startsign 和$endsign 可以只配一个,也可 2个都配$ne_name_filter匹配大网元名称的正则表达式。以爱立信告警为例:$ne_name_filter =-EAName=(a-zA-Z0-9_+0-9*)$0b. 当网元告警流量超过门限后,SCollector 可以根据配置规则,将该网元后续告警都丢弃、共享内存或只将指定级别的告警入共享内存,这样在可以将该网元的异常告警挡在共享内存之外,减少 rthandler 负担,使 rthandler 有时间处理其它正常网元的告警。当网元产
13、生风暴时,为了尽快让知道该网元产生异常,SCollector 将构造好的告警风暴消息直接到 trans.q 中(跳过了 rthandler 和 fmhandler,从实际使用中发现在告警模块中这 2 个模块执行速度最慢),然后由 transpond 和 dispatcher 快速到告警终端(transpond 转发消息和 dispatcher 过滤消息的速度是非常快的);并同时构造120 消息到 wrifm.q 中入库。清除告警风暴消息的:当产生告警风暴的网元告警流量小于门限时,SCollector 产生告警风暴清除消息,将风暴清除,SCollector 对该网元告警恢复正常,所有告警共享内存
14、。3使用Key备注Variables$ne_name_filter匹配大网元名称的正则表达式。以爱立信告警为例:$ne_name_filter=-EAName=(a-zA-Z0-9_+0-9*)$0VariablesAlarmStorm在 SCollector 的 ini 配置文件中,新增加 key:VariablesAlarmStorm,用来配置告警风暴的变量$is_deal_alarmstorm0:不启用告警风暴功能;1:启用告警风暴功能$mq_trans_q告警风暴 1406 消息的接收队列$mq_writefm_q告警风暴 120 消息的接收队列$mq_manage消息平台队列管理器$
15、alarm_status_filter匹配清除告警的正则表达式,以便用单独的规则处理清除告警$alarm_storm_is_writelog告警风暴发生后被丢弃的告警是否写日志:0:不写,1:写$mq_trans_gjfb_q告警风暴发生后被丢弃的告警接收队列$alarm_storm_check_timelong统计告警流量的时间段(分钟)$alarm_storm_layout_alarm_severity匹配告警级别的正则表达式$alarm_storm_dealway告警风暴发生中,网元告警处理方式 :1:共享内存 2:都丢弃 3:只入指定级别的告警到共享内存$alarm_storm_lim
16、it告警风暴门限(X 条/分钟)$alarm_storm_clear_alarm_dealway清除告警处理方式:0::和活动告警处理方式一样1:所有清除告警共享内存2:所有清除告警都丢弃3:只入指定级别的清除告警到共享内存$int_id网元的 int_id$city_id网元所属地市$region_id网元所属区$object_class网元 object_class$city_name网元所属地市$region_name网元所属区$vendor_type厂家告警类型$vendor_nam厂家名称$vendor_id厂家 id$province_name网元所属省$province_id网元
17、所属省 id$alarm_title_text告警风暴标题$alarm_title_id告警风暴标题 ID$alarm_storm_text告警风暴正文$vendor_severity告警风暴厂家级别$org_severity告警风暴原始级别$redefine_severity告警风暴重定义级别$org_type告警风暴原始类型$redefine_type告警风暴重定义类型告警风暴配置文件示例如下:Variables$aliveflag=#HB objectclass=top$interval_time_sec=600 creatorsname=uid=admin,ou=Administrat
18、ors,ou=TopologyManagement,o=NetscapeRoot createtimestamp=20070712013536Z$user_name=wnms$endsign=%A collector_template_file=/opt/BOCO.DAL/NFM/ini/ericssion/ericssion_omc/test_rt/OSS_SC_ERI C.ini$ne_name_filter=-EAName=(a-zA-Z0-9_+0-9*)$0$omc_id=102$host_name=$coll_type=-msc -bsc -hlr -inti
19、d OMC102 -log modifiersname=uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot$Reconnect_Send_Cmd=allip;VariablesVariablesVariablesData Sourcesource = LOCALHOST Data SourceVariablesAlarmStorm;0:不启用告警风暴功能;1:启用告警风暴功能$is_deal_alarmstorm=1;告警风暴 1406 消息的接收队列$mq_trans_q=TRANS_FM1.Q;告警风暴 120
20、消息的接收队列$mq_writefm_q=WFM_222_113.Q;4 期消息平台队列管理器$mq_manage=WNMS4_QM;匹配清除告警状态的正则表达式,以便单独处理清除$alarm_status_filter=-PerceivedSeverity=(5)$0;告警风暴发生后被丢弃的告警是否写日志:0:不写,1:写$alarm_storm_is_writelog=1;统计告警流量的时间段(分钟)$alarm_storm_check_timelong=1.5;告警风暴发生后被丢弃的告警接收队列(保留项,上层无应用对应)$mq_trans_gjfb_q=TRANS_GJFB.Q;匹配告警
21、级别的正则表达式$alarm_storm_layout_alarm_severity=(-ProblemText=* ALARM0-9+0-9+ A12)$0;(-PerceivedSeverity=(d+)$0,(-PerceivedSeverity=(d+)$0;告警风暴发生中,网元告警处理方式 1:都呈现 2:都丢弃 3:只呈现指定级别的告警$alarm_storm_dealway=1;告警风暴门限(X 条/分钟)$alarm_storm_limit=10;清除告警处理方式 0:和活动告警处理方式一样 1:所有清除告警除告警都丢弃 3:只入指定级别的清除告警到共享内存$alarm_sto
22、rm_clear_alarm_dealway=0共享内存 2:所有清$int_id=select distinct _id from nrmdb.objects f,region_city g where f.city_id=g.city_id and f.userlabel='$ne_name_filter' and confirmed=1$city_id=select distinct g.city_id from nrmdb.objects f,region_city g where f.city_id=g.city_idand f.userlabel='
23、;$ne_name_filter' and confirmed=1$region_id=selectdistinctg.region_idfromnrmdb.objectsf,region_city f.city_id=g.city_id and f.userlabel='$ne_name_filter' and confirmed=1$object_class=select distinct f.object_class from nrmdb.objects f,region_city f.city_id=g.city_id and f.userlabel='
24、$ne_name_filter' and confirmed=1$city_name=selectdistinctg.city_namefromnrmdb.objectsf,region_cityf.city_id=g.city_id and f.userlabel='$ne_name_filter' and confirmed=1gwheregwheregwhere$region_name=select distinct g.region_name from nrmdb.objects f,region_city g f.city_id=g.city_id and f
25、.userlabel='$ne_name_filter' and confirmed=1;告警风暴厂家类型$vendor_type=告警风暴;告警风暴厂家名称$vendor_name=WNMS 汇总$vendor_id=150;省where$province_name=省$province_id=-1489894494;告警风暴标题$alarm_title_text=告警风暴$alarm_title_id=49;告警正文$alarm_storm_text=告警标题:告警风暴网元名称:%s门限设置:每分钟出现%d告警告警详情:%.1f分钟产生%d条告警,每分钟产生%d条告警统计时
26、段:开始时间:%s结束时间:%s$vendor_severity=1$org_severity=1$redefine_severity=1$org_type=1$redefine_type=1 VariablesAlarmStormCommand Sequencecmd=/data3/BOCO.DAL/NFM/ini/ericssion/ericssion_omc/eric_cmd.sh $user_name $host_name; rsh -l $user_name $host_name ./AlarmsAdaptor $coll_typeCommand SequenceData Desti
27、nation destination =$shm_idData Destination4告警风暴发生时终端看到的:告警风暴正文:SCollector 是否将告警写入共享内四、存1.背景只想使用 Scollector 的 SOCKET 转发功能,不将告警写入共享内存。2.解决办法在 SCollector 配置文件中加入参数$is_write_sharemem , 只有在配置文件中包含参数$is_write_sharemem=0 时,SCollector 主程序不进行共享内存写入,否则在其他情况情况, 配置文件中不包含$is_write_sharemem 参数或者参数不为 0将消息写入共享内存。具
28、体修改如下:1、首先$is_write_sharemem 参数,在类 Scollector 的 start中包含配置文件中的参数$is_write_sharemem 的代码,代码如下:pvTemp = NULL;/get $is_write_sharemem 说明:$is_write_sharemem0 则不写共享内存;没有配置或/$is_write_sharemem1 则写共享内存iWriteShareMemory = 1; if(pvTemp=vt.v_srch("$is_write_sharemem") != NULL)iWriteShareMemory = atoi
29、(pvTemp->value.str); log.write(LOG_DEV2&LOGFILE_MASK|LOG_TIME|MAJOR,"$is_write_sharememis %dn",iWriteShareMemory);if(iWriteShareMemory !=0)iWriteShareMemory = 1;elseiWriteShareMemory = 0;elseiWriteShareMemory = 1;2、其次在共享内存写入函数中根据参数$is_write_sharemem是否写入,在类 Scollector的写共享内存函数:WriteMe
30、mory(原函数和重载函数)中加入如下代码:if(iWriteShareMemory = 0) /不写共享内存return 0;3.使用在 ldap 的 Scollector 节点,增加参数配置$is_write_sharemem=0,重启底层,Scollector 就不将告警写入共享内存。五、将 SCollecor 自身产生告警的乱码改成相应的中文1.背景在编写原始代码时,因为代码编辑器不支持中文,所以原始代码中出现很多“?”乱码。本次修改解决这些乱码。2.解决办法使用支持中文编译器打开文件,将乱码部分修改为相应的汉字。源断连 SCollector 自身产六、完善告警生的告警1.背景为了完善
31、综合客户端呈现底层告警异常告警,并发现异常的需求。本次修改增加 SCollector 与网元断连或者网元长时间没有心跳的情况下,Scollector 自身产生规定格式告警的功能。2.解决办法1、自身产生告警由虚拟网元产生:告警失败消息的节点(信息)挂接在一个虚拟网元节点下面,既不与现网的告警相,也便于统一管理和。告警后,消息中的信息与表中的信息保持一致(nrmdb.objects),统一使用 int_id=-869583732 的虚拟网元作为告警的信息。根据移动场景的习惯,具体的节点信息作为消息中的告警对象虚拟网元信息:。eqp_int_id eqp_label= -869583732# 虚拟
32、网元= WNMS-DAL-NODEeqp_object_calss = 2000告警对象,为具体连接的 OSS/OMC/EMS/NE 网元信息,与表中的信息一致: int_id ne_labelne_object_class=OSS/OMC/EMS :使用具体的 object_class =100 的节点NE :具体连接到的2、代码上的修改:网元1)、iFunSendTimeoutAlarm 函数的修改,增加如下代码:/* Get eqp_int_id */ if(pv=vt.v_srch("$eqp_int_id") = NULL)log.write(LOG_DEV|ER
33、ROR, "Can not find variable $eqp_int_idn");vt.v_insert("$eqp_int_id","0"); pv=vt.v_srch("$eqp_int_id");pend = pv->value.str; strncpy(mqmsg.special_field8,pend,10);if(*pend = '0')/* means conversion is successful */log.write(LOG_DEV|MINOR, "eqp_
34、int_id = %sn", mqmsg.special_field8);elselog.write(LOG_DEV|ERROR, "Unknown string %s in digital %sn", pend, pv->value.str);/return -1;if ( (pv = vt.v_srch("$alarm_title_txt_notel") != NULL )strncpy(mqmsg.alarm_title_txt,pv->value.str,sizeof(mqmsg.alarm_title_txt)-1);if
35、 ( (pv = vt.v_srch("$alarm_title_id_notel") != NULL )mqmsg.alarm_title_id = atoi(pv->value.str);log.write(LOG_DEV|MINOR,"alarm_title_txt=%sn",mqmsg.alarm_title_txt); log.write(LOG_DEV|MINOR,"alarm_title_id=%dn",mqmsg.alarm_title_id); log.write(LOG_DEV|MINOR,"active_status=%dn",mqmsg.active_status);2)、iFunSendShutDownAlarm 函数的修改,增加如下代码:/* Get eqp_int_id */ if(pv=vt.v_srch("$eqp_i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国卧式劈木机行业市场发展前景及发展趋势与投资战略研究报告
- 活动方案策划模板
- 项目清明活动策划方案模板
- 制造电梯项目可行性研究报告申请报告
- 竞聘基建工程部副主任竞争上岗演讲稿
- 企业VI标识培训课件
- 2025年中国摩托车变速器市场深度评估及行业投资前景咨询报告
- 丙纶纤维环保染整工艺的长期环境影响跟踪研究考核试卷
- 儿童科普知识课件下载
- 乳品行业可持续发展消费者偏好分析考核试卷
- 综合与实践 白昼时长规律的探究 同步练习(含答案)人教版七年级数学下册
- 2025年山西烟草专卖局考试题库带答案分析试卷及答案
- CJ/T 410-2012隔油提升一体化设备
- 石油化工监理工作报告
- 2025-2030中国餐厨垃圾处理服务行业市场现状分析及竞争格局与投资发展研究报告
- 2025年反假币知识竞赛题库及答案(共50题)
- 智能制造中的信息安全保障
- 水利工程隐患排查清单
- 2025年云南省卫生健康系统事业单位招聘基础知识类精练题(附答案)
- 牙隐裂鉴别诊断
- 酒店评优方案
评论
0/150
提交评论