From 4ff1ec2a0606a1e5f807ce01e89c9710436567a1 Mon Sep 17 00:00:00 2001 From: jinsaihang Date: Tue, 15 Oct 2024 18:35:04 +0800 Subject: [PATCH] optimize log printing Signed-off-by: jinsaihang --- modify-print-log.patch | 60 +++++++++++++++++ optimize-log-printing.patch | 124 ++++++++++++++++++++++++++++++++++++ sysSentry.spec | 10 ++- 3 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 modify-print-log.patch create mode 100644 optimize-log-printing.patch diff --git a/modify-print-log.patch b/modify-print-log.patch new file mode 100644 index 0000000..13b29ac --- /dev/null +++ b/modify-print-log.patch @@ -0,0 +1,60 @@ +From 5b7ed0703501015821f502f8dfc1ba1147f50001 Mon Sep 17 00:00:00 2001 +From: jinsaihang +Date: Mon, 14 Oct 2024 16:46:30 +0800 +Subject: [PATCH] modify print log + +Signed-off-by: jinsaihang +--- + sysSentry-1.0.2/src/python/syssentry/alarm.py | 2 +- + .../src/python/syssentry/load_mods.py | 17 ++++++++++++++--- + 2 files changed, 15 insertions(+), 4 deletions(-) + +diff --git a/src/python/syssentry/alarm.py b/src/python/syssentry/alarm.py +index bff527c..deb51ef 100644 +--- a/src/python/syssentry/alarm.py ++++ b/src/python/syssentry/alarm.py +@@ -100,7 +100,7 @@ def alarm_register(): + logging.warning(f"Invalid alarm_id {alarm_id}: ignore {task_name} alarm") + continue + if alarm_id < MIN_ALARM_ID or alarm_id > MAX_ALARM_ID: +- logging.warning(f"Invalid alarm_id {alarm_id}: ignore {task_name} alarm") ++ logging.warning(f"Invalid alarm_id, ignore {task_name} alarm") + continue + alarm_clear_time = task.alarm_clear_time + if not check_alarm_clear_time_if_positive_integer(alarm_clear_time): +diff --git a/src/python/syssentry/load_mods.py b/src/python/syssentry/load_mods.py +index f74f165..00efb85 100644 +--- a/src/python/syssentry/load_mods.py ++++ b/src/python/syssentry/load_mods.py +@@ -199,14 +199,25 @@ def parse_mod_conf(mod_name, mod_conf): + + try: + task.alarm_id = int(mod_conf.get(CONF_TASK, CONF_ALARM_ID)) +- task.alarm_clear_time = int(mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME)) + if not (MIN_ALARM_ID <= task.alarm_id <= MAX_ALARM_ID): + raise ValueError("Invalid alarm_id") + except ValueError: + task.alarm_id = mod_conf.get(CONF_TASK, CONF_ALARM_ID) +- task.alarm_clear_time = mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME) ++ if task.alarm_id is None: ++ logging.warning(f"{mod_name} alarm_id not set") ++ task.alarm_clear_time = None + except configparser.NoOptionError: +- logging.warning("Unset alarm_clear_time, use 15s as default") ++ logging.warning(f"{mod_name} alarm_id not set") ++ task.alarm_id = None ++ task.alarm_clear_time = None ++ ++ if task.alarm_id is not None: ++ try: ++ task.alarm_clear_time = int(mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME)) ++ except ValueError: ++ task.alarm_clear_time = mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME) ++ except configparser.NoOptionError: ++ logging.warning(f"{mod_name} not set alarm_clear_time, use 15s as default") + + if CONF_ONSTART in mod_conf.options(CONF_TASK): + is_onstart = (mod_conf.get(CONF_TASK, CONF_ONSTART) == 'yes') +-- +2.27.0 + diff --git a/optimize-log-printing.patch b/optimize-log-printing.patch new file mode 100644 index 0000000..a0f4a2e --- /dev/null +++ b/optimize-log-printing.patch @@ -0,0 +1,124 @@ +From a7fd4cf0b4ce89a263804123dde028a38dfcb7c8 Mon Sep 17 00:00:00 2001 +From: jinsaihang +Date: Tue, 15 Oct 2024 17:12:04 +0800 +Subject: [PATCH] optimize log printing + +Signed-off-by: jinsaihang +--- + sysSentry-1.0.2/src/python/syssentry/alarm.py | 55 ++++++++++--------- + .../src/python/syssentry/load_mods.py | 9 +-- + 2 files changed, 29 insertions(+), 35 deletions(-) + +diff --git a/src/python/syssentry/alarm.py b/src/python/syssentry/alarm.py +index 810bfa9..c3f2ee1 100644 +--- a/src/python/syssentry/alarm.py ++++ b/src/python/syssentry/alarm.py +@@ -76,16 +76,26 @@ def update_alarm_list(alarm_info: Xalarm): + finally: + alarm_list_lock.release() + +-def check_alarm_id_if_number(alarm_id): +- if isinstance(alarm_id, int): +- return True +- else: ++def validate_alarm_id(alarm_id): ++ if alarm_id is None: ++ return False ++ try: ++ alarm_id = int(alarm_id) ++ if MIN_ALARM_ID <= alarm_id <= MAX_ALARM_ID: ++ return True ++ else: ++ return False ++ except ValueError: + return False + +-def check_alarm_clear_time_if_positive_integer(alarm_clear_time): +- if isinstance(alarm_clear_time, int) and alarm_clear_time > 0: +- return True +- else: ++def validate_alarm_clear_time(alarm_clear_time): ++ try: ++ alarm_clear_time = int(alarm_clear_time) ++ if alarm_clear_time > 0 and alarm_clear_time <= sys.maxsize: ++ return True ++ else: ++ return False ++ except ValueError: + return False + + def alarm_register(): +@@ -93,34 +103,25 @@ def alarm_register(): + # 初始化告警ID映射字典、告警老化时间字典 + for task_type in TasksMap.tasks_dict: + for task_name in TasksMap.tasks_dict[task_type]: +- logging.info(f"alarm_register: {task_name} is registered") + task = TasksMap.tasks_dict[task_type][task_name] +- alarm_id = task.alarm_id +- alarm_clear_time = task.alarm_clear_time +- if not check_alarm_clear_time_if_positive_integer(alarm_clear_time): +- logging.warning(f"Invalid alarm_clear_time {alarm_clear_time}: ignore {task_name} alarm") ++ if not validate_alarm_id(task.alarm_id): ++ logging.warning(f"Invalid alarm_id {task.alarm_id}: ignore {task_name} alarm") + continue +- if not check_alarm_id_if_number(alarm_id): +- logging.warning(f"Invalid alarm_id {alarm_id}: ignore {task_name} alarm") +- continue +- if alarm_id < MIN_ALARM_ID or alarm_id > MAX_ALARM_ID: +- logging.warning(f"Invalid alarm_id, ignore {task_name} alarm") +- continue +- try: +- alarm_clear_time = int(alarm_clear_time) +- if alarm_clear_time <= 0: +- raise ValueError("Not a positive integer") +- if alarm_clear_time > sys.maxsize: +- raise ValueError("Exceeds maximum value for int") +- except (ValueError, OverflowError, TypeError) as e: +- logging.warning(f"Invalid alarm_clear_time {alarm_clear_time}: ignore {task_name} alarm") ++ if not validate_alarm_clear_time(task.alarm_clear_time): ++ logging.warning(f"Invalid alarm_clear_time {task.alarm_clear_time}: ignore {task_name} alarm") + continue ++ task.alarm_id = int(task.alarm_id) ++ task.alarm_clear_time = int(task.alarm_clear_time) ++ alarm_id = task.alarm_id ++ alarm_clear_time = task.alarm_clear_time ++ + alarm_list_dict[alarm_id] = [] + task_alarm_id_dict[task_name] = alarm_id + if alarm_id not in alarm_id_clear_time_dict: + alarm_id_clear_time_dict[alarm_id] = alarm_clear_time + else: + alarm_id_clear_time_dict[alarm_id] = max(alarm_clear_time, alarm_id_clear_time_dict[alarm_id]) ++ logging.info(f"alarm_register: {task_name} is registered") + # 注册告警回调 + id_filter = [True] * 128 + clientId = xalarm_register(update_alarm_list, id_filter) +diff --git a/src/python/syssentry/load_mods.py b/src/python/syssentry/load_mods.py +index 2ad7c6e..78db446 100644 +--- a/src/python/syssentry/load_mods.py ++++ b/src/python/syssentry/load_mods.py +@@ -198,20 +198,13 @@ def parse_mod_conf(mod_name, mod_conf): + task.load_enabled = is_enabled + + try: +- task.alarm_id = int(mod_conf.get(CONF_TASK, CONF_ALARM_ID)) +- if not (MIN_ALARM_ID <= task.alarm_id <= MAX_ALARM_ID): +- raise ValueError("Invalid alarm_id") +- except ValueError: + task.alarm_id = mod_conf.get(CONF_TASK, CONF_ALARM_ID) + except configparser.NoOptionError: +- logging.warning(f"{mod_name} alarm_id not set") + task.alarm_id = None +- task.alarm_clear_time = None ++ logging.warning(f"{mod_name} alarm_id not set, alarm_id is None") + + if task.alarm_id is not None: + try: +- task.alarm_clear_time = int(mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME)) +- except ValueError: + task.alarm_clear_time = mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME) + except configparser.NoOptionError: + logging.warning(f"{mod_name} not set alarm_clear_time, use 15s as default") +-- +2.27.0 + diff --git a/sysSentry.spec b/sysSentry.spec index 8181877..417ca40 100644 --- a/sysSentry.spec +++ b/sysSentry.spec @@ -4,7 +4,7 @@ Summary: System Inspection Framework Name: sysSentry Version: 1.0.2 -Release: 45 +Release: 46 License: Mulan PSL v2 Group: System Environment/Daemons Source0: https://gitee.com/openeuler/sysSentry/releases/download/v%{version}/%{name}-%{version}.tar.gz @@ -62,6 +62,8 @@ Patch49: fix-word-error.patch Patch50: ai_block_io-fix-some-bugs.patch Patch51: refactor-config.py-and-bugfix-uncorrect-slow-io-repo.patch Patch52: get_io_data-failed-wont-stop-avg_block_io-and-del-di.patch +Patch53: modify-print-log.patch +Patch54: optimize-log-printing.patch BuildRequires: cmake gcc-c++ BuildRequires: python3 python3-setuptools @@ -334,6 +336,12 @@ rm -rf %{buildroot} %attr(0550,root,root) %{python3_sitelib}/sentryCollector/__pycache__/collect_plugin* %changelog +* Wed Oct 16 2024 jinsaihang - 1.0.2-46 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:optimize log printing + * Tue Oct 15 2024 gaoruoshu - 1.0.2-45 - Type:bugfix - CVE:NA -- Gitee