-
由 openaiops 创作于8183bb6e
log_analysis.py 1.43 KiB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import argparse
from log.split_big_file import split_file
from log.drain_work import drain_work
from log.concat_template import concat_template
from log.get_fault2templates import get_fault2templates
from log.get_all_templates_cmdbs import get_all_templates_cmdbs
import pandas as pd
def log_analysis(log_config):
input_dir = log_config['input_dir']
fault_files = log_config['fault_files']
file_size = log_config['file_size']
# drain
split_file(input_dir, file_size) # 切分文件
drain_work(input_dir, file_size) # 使用drain提取
# all_templates
mid_dir = f'mid/{input_dir[5:]}/'
templates_file = f'{mid_dir}all_templates.csv'
if log_config['all_templates'] == None:
concat_template(mid_dir, templates_file)
else:
print('[read config] all_templates:', log_config['all_templates'])
# fault2templates
if log_config['fault2templates'] == None:
if fault_files is None or len(fault_files) == 0:
raise Exception('no fault files')
for fault_file in fault_files:
get_fault2templates(fault_file, mid_dir)
else:
print('[read config] fault2templates:', log_config['fault2templates'])
# all_templates_cmdbs
if log_config['all_templates_cmdbs'] == None:
get_all_templates_cmdbs(mid_dir, f'{mid_dir}all_templates_cmdbs.csv')
else:
print('[read config] all_templates_cmdbs:', log_config['all_templates_cmdbs'])