From 02371e149917c48889544ca7fcc3296b7b97f837 Mon Sep 17 00:00:00 2001 From: zbud-msft Date: Wed, 9 Nov 2022 18:55:26 +0000 Subject: [PATCH 1/5] Add regex for select op failure --- files/build_templates/sonic_debian_extension.j2 | 1 + files/build_templates/swss_regex.json | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 files/build_templates/swss_regex.json diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index c5e76d3c47c..d19bffdf60d 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -329,6 +329,7 @@ sudo cp $BUILD_TEMPLATES/syncd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/kernel_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/dockerd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/seu_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ +sudo cp $BUILD_TEMPLATES/swss_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ # Install custom-built monit package and SONiC configuration files sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/monit_*.deb || \ diff --git a/files/build_templates/swss_regex.json b/files/build_templates/swss_regex.json new file mode 100644 index 00000000000..eb294c7d8d1 --- /dev/null +++ b/files/build_templates/swss_regex.json @@ -0,0 +1,7 @@ +[ + { + "tag": "select-operation-failure", + "regex": "SELECT operation result: ([a-zA-Z]*) on ([a-zA-Z]*)", + "params": [ "operation_result", "command" ] + } +] From 05fd07fbb792544daec3868ab78f769dafd9c170 Mon Sep 17 00:00:00 2001 From: zbud-msft Date: Thu, 10 Nov 2022 01:37:09 +0000 Subject: [PATCH 2/5] Move regex into respective containers from host --- dockers/docker-dhcp-relay/Dockerfile.j2 | 8 ++++++++ .../docker-dhcp-relay}/dhcp_relay_regex.json | 0 dockers/docker-dhcp-relay/events_info.json | 9 +++++++++ dockers/docker-orchagent/Dockerfile.j2 | 9 +++++++++ dockers/docker-orchagent/events_info.json | 9 +++++++++ .../docker-orchagent}/swss_regex.json | 0 files/build_templates/events_info.json | 4 ---- files/build_templates/sonic_debian_extension.j2 | 2 -- 8 files changed, 35 insertions(+), 6 deletions(-) rename {files/build_templates => dockers/docker-dhcp-relay}/dhcp_relay_regex.json (100%) create mode 100644 dockers/docker-dhcp-relay/events_info.json create mode 100644 dockers/docker-orchagent/events_info.json rename {files/build_templates => dockers/docker-orchagent}/swss_regex.json (100%) diff --git a/dockers/docker-dhcp-relay/Dockerfile.j2 b/dockers/docker-dhcp-relay/Dockerfile.j2 index 9a5eb23c38a..1cddd11b61d 100644 --- a/dockers/docker-dhcp-relay/Dockerfile.j2 +++ b/dockers/docker-dhcp-relay/Dockerfile.j2 @@ -34,5 +34,13 @@ COPY ["dhcp-relay.programs.j2", "dhcpv4-relay.agents.j2", "dhcpv6-relay.agents.j COPY ["files/supervisor-proc-exit-listener", "/usr/bin"] COPY ["critical_processes", "/etc/supervisor"] COPY ["cli", "/cli/"] +# Copy regex json and rsyslog_plugin.conf file into rsyslog.d +COPY ["*.json", "/etc/rsyslog.d/"] +COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"] + +# Create dhcp_relay_regex.conf +RUN j2 -f json /etc/rsyslog.d/rsyslog_plugin.conf.j2 /etc/rsyslog.d/events_info.json > /etc/rsyslog.d/dhcp_relay_events.conf +RUN rm -f /etc/rsyslog.d/rsyslog_plugin.conf.j2 +RUN rm -f /etc/rsyslog.d/events_info.json ENTRYPOINT ["/usr/bin/docker_init.sh"] diff --git a/files/build_templates/dhcp_relay_regex.json b/dockers/docker-dhcp-relay/dhcp_relay_regex.json similarity index 100% rename from files/build_templates/dhcp_relay_regex.json rename to dockers/docker-dhcp-relay/dhcp_relay_regex.json diff --git a/dockers/docker-dhcp-relay/events_info.json b/dockers/docker-dhcp-relay/events_info.json new file mode 100644 index 00000000000..89d75c77e8d --- /dev/null +++ b/dockers/docker-dhcp-relay/events_info.json @@ -0,0 +1,9 @@ +{ + "yang_module": "sonic-events-dhcp-relay", + "proclist": [ + { + "name": "dhcp_relay", + "parse_json": "dhcp_relay_regex.json" + } + ] +} diff --git a/dockers/docker-orchagent/Dockerfile.j2 b/dockers/docker-orchagent/Dockerfile.j2 index a7a314cdc8c..22adec2b595 100755 --- a/dockers/docker-orchagent/Dockerfile.j2 +++ b/dockers/docker-orchagent/Dockerfile.j2 @@ -76,8 +76,17 @@ COPY ["files/supervisor-proc-exit-listener", "/usr/bin"] # Copy all Jinja2 template files into the templates folder COPY ["*.j2", "/usr/share/sonic/templates/"] +# Copy all regex json files and rsyslog_plugin.conf to rsyslog.d +COPY ["*.json", "/etc/rsyslog.d/"] +COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"] + RUN sonic-cfggen -a "{\"ENABLE_ASAN\":\"{{ENABLE_ASAN}}\"}" -t /usr/share/sonic/templates/docker-init.j2 > /usr/bin/docker-init.sh RUN rm -f /usr/share/sonic/templates/docker-init.j2 RUN chmod 755 /usr/bin/docker-init.sh +# Create swss rsyslog_plugin conf file +RUN j2 -f json /etc/rsyslog.d/rsyslog_plugin.conf.j2 /etc/rsyslog.d/events_info.json > /etc/rsyslog.d/swss_events.conf +RUN rm -f /etc/rsyslog.d/rsyslog_plugin.conf.j2 +RUN rm -f /etc/rsyslog.d/events_info.json + ENTRYPOINT ["/usr/bin/docker-init.sh"] diff --git a/dockers/docker-orchagent/events_info.json b/dockers/docker-orchagent/events_info.json new file mode 100644 index 00000000000..cfcf680fa21 --- /dev/null +++ b/dockers/docker-orchagent/events_info.json @@ -0,0 +1,9 @@ +{ + "yang_module": "sonic-events-swss", + "proclist": [ + { + "name": "swss", + "parse_json": "swss_regex.json" + } + ] +} diff --git a/files/build_templates/swss_regex.json b/dockers/docker-orchagent/swss_regex.json similarity index 100% rename from files/build_templates/swss_regex.json rename to dockers/docker-orchagent/swss_regex.json diff --git a/files/build_templates/events_info.json b/files/build_templates/events_info.json index b83afc3caf7..3b7f0cfb123 100644 --- a/files/build_templates/events_info.json +++ b/files/build_templates/events_info.json @@ -13,10 +13,6 @@ "name": "systemd", "parse_json": "systemd_regex.json" }, - { - "name": "dhcp_relay", - "parse_json": "dhcp_relay_regex.json" - }, { "name": "syncd", "parse_json": "syncd_regex.json" diff --git a/files/build_templates/sonic_debian_extension.j2 b/files/build_templates/sonic_debian_extension.j2 index d19bffdf60d..e77141d3c56 100644 --- a/files/build_templates/sonic_debian_extension.j2 +++ b/files/build_templates/sonic_debian_extension.j2 @@ -324,12 +324,10 @@ j2 -f json $BUILD_TEMPLATES/rsyslog_plugin.conf.j2 $BUILD_TEMPLATES/events_info. sudo cp $BUILD_TEMPLATES/monit_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/sshd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/systemd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ -sudo cp $BUILD_TEMPLATES/dhcp_relay_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/syncd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/kernel_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/dockerd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ sudo cp $BUILD_TEMPLATES/seu_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ -sudo cp $BUILD_TEMPLATES/swss_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/ # Install custom-built monit package and SONiC configuration files sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/monit_*.deb || \ From ea7a90f1f3fe4f37fcebc807166eff2dd498d94e Mon Sep 17 00:00:00 2001 From: zbud-msft Date: Thu, 10 Nov 2022 08:37:10 +0000 Subject: [PATCH 3/5] Add rsyslog plugin to dockers --- rules/docker-dhcp-relay.mk | 4 ++-- rules/docker-orchagent.mk | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/rules/docker-dhcp-relay.mk b/rules/docker-dhcp-relay.mk index c2db8d7ba53..c26995ad143 100644 --- a/rules/docker-dhcp-relay.mk +++ b/rules/docker-dhcp-relay.mk @@ -6,10 +6,10 @@ DOCKER_DHCP_RELAY_DBG = $(DOCKER_DHCP_RELAY_STEM)-$(DBG_IMAGE_MARK).gz $(DOCKER_DHCP_RELAY)_PATH = $(DOCKERS_PATH)/$(DOCKER_DHCP_RELAY_STEM) -$(DOCKER_DHCP_RELAY)_DEPENDS += $(ISC_DHCP_RELAY) $(SONIC_DHCPMON) $(SONIC_DHCPRELAY) $(LIBSWSSCOMMON) +$(DOCKER_DHCP_RELAY)_DEPENDS += $(ISC_DHCP_RELAY) $(SONIC_DHCPMON) $(SONIC_DHCPRELAY) $(LIBSWSSCOMMON) $(SONIC_RSYSLOG_PLUGIN) $(DOCKER_DHCP_RELAY)_DBG_DEPENDS = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_DEPENDS) -$(DOCKER_DHCP_RELAY)_DBG_DEPENDS += $(ISC_DHCP_RELAY_DBG) $(SONIC_DHCPRELAY_DBG) $(SONIC_DHCPMON_DBG) +$(DOCKER_DHCP_RELAY)_DBG_DEPENDS += $(ISC_DHCP_RELAY_DBG) $(SONIC_DHCPRELAY_DBG) $(SONIC_DHCPMON_DBG) $(SONIC_RSYSLOG_PLUGIN) $(DOCKER_DHCP_RELAY)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BULLSEYE)_DBG_IMAGE_PACKAGES) diff --git a/rules/docker-orchagent.mk b/rules/docker-orchagent.mk index fed461290f4..eae484ccc5f 100644 --- a/rules/docker-orchagent.mk +++ b/rules/docker-orchagent.mk @@ -4,7 +4,7 @@ DOCKER_ORCHAGENT_STEM = docker-orchagent DOCKER_ORCHAGENT = $(DOCKER_ORCHAGENT_STEM).gz DOCKER_ORCHAGENT_DBG = $(DOCKER_ORCHAGENT_STEM)-$(DBG_IMAGE_MARK).gz -$(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS) +$(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS) $(SONIC_RSYSLOG_PLUGIN) ifeq ($(ENABLE_ASAN), y) $(DOCKER_ORCHAGENT)_DEPENDS += $(SWSS_DBG) @@ -13,7 +13,8 @@ endif $(DOCKER_ORCHAGENT)_DBG_DEPENDS = $($(DOCKER_SWSS_LAYER_BULLSEYE)_DBG_DEPENDS) $(DOCKER_ORCHAGENT)_DBG_DEPENDS += $(SWSS_DBG) \ $(LIBSWSSCOMMON_DBG) \ - $(LIBSAIREDIS_DBG) + $(LIBSAIREDIS_DBG) \ + $(SONIC_RSYSLOG_PLUGIN) $(DOCKER_ORCHAGENT)_PYTHON_WHEELS += $(SCAPY) $(DOCKER_ORCHAGENT)_DBG_IMAGE_PACKAGES = $($(DOCKER_SWSS_LAYER_BULLSEYE)_DBG_IMAGE_PACKAGES) From 53d9f3a11bda1e77a331ced939af5824048d8e1c Mon Sep 17 00:00:00 2001 From: zbud-msft Date: Fri, 11 Nov 2022 21:54:29 +0000 Subject: [PATCH 4/5] Add alpm event --- files/build_templates/syncd_regex.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/files/build_templates/syncd_regex.json b/files/build_templates/syncd_regex.json index cc78c30f539..c6a282fd1f1 100644 --- a/files/build_templates/syncd_regex.json +++ b/files/build_templates/syncd_regex.json @@ -3,5 +3,10 @@ "tag": "syncd-failure", "regex": "(MMU ERR Type|L3 route add failed with error|Assertion failed|Received switch event|SER Parity Check Error)", "params": [ "fail_type:ret=(arg==\"Received switch event\")and\"switch_event\"or((arg==\"Assertion Failed\")and\"assert\"or((arg==\"SER Parity Check Error\")and\"parity_check\"or((arg==\"MMU ERR Type\")and\"mmu_err\"or((arg==\"route add failed\")and\"route_add_failed\"or\"\"))))" ] + }, + { + "tag": "alpm-parity-error", + "regex": "ALPM (delete|insert) operation.L3_DEFIP_ALPM_(IPV4|IPV6).*encountered parity error", + "params": [ "operation", "ip_type" ] } ] From f8698d2932c058fda4d611a543ad89b4e22a81e1 Mon Sep 17 00:00:00 2001 From: zbud-msft Date: Sat, 12 Nov 2022 00:20:33 +0000 Subject: [PATCH 5/5] Add lua to alpm event and change to ip_family --- files/build_templates/syncd_regex.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/build_templates/syncd_regex.json b/files/build_templates/syncd_regex.json index c6a282fd1f1..ef849306fc7 100644 --- a/files/build_templates/syncd_regex.json +++ b/files/build_templates/syncd_regex.json @@ -7,6 +7,6 @@ { "tag": "alpm-parity-error", "regex": "ALPM (delete|insert) operation.L3_DEFIP_ALPM_(IPV4|IPV6).*encountered parity error", - "params": [ "operation", "ip_type" ] + "params": [ "operation", "ip_family:ret=(arg==\"IPV4\")and\"IPv4\"or((arg==\"IPV6\")and\"IPv6\"or\"\")" ] } ]