From 25603393fd6751c6cc1850d2c47d25147ae96e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= Date: Tue, 18 Jun 2024 15:56:44 +0200 Subject: [PATCH 1/4] rpm-packaging: add grpc package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady --- dbld/build.manifest | 2 +- packaging/rhel/axosyslog.spec | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/dbld/build.manifest b/dbld/build.manifest index 794738f50b..abd7ee2947 100644 --- a/dbld/build.manifest +++ b/dbld/build.manifest @@ -42,5 +42,5 @@ ubuntu-lunar python3 ubuntu-mantic python3 fedora python3 -almalinux-8 python3,noriemann,nokafka,nomqtt,nojava +almalinux-8 python3,noriemann,nokafka,nomqtt,nojava,nogrpc almalinux-9 python3,nojava,nosql diff --git a/packaging/rhel/axosyslog.spec b/packaging/rhel/axosyslog.spec index 5a17407012..7709911cc1 100644 --- a/packaging/rhel/axosyslog.spec +++ b/packaging/rhel/axosyslog.spec @@ -25,6 +25,7 @@ Source4: syslog-ng.logrotate7 %bcond_without kafka %bcond_without afsnmp %bcond_without mqtt +%bcond_without grpc %if 0%{?rhel} == 9 @@ -127,6 +128,14 @@ BuildRequires: paho-c-devel BuildRequires: net-snmp-devel %endif +%if %{with grpc} +BuildRequires: gcc-c++ +BuildRequires: protobuf-devel +BuildRequires: protobuf-compiler +BuildRequires: abseil-cpp-devel +BuildRequires: grpc-devel +%endif + %if 0%{?rhel} == 7 BuildRequires: tcp_wrappers-devel Obsoletes: syslog-ng-json @@ -285,6 +294,15 @@ Requires: %{name} = %{version} %description python This package provides python destination support for axosyslog. +%package grpc +Summary: gRPC plugins for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description grpc +This module provides gRPC plugins that allows receiving and sending logs from/to +OpenTelemetry, Google BigQuery, and Grafana Loki. + %package devel Summary: Development files for %{name} Group: Development/Libraries @@ -349,6 +367,7 @@ ryslog is not on the system. %{?with_kafka:--enable-kafka} \ %{?with_mqtt:--enable-mqtt} \ %{?with_cloud_auth:--enable-cloud-auth} %{!?with_cloud_auth:--disable-cloud-auth} \ + %{?with_grpc:--enable-grpc} \ %{?with_afsnmp:--enable-afsnmp} %{!?with_afsnmp:--disable-afsnmp} \ %{?with_java:--enable-java} %{!?with_java:--disable-java} \ %{?with_maxminddb:--enable-geoip2} %{!?with_maxminddb:--disable-geoip2} \ @@ -547,6 +566,15 @@ fi %{_libdir}/syslog-ng/libcloud_auth.so %endif +%if %{with grpc} +%files grpc +%{_libdir}/libgrpc-protos.so +%{_libdir}/libgrpc-protos.so.* +%{_libdir}/syslog-ng/libotel.so +%{_libdir}/syslog-ng/libloki.so +%{_libdir}/syslog-ng/libbigquery.so +%endif + %files smtp %{_libdir}/syslog-ng/libafsmtp.so From 1d41324b4e5325cc13cf3cc4dbbc660e906230bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= Date: Tue, 18 Jun 2024 15:57:09 +0200 Subject: [PATCH 2/4] rpm-packaging: add bpf package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady --- dbld/build.manifest | 2 +- packaging/rhel/axosyslog.spec | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/dbld/build.manifest b/dbld/build.manifest index abd7ee2947..e5ac5025b2 100644 --- a/dbld/build.manifest +++ b/dbld/build.manifest @@ -42,5 +42,5 @@ ubuntu-lunar python3 ubuntu-mantic python3 fedora python3 -almalinux-8 python3,noriemann,nokafka,nomqtt,nojava,nogrpc +almalinux-8 python3,noriemann,nokafka,nomqtt,nojava,nogrpc,nobpf almalinux-9 python3,nojava,nosql diff --git a/packaging/rhel/axosyslog.spec b/packaging/rhel/axosyslog.spec index 7709911cc1..2b02741a98 100644 --- a/packaging/rhel/axosyslog.spec +++ b/packaging/rhel/axosyslog.spec @@ -26,6 +26,7 @@ Source4: syslog-ng.logrotate7 %bcond_without afsnmp %bcond_without mqtt %bcond_without grpc +%bcond_without bpf %if 0%{?rhel} == 9 @@ -136,6 +137,12 @@ BuildRequires: abseil-cpp-devel BuildRequires: grpc-devel %endif +%if %{with bpf} +BuildRequires: clang +BuildRequires: libbpf-devel +BuildRequires: bpftool +%endif + %if 0%{?rhel} == 7 BuildRequires: tcp_wrappers-devel Obsoletes: syslog-ng-json @@ -303,6 +310,15 @@ Requires: %{name}%{?_isa} = %{version}-%{release} This module provides gRPC plugins that allows receiving and sending logs from/to OpenTelemetry, Google BigQuery, and Grafana Loki. +%package bpf +Summary: BPF support for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description bpf +This package provides the ebpf() plugin which leverages the kernel's eBPF +infrastructure to improve performance and scalability of axosyslog. + %package devel Summary: Development files for %{name} Group: Development/Libraries @@ -364,6 +380,7 @@ ryslog is not on the system. --enable-python \ --disable-java-modules \ --with-python=%{py_ver} \ + %{?with_bpf:--enable-ebpf} \ %{?with_kafka:--enable-kafka} \ %{?with_mqtt:--enable-mqtt} \ %{?with_cloud_auth:--enable-cloud-auth} %{!?with_cloud_auth:--disable-cloud-auth} \ @@ -575,6 +592,11 @@ fi %{_libdir}/syslog-ng/libbigquery.so %endif +%if %{with bpf} +%files bpf +%{_libdir}/syslog-ng/libebpf.so +%endif + %files smtp %{_libdir}/syslog-ng/libafsmtp.so From 45d5882118b7a058fa6daaead8e792d835648c8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= Date: Tue, 18 Jun 2024 15:57:20 +0200 Subject: [PATCH 3/4] rpm-packaging: fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady --- packaging/rhel/axosyslog.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/rhel/axosyslog.spec b/packaging/rhel/axosyslog.spec index 2b02741a98..37a71bd403 100644 --- a/packaging/rhel/axosyslog.spec +++ b/packaging/rhel/axosyslog.spec @@ -336,7 +336,7 @@ Conflicts: rsyslog %description logrotate This package provides a logrotate script for axosyslog. It is only installed if -ryslog is not on the system. +rsyslog is not on the system. %prep %setup -q From 3abdcf58bd13fd4170ba302d5d48364e2f643aa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= Date: Tue, 18 Jun 2024 16:01:29 +0200 Subject: [PATCH 4/4] deb-packaging: update gRPC package description MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady --- packaging/debian/control | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packaging/debian/control b/packaging/debian/control index 09ccf06af7..6246cfb9a9 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -875,9 +875,11 @@ Description: Enhanced system logging daemon (GRPC plugins) * hand on messages for further processing using message queues (like AMQP), files or databases (like PostgreSQL or MongoDB). . - This package provides the GRPC plugin, that allows receiving and sending: + This package provides the GRPC plugins, that allows receiving and sending: . * OpenTelemetry logs, traces and metrics + * Google BigQuery + * Grafana Loki Package: axosyslog-mod-cloud-auth Architecture: any