summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitris P <Dim-P@users.noreply.github.com>2023-11-30 19:15:23 +0000
committerGitHub <noreply@github.com>2023-11-30 21:15:23 +0200
commitd481e70f52f1f0922bece45ccabb72692691e4d6 (patch)
tree2cec4fcfc2735945e3b98bb3fbbe38a7318f7f4c
parent1dca7fd7c9f5a467e721bd1d5d00f074195e0dd4 (diff)
logs-management: Add prefix to chart names (#16514)
-rw-r--r--logsmanagement/defaults.h3
-rw-r--r--logsmanagement/logsmanag_config.c27
2 files changed, 21 insertions, 9 deletions
diff --git a/logsmanagement/defaults.h b/logsmanagement/defaults.h
index f0b651cbab..8c8773ade2 100644
--- a/logsmanagement/defaults.h
+++ b/logsmanagement/defaults.h
@@ -34,6 +34,9 @@
#define SD_JOURNAL_SEND_DEFAULT CONFIG_BOOLEAN_NO /**< Default value to enable (or not) submission of logs to the system journal (where applicable) **/
+#define LOGS_MANAG_CHARTNAME_SIZE 50 /**< Maximum size of log source chart names, including terminating '\0'. **/
+#define LOGS_MANAG_CHARTNAME_PREFIX "logs_manag_" /**< Prefix of top-level chart names, used also in function sources. **/
+
/* -------------------------------------------------------------------------- */
diff --git a/logsmanagement/logsmanag_config.c b/logsmanagement/logsmanag_config.c
index 4bebd54a7e..5be52389e5 100644
--- a/logsmanagement/logsmanag_config.c
+++ b/logsmanagement/logsmanag_config.c
@@ -563,8 +563,17 @@ static void config_section_init(uv_loop_t *main_loop,
* Check if config_section->name is valid and if so, use it as chartname.
* ------------------------------------------------------------------------- */
if(config_section->name && *config_section->name){
- p_file_info->chartname = strdupz(config_section->name);
- netdata_fix_chart_id((char *) p_file_info->chartname);
+ char tmp[LOGS_MANAG_CHARTNAME_SIZE] = {0};
+
+ snprintfz(tmp, sizeof(tmp), "%s%s", LOGS_MANAG_CHARTNAME_PREFIX, config_section->name);
+
+ netdata_fix_chart_id(tmp);
+
+ for(char *ch = (char *) tmp; *ch; ch++)
+ *ch = *ch == '.' ? '_' : *ch; // Convert dots to underscores
+
+ p_file_info->chartname = strdupz(tmp);
+
collector_info("[%s]: Initializing config loading", p_file_info->chartname);
} else {
collector_error("Invalid logs management config section.");
@@ -650,21 +659,21 @@ static void config_section_init(uv_loop_t *main_loop,
switch(p_file_info->log_type){
case FLB_TAIL:
- if(!strcasecmp(p_file_info->chartname, "Netdata_daemon.log")){
+ if(!strcasecmp(p_file_info->chartname, LOGS_MANAG_CHARTNAME_PREFIX "netdata_daemon_log")){
char path[FILENAME_MAX + 1];
snprintfz(path, FILENAME_MAX, "%s/daemon.log", get_log_dir());
if(access(path, R_OK)) {
- collector_error("[%s]: 'Netdata_daemon.log' path (%s) invalid, unknown or needs permissions",
+ collector_error("[%s]: 'Netdata daemon.log' path (%s) invalid, unknown or needs permissions",
p_file_info->chartname, path);
return p_file_info_destroy(p_file_info);
} else p_file_info->filename = strdupz(path);
- } else if(!strcasecmp(p_file_info->chartname, "Netdata_fluentbit.log")){
+ } else if(!strcasecmp(p_file_info->chartname, LOGS_MANAG_CHARTNAME_PREFIX "fluentbit_log")){
if(access(p_flb_srvc_config->log_path, R_OK)){
- collector_error("[%s]: Netdata_fluentbit.log path (%s) invalid, unknown or needs permissions",
+ collector_error("[%s]: Netdata fluentbit.log path (%s) invalid, unknown or needs permissions",
p_file_info->chartname, p_flb_srvc_config->log_path);
return p_file_info_destroy(p_file_info);
} else p_file_info->filename = strdupz(p_flb_srvc_config->log_path);
- } else if(!strcasecmp(p_file_info->chartname, "Auth.log_tail")){
+ } else if(!strcasecmp(p_file_info->chartname, LOGS_MANAG_CHARTNAME_PREFIX "auth_log_tail")){
const char * const auth_path_default[] = {
"/var/log/auth.log",
NULL
@@ -690,7 +699,7 @@ static void config_section_init(uv_loop_t *main_loop,
}
break;
case FLB_WEB_LOG:
- if(!strcasecmp(p_file_info->chartname, "Apache_access.log")){
+ if(!strcasecmp(p_file_info->chartname, LOGS_MANAG_CHARTNAME_PREFIX "apache_access_log")){
const char * const apache_access_path_default[] = {
"/var/log/apache/access.log",
"/var/log/apache2/access.log",
@@ -705,7 +714,7 @@ static void config_section_init(uv_loop_t *main_loop,
collector_error("[%s]: Apache access.log path invalid, unknown or needs permissions", p_file_info->chartname);
return p_file_info_destroy(p_file_info);
} else p_file_info->filename = strdupz(apache_access_path_default[i]);
- } else if(!strcasecmp(p_file_info->chartname, "Nginx_access.log")){
+ } else if(!strcasecmp(p_file_info->chartname, LOGS_MANAG_CHARTNAME_PREFIX "nginx_access_log")){
const char * const nginx_access_path_default[] = {
"/var/log/nginx/access.log",
NULL