From c804063435d6bb22374d3041d43fc607ad271501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= Date: Thu, 20 Jun 2024 13:57:11 +0200 Subject: [PATCH] deb-packaging: add axosyslog-mod-bpf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady --- dbld/functions.sh | 2 ++ packaging/debian/axosyslog-mod-bpf.install | 1 + packaging/debian/control | 30 +++++++++++++++++++++- packaging/debian/rules | 8 ++++++ 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 packaging/debian/axosyslog-mod-bpf.install diff --git a/dbld/functions.sh b/dbld/functions.sh index 1beb2f60ed..03953bb274 100644 --- a/dbld/functions.sh +++ b/dbld/functions.sh @@ -78,6 +78,8 @@ function _map_feature_flags_to_deb_build_profiles() ;; esac done + + echo -n "sng-${OS_DISTRIBUTION} " echo } diff --git a/packaging/debian/axosyslog-mod-bpf.install b/packaging/debian/axosyslog-mod-bpf.install new file mode 100644 index 0000000000..8c95295fca --- /dev/null +++ b/packaging/debian/axosyslog-mod-bpf.install @@ -0,0 +1 @@ +usr/lib/syslog-ng/*/libebpf.so diff --git a/packaging/debian/control b/packaging/debian/control index 6246cfb9a9..63eb407f1f 100644 --- a/packaging/debian/control +++ b/packaging/debian/control @@ -46,7 +46,11 @@ Build-Depends: debhelper (>= 10~), libprotoc-dev , libabsl-dev , libprotobuf-dev , - libgrpc++-dev + libgrpc++-dev , + clang , + libbpf-dev , + linux-tools-common , + bpftool Build-Conflicts: autoconf2.13 Standards-Version: 4.4.1 Homepage: https://axoflow.com/docs/axosyslog-core/ @@ -881,6 +885,30 @@ Description: Enhanced system logging daemon (GRPC plugins) * Google BigQuery * Grafana Loki +Package: axosyslog-mod-bpf +Architecture: any +Multi-Arch: foreign +Depends: ${shlibs:Depends}, ${misc:Depends}, axosyslog-core (>= ${source:Version}), axosyslog-core (<< ${source:Version}.1~) +Conflicts: syslog-ng-mod-grpc +Description: Enhanced system logging daemon (eBPF plugins) + AxoSyslog is an enhanced log daemon, supporting a wide range of input + and output methods: syslog, unstructured text, message queues, + databases (SQL and NoSQL alike) and more. + . + Key features: + . + * receive and send RFC3164 and RFC5424 style syslog messages + * work with any kind of unstructured data + * receive and send JSON formatted messages + * classify and structure logs with builtin parsers (csv-parser(), + db-parser(), etc.) + * normalize, crunch and process logs as they flow through the system + * hand on messages for further processing using message queues (like + AMQP), files or databases (like PostgreSQL or MongoDB). + . + This package provides the ebpf() plugin which leverages the kernel's eBPF + infrastructure to improve performance and scalability of AxoSyslog. + Package: axosyslog-mod-cloud-auth Architecture: any Multi-Arch: foreign diff --git a/packaging/debian/rules b/packaging/debian/rules index 3df1bb9ef9..b2b6bd0726 100755 --- a/packaging/debian/rules +++ b/packaging/debian/rules @@ -76,6 +76,13 @@ ifneq ($(filter sng-nogrpc,$(DEB_BUILD_PROFILES)),) DH_OPTIONS += -Naxosyslog-mod-grpc endif +ifneq ($(filter sng-nobpf,$(DEB_BUILD_PROFILES)),) +DH_OPTIONS += -Naxosyslog-mod-bpf +BPF_CONFIGURE_OPTS = --disable-ebpf +else +BPF_CONFIGURE_OPTS = --enable-ebpf +endif + # If DH_QUIET is set, then we want silent mode. # If DH_VERBOSE is set, we do not want silent mode. # If neither is set, we want the default: verbose mode. @@ -127,6 +134,7 @@ override_dh_auto_configure: --enable-java=auto \ --enable-mqtt=auto \ --enable-grpc=auto \ + $(BPF_CONFIGURE_OPTS) \ --enable-cloud-auth=auto \ \ --with-mongoc=system \