From fc70a47885f9353ea52aac36966565e68a7c2497 Mon Sep 17 00:00:00 2001 From: zhuofeng <1107893276@qq.com> Date: Sat, 21 Dec 2024 02:37:43 +0000 Subject: [PATCH 1/2] add ebpf logs to the collector.log file. Signed-off-by: zhuofeng <1107893276@qq.com> --- src/sentryCollector/collect_config.py | 10 +++++----- src/sentryCollector/collect_io.py | 6 +++++- src/sentryCollector/collectd.py | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/sentryCollector/collect_config.py b/src/sentryCollector/collect_config.py index 7ca9898..13ff045 100644 --- a/src/sentryCollector/collect_config.py +++ b/src/sentryCollector/collect_config.py @@ -46,19 +46,19 @@ LogLevel = { def get_log_level(filename=COLLECT_CONF_PATH): if not os.path.exists(filename): - return logging.INFO + return "info" try: config = configparser.ConfigParser() config.read(filename) if not config.has_option(CONF_LOG, CONF_LOG_LEVEL): - return logging.INFO + return "info" log_level = config.get(CONF_LOG, CONF_LOG_LEVEL) if log_level.lower() in LogLevel: - return LogLevel.get(log_level.lower()) - return logging.INFO + return log_level.lower() + return "info" except configparser.Error: - return logging.INFO + return "info" class CollectConfig: diff --git a/src/sentryCollector/collect_io.py b/src/sentryCollector/collect_io.py index a7e86cb..d32b4dc 100644 --- a/src/sentryCollector/collect_io.py +++ b/src/sentryCollector/collect_io.py @@ -19,7 +19,7 @@ import threading import subprocess from typing import Union -from .collect_config import CollectConfig +from .collect_config import CollectConfig, get_log_level Io_Category = ["read", "write", "flush", "discard"] IO_GLOBAL_DATA = {} @@ -58,6 +58,8 @@ class CollectIo(): self.stop_event = threading.Event() + self.log_level = get_log_level() + IO_CONFIG_DATA.append(self.period_time) IO_CONFIG_DATA.append(self.max_save) @@ -266,6 +268,8 @@ class CollectIo(): if EBPF_GLOBAL_DATA: for data in EBPF_GLOBAL_DATA: data_list = data.split() + if data_list[0] not in EBPF_STAGE_LIST: + getattr(logging, self.log_level)(data) if len(data_list) != 6: continue stage, finish_count, latency, io_dump, io_type ,disk_name = data_list diff --git a/src/sentryCollector/collectd.py b/src/sentryCollector/collectd.py index ddeb42b..c73ce03 100644 --- a/src/sentryCollector/collectd.py +++ b/src/sentryCollector/collectd.py @@ -22,7 +22,7 @@ import threading from .collect_io import CollectIo from .collect_server import CollectServer -from .collect_config import CollectConfig, get_log_level +from .collect_config import CollectConfig, get_log_level, LogLevel SENTRY_RUN_DIR = "/var/run/sysSentry" COLLECT_SOCKET_PATH = "/var/run/sysSentry/collector.sock" @@ -53,7 +53,7 @@ def main(): os.mkdir(SENTRY_RUN_DIR) os.chmod(SENTRY_RUN_DIR, mode=SENTRY_RUN_DIR_PERM) - log_level = get_log_level() + log_level = LogLevel.get(get_log_level()) log_format = "%(asctime)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s" logging.basicConfig(filename=COLLECT_LOG_FILE, level=log_level, format=log_format) os.chmod(COLLECT_LOG_FILE, 0o600) -- Gitee From 886bd27994b99f4fcbc85baf984bcb9aa2490bb2 Mon Sep 17 00:00:00 2001 From: zhuofeng <1107893276@qq.com> Date: Sat, 21 Dec 2024 03:10:55 +0000 Subject: [PATCH 2/2] update Signed-off-by: zhuofeng <1107893276@qq.com> --- src/sentryCollector/collect_config.py | 10 +++++----- src/sentryCollector/collect_io.py | 6 +++--- src/sentryCollector/collectd.py | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/sentryCollector/collect_config.py b/src/sentryCollector/collect_config.py index 13ff045..7ca9898 100644 --- a/src/sentryCollector/collect_config.py +++ b/src/sentryCollector/collect_config.py @@ -46,19 +46,19 @@ LogLevel = { def get_log_level(filename=COLLECT_CONF_PATH): if not os.path.exists(filename): - return "info" + return logging.INFO try: config = configparser.ConfigParser() config.read(filename) if not config.has_option(CONF_LOG, CONF_LOG_LEVEL): - return "info" + return logging.INFO log_level = config.get(CONF_LOG, CONF_LOG_LEVEL) if log_level.lower() in LogLevel: - return log_level.lower() - return "info" + return LogLevel.get(log_level.lower()) + return logging.INFO except configparser.Error: - return "info" + return logging.INFO class CollectConfig: diff --git a/src/sentryCollector/collect_io.py b/src/sentryCollector/collect_io.py index d32b4dc..718ee94 100644 --- a/src/sentryCollector/collect_io.py +++ b/src/sentryCollector/collect_io.py @@ -58,7 +58,7 @@ class CollectIo(): self.stop_event = threading.Event() - self.log_level = get_log_level() + self.log_level = logging.getLevelName(get_log_level()).lower() IO_CONFIG_DATA.append(self.period_time) IO_CONFIG_DATA.append(self.max_save) @@ -269,7 +269,7 @@ class CollectIo(): for data in EBPF_GLOBAL_DATA: data_list = data.split() if data_list[0] not in EBPF_STAGE_LIST: - getattr(logging, self.log_level)(data) + getattr(logging, self.log_level)("[ebpf] " + data) if len(data_list) != 6: continue stage, finish_count, latency, io_dump, io_type ,disk_name = data_list @@ -417,7 +417,7 @@ class CollectIo(): def main_loop(self): global IO_GLOBAL_DATA logging.info("collect io thread start") - + if self.is_kernel_avaliable() and len(self.disk_map_stage) != 0: for disk_name, stage_list in self.disk_map_stage.items(): for stage in stage_list: diff --git a/src/sentryCollector/collectd.py b/src/sentryCollector/collectd.py index c73ce03..ddeb42b 100644 --- a/src/sentryCollector/collectd.py +++ b/src/sentryCollector/collectd.py @@ -22,7 +22,7 @@ import threading from .collect_io import CollectIo from .collect_server import CollectServer -from .collect_config import CollectConfig, get_log_level, LogLevel +from .collect_config import CollectConfig, get_log_level SENTRY_RUN_DIR = "/var/run/sysSentry" COLLECT_SOCKET_PATH = "/var/run/sysSentry/collector.sock" @@ -53,7 +53,7 @@ def main(): os.mkdir(SENTRY_RUN_DIR) os.chmod(SENTRY_RUN_DIR, mode=SENTRY_RUN_DIR_PERM) - log_level = LogLevel.get(get_log_level()) + log_level = get_log_level() log_format = "%(asctime)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s" logging.basicConfig(filename=COLLECT_LOG_FILE, level=log_level, format=log_format) os.chmod(COLLECT_LOG_FILE, 0o600) -- Gitee