From 9933c97e949d0731ff668394626a7bb89fb59d84 Mon Sep 17 00:00:00 2001 From: Raymond Kuiper Date: Tue, 24 Jun 2025 17:28:57 +0200 Subject: [PATCH] improved debug logging --- modules/device.py | 1 + modules/tools.py | 5 +++-- modules/usermacros.py | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/device.py b/modules/device.py index bdde4a1..aa323fb 100644 --- a/modules/device.py +++ b/modules/device.py @@ -229,6 +229,7 @@ class PhysicalDevice: self.inventory = field_mapper( self.name, self._inventory_map(), nbdevice, self.logger ) + self.logger.debug(f"Host {self.name}: Resolved inventory: {self.inventory}") return True def isCluster(self): diff --git a/modules/tools.py b/modules/tools.py index 823410e..ed327a7 100644 --- a/modules/tools.py +++ b/modules/tools.py @@ -159,7 +159,7 @@ def sanatize_log_output(data): """ Used for the update function to Zabbix which shows the data that its using to update the host. - Removes and sensitive data from the input. + Removes any sensitive data from the input. """ if not isinstance(data, dict): return data @@ -168,7 +168,8 @@ def sanatize_log_output(data): if "macros" in data: for macro in sanitized_data["macros"]: # Check if macro is secret type - if not macro["type"] == str(1): + if not (macro["type"] == str(1) or + macro["type"] == 1): continue macro["value"] = "********" # Check for interface data diff --git a/modules/usermacros.py b/modules/usermacros.py index 6d396c8..1e23213 100644 --- a/modules/usermacros.py +++ b/modules/usermacros.py @@ -6,7 +6,7 @@ All of the Zabbix Usermacro related configuration from logging import getLogger from re import match -from modules.tools import field_mapper +from modules.tools import field_mapper, sanatize_log_output class ZabbixUsermacros: @@ -98,6 +98,7 @@ class ZabbixUsermacros: Generate full set of Usermacros """ macros = [] + data={} # Parse the field mapper for usermacros if self.usermacro_map: self.logger.debug(f"Host {self.nb.name}: Starting usermacro mapper") @@ -119,4 +120,6 @@ class ZabbixUsermacros: m = self.render_macro(macro, properties) if m: macros.append(m) + data={'macros': macros} + self.logger.debug(f"Host {self.name}: Resolved macros: {sanatize_log_output(data)}") return macros