def read_config(self, path): """ Realiza a leitura do JSON e adiciona a variavel config. :param path: Local do json de config. :return: None """ if Utils.file_exists(path): with open(path) as opf: try: self.cfg = json.load(opf) except ValueError: print "UNKNOWN - Impossivel ler arquivo de configuracao." exit(3) else: print "UNKNOWN - Impossivel encontrar o arquivo de configuracao."
def read_partial_file(self): if Utils.file_exists(Utils.fullpath('check_alertlog.tmp')): with open(Utils.fullpath('check_alertlog.tmp'), 'r') as f: try: f.seek(0) file_content = f.readline() self.last_position = int(file_content) except ValueError: print "UNKNOWN - Impossivel ler logfile." exit(3) else: with open(Utils.fullpath('check_alertlog.tmp'), 'a') as f: try: f.write('0') self.last_position = 0 except: print "UNKNOWN - Erro ao escrever check_alertlog.tmp. Verifique as permissoes." exit(3)
def read_log(self): """ Realiza a leitura das novas linhas do log Procura pelos erros e faz a contagem de linhas para atualizar a ultima posicao lida do log. Caso ja tenha lido tudo faz sua saida padrao. :return: """ if Utils.file_exists(self.logfile): with open(self.logfile) as f: for _ in xrange(int(self.last_position)): next(f) for line in f: self.find_errors(line) self.lines_counted += 1 else: self.clear_log_position() print "UNKNOWN - Logfile nao encontrado" exit(3) if self.lines_counted > 0: self.update_log_position(self.lines_counted) else: self.exit_status()