Beispiel #1
0
 def getGCLogFilesFromData(self,dataDom,cubeName):
     gcLogFilesDom = dataDom.getElementsByTagName( 'gcLogFile' )
     if len(gcLogFilesDom)==0:
         logger.warning('%s: 未配置gcLogFile, 不对服务的gc日志做收集' % cubeName)
         return []
     gcLogFiles=[]
     for gcLogFileDom in gcLogFilesDom:
         file = self.getText( gcLogFileDom, 'fileName', False, cubeName )
         # 读取wholeFile配置, 若未配置则为False
         wholeFile = self.getText( gcLogFileDom, 'wholeFile', False, cubeName )
         if wholeFile.lower()=='true':
             wholeFile=True
         else:
             wholeFile=False
         # 读取监控的时间间隔, 若未配置则为DEFAULT_GCLOGFILE_TIME_INTERVAL
         timeInterval = self.getText( gcLogFileDom, 'timeInterval', False, cubeName )
         if timeInterval!='':
             self.assertDigit(timeInterval, cubeName, 'timeInterval')
             timeInterval = int( timeInterval )
         else:
             timeInterval=self.DEFAULT_GCLOGFILE_TIME_INTERVAL
         # 读取alarm keys
         if 'on' in self.getText(gcLogFileDom,'alarm',False,cubeName):
             # 可能会有多个gc files, 因此需要deepcopy
             keyAlarmers=self.getGCKeyAlarmers()
         else:
             keyAlarmers={}
         statisticTool=GCLogTool(logger,self.gcKeys)
         gcLogFile=LogFile(self.ldap,self.product,self.type,file,timeInterval,self.gcKeys,[],statisticTool,wholeFile,keyAlarmers,self.debug,logger,cubeName)
         if gcLogFile.validate():
            gcLogFiles.append(gcLogFile)
     return gcLogFiles
Beispiel #2
0
 def getLogFilesFromData(self, dataDom, cubeName):
     logFilesDom = dataDom.getElementsByTagName('logFile')
     if len(logFilesDom) == 0:
         logger.warning('%s: 未配置logFile, 不对服务日志做收集' % cubeName)
         return []
     logFiles = []
     for logFileDom in logFilesDom:
         file = self.getText(logFileDom, 'fileName', False, cubeName)
         # 读取wholeFile配置, 若未配置则为False
         wholeFile = self.getText(logFileDom, 'wholeFile', False, cubeName)
         if wholeFile.lower() == 'true':
             wholeFile = True
         else:
             wholeFile = False
         # 读取监控的时间间隔, 若未配置则为DEFAULT_LOGFILE_TIME_INTERVAL
         timeInterval = self.getText(logFileDom, 'timeInterval', False,
                                     cubeName)
         if timeInterval != '':
             self.assertDigit(timeInterval, cubeName, 'timeInterval')
             timeInterval = int(timeInterval)
         else:
             timeInterval = self.DEFAULT_LOGFILE_TIME_INTERVAL
         # 读取key
         numberKeys = self.getText(logFileDom, 'numberKeys', False,
                                   cubeName).split(',')
         stringKeys = self.getText(logFileDom, 'stringKeys', False,
                                   cubeName).split(',')
         # 去除各字段首尾空格,以及空字段
         numberKeys = [
             str(item).strip() for item in numberKeys if str(item).strip()
         ]
         stringKeys = [
             str(item).strip() for item in stringKeys if str(item).strip()
         ]
         # 读取beforeDays配置, 默认为0
         beforeDays = 0
         # 读取noTimeStamp配置, 默认为False
         noTimeStamp = False
         # 读取alarm keys
         keyAlarmers = self.parseAlarmKeys(
             self.getText(logFileDom, 'alarmKeys', False, cubeName))
         statisticTool = KeyValueLogTool(numberKeys + stringKeys,
                                         timeInterval, beforeDays,
                                         noTimeStamp, logger)
         logFile = LogFile(self.ldap, self.product, self.type, file,
                           timeInterval, numberKeys, stringKeys,
                           statisticTool, wholeFile, keyAlarmers,
                           self.debug, logger, cubeName)
         if logFile.validate():
             logFiles.append(logFile)
     return logFiles
Beispiel #3
0
 def getLogFilesFromData(self,dataDom,cubeName):
     logFilesDom = dataDom.getElementsByTagName( 'logFile' )
     if len(logFilesDom)==0:
         logger.warning('%s: 未配置logFile, 不对服务日志做收集' % cubeName)
         return []
     logFiles=[]
     for logFileDom in logFilesDom:
         file = self.getText( logFileDom, 'fileName', False, cubeName )
         # 读取wholeFile配置, 若未配置则为False
         wholeFile = self.getText( logFileDom, 'wholeFile', False, cubeName )
         if wholeFile.lower()=='true':
             wholeFile=True
         else:
             wholeFile=False
         # 读取监控的时间间隔, 若未配置则为DEFAULT_LOGFILE_TIME_INTERVAL
         timeInterval = self.getText( logFileDom, 'timeInterval', False, cubeName )
         if timeInterval!='':
             self.assertDigit(timeInterval, cubeName, 'timeInterval')
             timeInterval = int( timeInterval )
         else:
             timeInterval=self.DEFAULT_LOGFILE_TIME_INTERVAL
         # 读取key
         numberKeys = self.getText( logFileDom, 'numberKeys', False, cubeName ).split( ',' )
         stringKeys = self.getText( logFileDom, 'stringKeys', False, cubeName ).split( ',' )
         # 去除各字段首尾空格,以及空字段
         numberKeys = [ str( item ).strip() for item in numberKeys if str( item ).strip() ]
         stringKeys = [ str( item ).strip() for item in stringKeys if str( item ).strip() ]
         # 读取beforeDays配置, 默认为0
         beforeDays=0
         # 读取noTimeStamp配置, 默认为False
         noTimeStamp=False
         # 读取alarm keys
         keyAlarmers=self.parseAlarmKeys(self.getText(logFileDom,'alarmKeys',False,cubeName))
         statisticTool=KeyValueLogTool(numberKeys+stringKeys,timeInterval,beforeDays,noTimeStamp,logger)
         logFile=LogFile(self.ldap,self.product,self.type,file,timeInterval,numberKeys,stringKeys,statisticTool,wholeFile,keyAlarmers,self.debug,logger,cubeName)
         if logFile.validate():
             logFiles.append(logFile)
     return logFiles
Beispiel #4
0
 def getGCLogFilesFromData(self, dataDom, cubeName):
     gcLogFilesDom = dataDom.getElementsByTagName('gcLogFile')
     if len(gcLogFilesDom) == 0:
         logger.warning('%s: 未配置gcLogFile, 不对服务的gc日志做收集' % cubeName)
         return []
     gcLogFiles = []
     for gcLogFileDom in gcLogFilesDom:
         file = self.getText(gcLogFileDom, 'fileName', False, cubeName)
         # 读取wholeFile配置, 若未配置则为False
         wholeFile = self.getText(gcLogFileDom, 'wholeFile', False,
                                  cubeName)
         if wholeFile.lower() == 'true':
             wholeFile = True
         else:
             wholeFile = False
         # 读取监控的时间间隔, 若未配置则为DEFAULT_GCLOGFILE_TIME_INTERVAL
         timeInterval = self.getText(gcLogFileDom, 'timeInterval', False,
                                     cubeName)
         if timeInterval != '':
             self.assertDigit(timeInterval, cubeName, 'timeInterval')
             timeInterval = int(timeInterval)
         else:
             timeInterval = self.DEFAULT_GCLOGFILE_TIME_INTERVAL
         # 读取alarm keys
         if 'on' in self.getText(gcLogFileDom, 'alarm', False, cubeName):
             # 可能会有多个gc files, 因此需要deepcopy
             keyAlarmers = self.getGCKeyAlarmers()
         else:
             keyAlarmers = {}
         statisticTool = GCLogTool(logger, self.gcKeys)
         gcLogFile = LogFile(self.ldap, self.product, self.type, file,
                             timeInterval, self.gcKeys, [], statisticTool,
                             wholeFile, keyAlarmers, self.debug, logger,
                             cubeName)
         if gcLogFile.validate():
             gcLogFiles.append(gcLogFile)
     return gcLogFiles