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
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
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
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