summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/debian/control129
-rw-r--r--contrib/debian/netdata-plugin-apps.postinst13
-rw-r--r--contrib/debian/netdata-plugin-debugfs.postinst13
-rw-r--r--contrib/debian/netdata-plugin-ebpf.postinst13
-rw-r--r--contrib/debian/netdata-plugin-freeipmi.postinst13
-rw-r--r--contrib/debian/netdata-plugin-go.postinst13
-rw-r--r--contrib/debian/netdata-plugin-nfacct.postinst13
-rw-r--r--contrib/debian/netdata-plugin-perf.postinst17
-rw-r--r--contrib/debian/netdata-plugin-slabinfo.postinst13
-rw-r--r--contrib/debian/netdata.postinst17
-rwxr-xr-xcontrib/debian/rules97
11 files changed, 318 insertions, 33 deletions
diff --git a/contrib/debian/control b/contrib/debian/control
index eeeb8d25c6..f4a767b320 100644
--- a/contrib/debian/control
+++ b/contrib/debian/control
@@ -42,6 +42,17 @@ Conflicts: netdata-core,
netdata-plugins-bash,
netdata-plugins-python,
netdata-web
+Recommends: netdata-plugin-ebpf,
+ netdata-plugin-apps,
+ netdata-plugin-pythond,
+ netdata-plugin-go,
+ netdata-plugin-debugfs
+Suggests: netdata-plugin-cups,
+ netdata-plugin-freeipmi,
+ netdata-plugin-nfacct,
+ netdata-plugin-chartsd,
+ netdata-plugin-slabinfo,
+ netdata-plugin-perf
Pre-Depends: dpkg (>= 1.17.14)
Description: real-time charts for system monitoring
Netdata is a daemon that collects data in realtime (per second)
@@ -54,14 +65,120 @@ Architecture: any
Depends: cups,
${shlibs:Depends},
netdata (>= ${source:Version})
-Description: The Common Unix Printing System plugin for metrics collection from cupsd
+Description: The CUPS metrics collection plugin for the Netdata Agent
+ This plugin allows the Netdata Agent to collect metrics from the Common
+ UNIX Printing System.
Package: netdata-plugin-freeipmi
Architecture: any
Depends: freeipmi,
${shlibs:Depends},
- netdata (= ${source:Version})
-Description: FreeIPMI - The Intelligent Platform Management System.
- The IPMI specification defines a set of interfaces for platform management.
- It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in
- are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL).
+ netdata (>= ${source:Version})
+Description: The FreeIPMI metrics collection plugin for the Netdata Agent
+ This plugin allows the Netdata Agent to collect metrics from hardware
+ using FreeIPMI.
+
+Package: netdata-plugin-nfacct
+Architecture: any
+Depends: ${shlibs:Depends},
+ netdata (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: The NFACCT metrics collection plugin for the Netdata Agent
+ This plugin allows the Netdata Agent to collect metrics from the firewall
+ using NFACCT objects.
+
+Package: netdata-plugin-chartsd
+Architecture: all
+Depends: bash,
+ netdata (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Suggests: apcupsd, nut, iw, sudo
+Description: The charts.d metrics collection plugin for the Netdata Agent
+ This plugin adds a selection of additional collectors written in shell
+ script to the Netdata Agent. It includes collectors for NUT, APCUPSD,
+ LibreSWAN, OpenSIPS, and Wireless access point statistics.
+
+Package: netdata-plugin-ebpf
+Architecture: any
+Depends: ${shlibs:Depends},
+ netdata (>= ${source:Version})
+Recommends: netdata-ebpf-code-legacy (>= ${source:Version}),
+ netdata-plugin-apps (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: The eBPF metrics collection plugin for the Netdata Agent
+ This plugin allows the Netdata Agent to use eBPF code to collect more
+ detailed kernel-level metrics for the system.
+
+Package: netdata-ebpf-code-legacy
+Architecture: i386 amd64
+Depends: netdata-plugin-ebpf (= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: Compiled eBPF legacy code for the Netdata eBPF plugin
+ This package provides the pre-compiled eBPF legacy code for use by
+ the Netdata eBPF plugin. This code is only needed when using the eBPF
+ plugin with kernel that do not include BTF support (mostly kernel
+ versions lower than 5.10)..
+
+Package: netdata-plugin-pythond
+Architecture: all
+Depends: ${shlibs:Depends},
+ netdata (>= ${source:Version})
+Suggests: sudo
+Conflicts: netdata (< ${source:Version})
+Description: The python.d metrics collection plugin for the Netdata Agent
+ Many of the collectors provided by this package are also available
+ in netdata-plugin-god. In msot cases, you probably want to use those
+ versions instead of the Python versions.
+
+Package: netdata-plugin-go
+Architecture: any
+Depends: ${shlibs:Depends},
+ libcap2-bin,
+ netdata (>= ${source:Version})
+Suggests: nvme-cli, sudo
+Conflicts: netdata (< ${source:Version})
+Description: The go.d metrics collection plugin for the Netdata Agent
+ This plugin adds a selection of additional collectors written in Go to
+ the Netdata Agent. A significant percentage of the application specific
+ collectors provided by Netdata are part of this plugin, so most users
+ will want it installed.
+
+Package: netdata-plugin-apps
+Architecture: any
+Depends: ${shlibs:Depends},
+ libcap2-bin,
+ netdata (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: The per-application metrics collection plugin for the Netdata Agent
+ This plugin allows the Netdata Agent to collect per-application and
+ per-user metrics without using cgroups.
+
+Package: netdata-plugin-slabinfo
+Architecture: any
+Depends: ${shlibs:Depends},
+ libcap2-bin,
+ netdata (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: The slabinfo metrics collector for the Netdata Agent
+ This plugin allows the Netdata Agent to collect perfromance and
+ utilization metrics for the Linux kernel’s SLAB allocator.
+
+Package: netdata-plugin-perf
+Architecture: any
+Depends: ${shlibs:Depends},
+ libcap2-bin,
+ netdata (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: The perf metrics collector for the Netdata Agent
+ This plugin allows the Netdata to collect metrics from the Linux perf
+ subsystem.
+
+Package: netdata-plugin-debugfs
+Architecture: any
+Depends: ${shlibs:Debends},
+ libcap2-bin,
+ netdata (>= ${source:Version})
+Conflicts: netdata (< ${source:Version})
+Description: The debugfs metrics collector for the Netdata Agent
+ This plugin allows the Netdata Agent to collect Linux kernel metrics
+ exposed through debugfs.
diff --git a/contrib/debian/netdata-plugin-apps.postinst b/contrib/debian/netdata-plugin-apps.postinst
new file mode 100644
index 0000000000..c224edd921
--- /dev/null
+++ b/contrib/debian/netdata-plugin-apps.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ setcap "cap_dac_read_search=eip cap_sys_ptrace=eip" /usr/libexec/netdata/plugins.d/apps.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-debugfs.postinst b/contrib/debian/netdata-plugin-debugfs.postinst
new file mode 100644
index 0000000000..f4b04406c0
--- /dev/null
+++ b/contrib/debian/netdata-plugin-debugfs.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ setcap "cap_dac_read_search=eip" /usr/libexec/netdata/plugins.d/debugfs.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-ebpf.postinst b/contrib/debian/netdata-plugin-ebpf.postinst
new file mode 100644
index 0000000000..412bc82e81
--- /dev/null
+++ b/contrib/debian/netdata-plugin-ebpf.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ chmod -f 4750 /usr/libexec/netdata/plugins.d/ebpf.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-freeipmi.postinst b/contrib/debian/netdata-plugin-freeipmi.postinst
new file mode 100644
index 0000000000..303f77d617
--- /dev/null
+++ b/contrib/debian/netdata-plugin-freeipmi.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ chmod -f 4750 /usr/libexec/netdata/plugins.d/freeipmi.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-go.postinst b/contrib/debian/netdata-plugin-go.postinst
new file mode 100644
index 0000000000..90888c4df4
--- /dev/null
+++ b/contrib/debian/netdata-plugin-go.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ setcap "cap_net_admin=eip cap_net_raw=eip" /usr/libexec/netdata/plugins.d/go.d.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-nfacct.postinst b/contrib/debian/netdata-plugin-nfacct.postinst
new file mode 100644
index 0000000000..d9c8671ae3
--- /dev/null
+++ b/contrib/debian/netdata-plugin-nfacct.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ chmod -f 4750 /usr/libexec/netdata/plugins.d/nfacct.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-perf.postinst b/contrib/debian/netdata-plugin-perf.postinst
new file mode 100644
index 0000000000..731e1aaf62
--- /dev/null
+++ b/contrib/debian/netdata-plugin-perf.postinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ if capsh --supports=cap_perfmon 2>/dev/null; then
+ setcap cap_perfmon+ep /usr/libexec/netdata/plugins.d/perf.plugin
+ else
+ setcap cap_sys_admin+ep /usr/libexec/netdata/plugins.d/perf.plugin
+ fi
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata-plugin-slabinfo.postinst b/contrib/debian/netdata-plugin-slabinfo.postinst
new file mode 100644
index 0000000000..3a66044662
--- /dev/null
+++ b/contrib/debian/netdata-plugin-slabinfo.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ configure|reconfigure)
+ setcap "cap_dac_read_search=eip" /usr/libexec/netdata/plugins.d/apps.plugin
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/contrib/debian/netdata.postinst b/contrib/debian/netdata.postinst
index 07b5b0eb59..d5c84dc5d0 100644
--- a/contrib/debian/netdata.postinst
+++ b/contrib/debian/netdata.postinst
@@ -59,28 +59,11 @@ case "$1" in
dpkg-statoverride --force --update --add root netdata 0775 /var/lib/netdata/registry > /dev/null 2>&1
chown -R root:netdata /usr/libexec/netdata/plugins.d
- setcap cap_dac_read_search,cap_sys_ptrace+ep /usr/libexec/netdata/plugins.d/apps.plugin
- setcap cap_dac_read_search+ep /usr/libexec/netdata/plugins.d/slabinfo.plugin
setcap cap_dac_read_search+ep /usr/libexec/netdata/plugins.d/debugfs.plugin
- if capsh --supports=cap_perfmon 2>/dev/null; then
- setcap cap_perfmon+ep /usr/libexec/netdata/plugins.d/perf.plugin
- else
- setcap cap_sys_admin+ep /usr/libexec/netdata/plugins.d/perf.plugin
- fi
-
- if [ -f "/usr/libexec/netdata/plugins.d/go.d.plugin" ]; then
- setcap "cap_net_admin+epi cap_net_raw=eip" /usr/libexec/netdata/plugins.d/go.d.plugin
- fi
-
chmod 4750 /usr/libexec/netdata/plugins.d/cgroup-network
- chmod 4750 /usr/libexec/netdata/plugins.d/nfacct.plugin
-
- # Workaround if system does not have ebpf.plugin
- chmod -f 4750 /usr/libexec/netdata/plugins.d/ebpf.plugin || true
# Workaround for other plugins not installed directly by this package
- chmod -f 4750 /usr/libexec/netdata/plugins.d/freeipmi.plugin || true
chmod -f 4750 /usr/libexec/netdata/plugins.d/ioping || true
;;
diff --git a/contrib/debian/rules b/contrib/debian/rules
index 3d458654b8..626b5a69ff 100755
--- a/contrib/debian/rules
+++ b/contrib/debian/rules
@@ -60,6 +60,67 @@ override_dh_install:
mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/freeipmi.plugin \
$(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin
+ # Add free IPMI plugin install rules
+ #
+ mkdir -p $(TOP)-plugin-nfacct/usr/libexec/netdata/plugins.d
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/nfacct.plugin \
+ $(TOP)-plugin-nfacct/usr/libexec/netdata/plugins.d/nfacct.plugin
+
+ # Add charts.d plugin install rules
+ #
+ mkdir -p $(TOP)-plugin-chartsd/usr/libexec/netdata/plugins.d/
+ mkdir -p $(TOP)-plugin-chartsd/usr/lib/netdata/conf.d/
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/charts.d.plugin \
+ $(TOP)-plugin-chartsd/usr/libexec/netdata/plugins.d/charts.d.plugin
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/charts.d.dryrun-helper.sh \
+ $(TOP)-plugin-chartsd/usr/libexec/netdata/plugins.d/charts.d.dryrun-helper.sh
+ mv -f $(TEMPTOP)/usr/libexec/netdata/charts.d \
+ $(TOP)-plugin-chartsd/usr/libexec/netdata/charts.d
+ mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/charts.d.conf \
+ $(TOP)-plugin-chartsd/usr/lib/netdata/conf.d/charts.d.conf
+ mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/charts.d \
+ $(TOP)-plugin-chartsd/usr/lib/netdata/conf.d/charts.d
+
+ # Add ebpf plugin install rules
+ [ $(HAVE_EBPF) -eq 1 ] && mkdir -p $(TOP)-plugin-ebpf/usr/libexec/netdata/plugins.d/
+ [ $(HAVE_EBPF) -eq 1 ] && mkdir -p $(TOP)-plugin-ebpf/usr/lib/netdata/conf.d/
+ [ $(HAVE_EBPF) -eq 1 ] && mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/ebpf.plugin \
+ $(TOP)-plugin-ebpf/usr/libexec/netdata/plugins.d/ebpf.plugin
+ [ $(HAVE_EBPF) -eq 1 ] && mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/ebpf.d.conf \
+ $(TOP)-plugin-ebpf/usr/lib/netdata/conf.d/ebpf.d.conf
+ [ $(HAVE_EBPF) -eq 1 ] && mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/ebpf.d \
+ $(TOP)-plugin-ebpf/usr/lib/netdata/conf.d/ebpf.d
+
+ # Add python plugin install rules
+ mkdir -p $(TOP)-plugin-pythond/usr/libexec/netdata/plugins.d/
+ mkdir -p $(TOP)-plugin-pythond/usr/lib/netdata/conf.d/
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/python.d.plugin \
+ $(TOP)-plugin-pythond/usr/libexec/netdata/plugins.d/python.d.plugin
+ mv -f $(TEMPTOP)/usr/libexec/netdata/python.d \
+ $(TOP)-plugin-pythond/usr/libexec/netdata/python.d
+ mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/python.d.conf \
+ $(TOP)-plugin-pythond/usr/lib/netdata/conf.d/python.d.conf
+ mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/python.d \
+ $(TOP)-plugin-pythond/usr/lib/netdata/conf.d/python.d
+
+ # Add apps plugin install rules
+ mkdir -p $(TOP)-plugin-apps/usr/libexec/netdata/plugins.d/
+ mkdir -p $(TOP)-plugin-apps/usr/lib/netdata/conf.d/
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/apps.plugin \
+ $(TOP)-plugin-apps/usr/libexec/netdata/plugins.d/apps.plugin
+ mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/apps_groups.conf \
+ $(TOP)-plugin-apps/usr/lib/netdata/conf.d/apps_groups.conf
+
+ # Add slabinfo plugin install rules
+ mkdir -p $(TOP)-plugin-slabinfo/usr/libexec/netdata/plugins.d/
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/slabinfo.plugin \
+ $(TOP)-plugin-slabinfo/usr/libexec/netdata/plugins.d/slabinfo.plugin
+
+ # Add perf plugin install rules
+ mkdir -p $(TOP)-plugin-perf/usr/libexec/netdata/plugins.d/
+ mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/perf.plugin \
+ $(TOP)-plugin-perf/usr/libexec/netdata/plugins.d/perf.plugin
+
# Set the rest of the software in the main package
#
cp -rp $(TEMPTOP)/usr $(TOP)
@@ -82,13 +143,18 @@ override_dh_install:
ln -s "/usr/share/netdata/www/$$D" "$(TOP)/var/lib/netdata/www/$$D"; \
done
- if [ $(HAVE_EBPF) -eq 1 ]; then \
- packaging/bundle-ebpf.sh . ${TOP}/usr/libexec/netdata/plugins.d; \
- fi
+ # Handle eBPF code
+ #
+ [ $(HAVE_EBPF) -eq 1 ] && mkdir -p $(TOP)-plugin-ebpf-code/usr/libexec/netdata/plugins.d/
+ [ $(HAVE_EBPF) -eq 1 ] && packaging/bundle-ebpf.sh . ${TOP}-plugin-ebpf-code/usr/libexec/netdata/plugins.d/
- # Install go
+ # Install go to it's own package directory
#
- debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) $(TOP)/usr/lib/netdata $(TOP)/usr/libexec/netdata
+ mkdir -p $(TOP)-plugin-go/usr/lib/netdata/conf.d
+ mkdir -p $(TOP)-plugin-go/usr/libexec/netdata/plugins.d
+ debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) \
+ $(TOP)-plugin-go/usr/lib/netdata \
+ $(TOP)-plugin-go/usr/libexec/netdata
override_dh_installdocs:
dh_installdocs
@@ -109,14 +175,22 @@ override_dh_fixperms:
#
chmod 0755 $(TOP)/usr/libexec/netdata/netdata-updater.sh
+ # debugfs plugin
+ chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/debugfs.plugin
+
# apps.plugin should only be runnable by the netdata user. It will be
# given extra capabilities in the postinst script.
#
- chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/apps.plugin
- chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/debugfs.plugin
- chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/perf.plugin
- chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/slabinfo.plugin
- chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/go.d.plugin
+ chmod 0750 $(TOP)-plugin-apps/usr/libexec/netdata/plugins.d/apps.plugin
+
+ # slabinfo package
+ chmod 0750 $(TOP)-plugin-slabinfo/usr/libexec/netdata/plugins.d/slabinfo.plugin
+
+ # perf package
+ chmod 0750 $(TOP)-plugin-perf/usr/libexec/netdata/plugins.d/perf.plugin
+
+ # Go plugin package
+ chmod 0750 $(TOP)-plugin-go/usr/libexec/netdata/plugins.d/go.d.plugin
# CUPS plugin package
chmod 0750 $(TOP)-plugin-cups/usr/libexec/netdata/plugins.d/cups.plugin
@@ -124,6 +198,9 @@ override_dh_fixperms:
# freeIPMI plugin package
chmod 4750 $(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin
+ # NFACCT plugin package
+ chmod 4750 $(TOP)-plugin-nfacct/usr/libexec/netdata/plugins.d/nfacct.plugin
+
override_dh_installlogrotate:
cp system/logrotate/netdata debian/netdata.logrotate
dh_installlogrotate