0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-27 14:16:20 +00:00

Split plugins to individual packages for DEB/RPM packaging. ()

* Update and normalize plugin package descriptions.

This ensures they have accurate and cnocise descriptions of what they
do, and that the descriptions are the same for both the RPM and DEB
packages.

* Split NFACCT plugin to it’s own package.

Most users do not actually use it, so make life easier for them by
reducing our dependency footprint and cutting down on how much they need
to download.

* Split charts.d.plugin to it’s own package.

* Split eBPF plugin and code to their own packages.

The code is in a separate package to simplify handling updates for it
separately from the main agent code in the future.

The eBPF plugin will still be installed by default in most cases when
installing the Netdata Agent

* Split python.d plugin to it’s own package.

The python.d plugin will still be installed by default in most cases
when installing the Netdata Agent

* Split go.d plugin to it’s own package.

The go.d plugin will still be installed by default in most cases when
installing the Netdata Agent

* Split apps.plugin to it’s own package

The apps plugin will still be installed by default in most cases when
installing the Netdata Agent

* Properly split out postinst scripts for DEB packages.

We should be modifying permissions and filecaps for plugins in the
specific packages that install those plugins.

* Clean up main files section in RPM spec file.

This should get rid of the duplicate files warnings, as well as probably
producing a more technically correct RPM.

* Properly format DEB package descriptions.

They should be folded at 76 characters.

* Fix dependencies for split RPM plugin packages.

* Fix most duplicate file warnings for RPM builds.

* Split slabinfo plugin to it’s own package.

* Clean up RPM conditional build.

All platforms we build RPMs for have both netns and systemd support, so
quit supporting platforms that don’t in our spec file.

* Include loopsleepms.sh.inc in RPM package.

* Fix packaging of nfacct plugin.

* Skip building NFACCT plugin on RHEL clones.

They lack the required dependencies.

* Split perf.plugin to it’s own package.

Also, start using CAP_PERFMON for it in RPM packages when available.

* Fix typo in DEB postinstall scripts.

* Fix issues with ebpf bundling scripts.

They don’t need to preserve permissions, and choosing not to do so makes
them work more reliably in a number of cases.

* Improve dependency handling of secondary plugins.

* Fix dependency handling.

* Match ebpf code files more specifically in RPM spec file.

* Fix branding and dependencies for RPM packages.

- Change the eBPF plugin legacy code package name and description to
  reflect what it actually is.
- Properly have the new plugin packages conflict with the older Netdata
  packages. This is needed for updates to work cleanly.
- Only require the eBPF legacy code on older systems that need it.

* Fix branding and dependencies for DEB packages.

- Change the eBPF plugin legacy code package name and description to
  reflect what it actually is.
- Properly have the new plugin packages conflict with the older Netdata
  packages. This is needed for updates to work cleanly.

* Update docs for non-default plugins.

* Have docs link back to package document.

* Address review feedback.

* Explicitly suggest plugins we are not including by default.

This does not pull them in by default, but does make it easier for users
to discover them.

* Explicitly pull in default plugins on CentOS 7.

* Fix broken merge of netdata spec file.

* Resolve typo in kickstart script.

* Explicitly disable FreeIPMI and NFACCT in RPMs if they are not available.

* Fix RPM changelog.

* Fix conditional plugin handling.

* Fix disabling FreeIPMI on Amazon Linux.

* Split new debugfs plugin to separate package.

* Install debugfs plugin by default.
This commit is contained in:
Austin S. Hemmelgarn 2023-05-30 08:38:32 -04:00 committed by GitHub
parent 44b6c223b3
commit 1aef5a70d8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 692 additions and 120 deletions

View file

@ -17,6 +17,8 @@ memory, collecting data with as little overheads as possible
`charts.d.plugin` looks for scripts in `/usr/lib/netdata/charts.d`.
The scripts should have the filename suffix: `.chart.sh`.
By default, `charts.d.plugin` is not included as part of the install when using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md). You can install it by installing the `netdata-plugin-chartsd` package.
## Configuration
`charts.d.plugin` itself can be [configured](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#use-edit-config-to-edit-configuration-files) using the configuration file `/etc/netdata/charts.d.conf`. This file is also a BASH script.

View file

@ -85,6 +85,8 @@ Station 40:b8:37:5a:ed:5e (on wlan0)
## Configuration
If using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), make sure `netdata-plugin-chartsd` is installed.
Edit the `charts.d/ap.conf` configuration file using `edit-config` from the Netdata [config
directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.

View file

@ -13,6 +13,8 @@ Monitors different APC UPS models and retrieves status information using `apcacc
## Configuration
If using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), make sure `netdata-plugin-chartsd` is installed.
Edit the `charts.d/apcupsd.conf` configuration file using `edit-config` from the Netdata [config
directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.

View file

@ -24,6 +24,8 @@ The following charts are created, **per tunnel**:
## Configuration
If using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), make sure `netdata-plugin-chartsd` is installed.
Edit the `charts.d/libreswan.conf` configuration file using `edit-config` from the Netdata [config
directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.

View file

@ -53,6 +53,8 @@ The following charts will be created:
## Configuration
If using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), make sure `netdata-plugin-chartsd` is installed.
Edit the `charts.d/nut.conf` configuration file using `edit-config` from the Netdata [config
directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.

View file

@ -11,6 +11,8 @@ learn_rel_path: "Integrations/Monitor/Networking"
## Configuration
If using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), make sure `netdata-plugin-chartsd` is installed.
Edit the `charts.d/opensips.conf` configuration file using `edit-config` from the Netdata [config
directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md), which is typically at `/etc/netdata`.

View file

@ -21,13 +21,15 @@ One chart for every sensor chip found and each of the above will be created.
## Enable the collector
If using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), make sure `netdata-plugin-chartsd` is installed.
The `sensors` collector is disabled by default.
To enable the collector, you need to edit the configuration file of `charts.d/sensors.conf`. You can do so by using the `edit config` script.
To enable the collector, you need to edit the configuration file of `charts.d/sensors.conf`. You can do so by using the `edit config` script.
> ### Info
>
> To edit configuration files in a safe way, we provide the [`edit config` script](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#use-edit-config-to-edit-configuration-files) located in your [Netdata config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory) (typically is `/etc/netdata`) that creates the proper file and opens it in an editor automatically.
> To edit configuration files in a safe way, we provide the [`edit config` script](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#use-edit-config-to-edit-configuration-files) located in your [Netdata config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory) (typically is `/etc/netdata`) that creates the proper file and opens it in an editor automatically.
> It is recommended to use this way for configuring Netdata.
>
> Please also note that after most configuration changes you will need to [restart the Agent](https://github.com/netdata/netdata/blob/master/docs/configure/start-stop-restart.md) for the changes to take effect.

View file

@ -13,6 +13,11 @@ learn_rel_path: "Integrations/Monitor/Networking"
## Prerequisites
If you are using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), install the
`netdata-plugin-nfacct` package using your system package manager.
If you built Netdata locally:
1. install `libmnl-dev` and `libnetfilter-acct-dev` using the package manager of your system.
2. re-install Netdata from source. The installer will detect that the required libraries are now available and will also build `netdata.plugin`.

View file

@ -14,6 +14,9 @@ the `perf_event_open()` system call.
## Important Notes
If you are using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), you will need to install
the `netdata-plugin-perf` package using your system package manager.
Accessing hardware PMUs requires root permissions, so the plugin is setuid to root.
Keep in mind that the number of PMUs in a system is usually quite limited and every hardware monitoring

View file

@ -18,6 +18,9 @@ Each internal structure (process, file descriptor, inode...) is stored within a
The plugin is disabled by default because it collects and displays a huge amount of metrics.
To enable it set `slabinfo = yes` in the `plugins` section of the `netdata.conf` configuration file.
If you are using [our official native DEB/RPM packages](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md), you will additionally need to install the `netdata-plugin-slabinfo`
package using your system package manager.
There is currently no configuration needed for the plugin itself.
As `/proc/slabinfo` is only readable by root, this plugin is setuid root.

View file

@ -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 kernels 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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
;;

View file

@ -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
# Install go
# Handle eBPF code
#
debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) $(TOP)/usr/lib/netdata $(TOP)/usr/libexec/netdata
[ $(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 to it's own package directory
#
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

View file

@ -27,20 +27,6 @@ AutoReqProv: yes
%global _have_ebpf 0
%endif
# Disable FreeIPMI on Amazon Linux
%if 0%{?amzn}
%global _have_freeipmi 0
%else
%global _have_freeipmi 1
%endif
# Disable the NFACCT plugin on Amazon Linux
%if 0%{?amzn}
%global _have_nfacct 0
%else
%global _have_nfacct 1
%endif
# Mitigate the cross-distro mayhem by strictly defining the libexec destination
%define _prefix /usr
%define _sysconfdir /etc
@ -54,13 +40,18 @@ AutoReqProv: yes
# Redefine centos_ver to standardize on a single macro
%{?rhel:%global centos_ver %rhel}
#
# Conditional build:
%bcond_without netns # build with netns support (cgroup-network)
%if 0%{?fedora} || 0%{?rhel} >= 7 || 0%{?suse_version} >= 1140
# Disable FreeIPMI on Amazon Linux 2023 and newer
%if 0%{?amzn} >= 2023
%global _have_freeipmi 0
%else
%undefine with_netns
%global _have_freeipmi 1
%endif
# Disable NFACCT for RHEL equivalents and Amazon Linux
%if 0%{?centos_ver} || 0%{?amzn}
%global _have_nfacct 0
%else
%global _have_nfacct 1
%endif
Summary: Real-time performance monitoring, done right!
@ -149,34 +140,50 @@ Requires: python3
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
# #####################################################################
# External plugin package dependencies
# #####################################################################
# CentOS prior to CentOS 8 does not have a new enough version of RPM
# to support weak dependencies. Explicitly requiring our default plugins
# makes it impossible to properly test the packages prior to upload,
# so we just skip depending on them on CentOS 7.
%if 0%{?centos_ver} != 7
%if 0%{?_have_ebpf}
Recommends: netdata-plugin-ebpf
%endif
Recommends: netdata-plugin-apps
Recommends: netdata-plugin-pythond
Recommends: netdata-plugin-go
Recommends: netdata-plugin-debugfs
%if 0%{?_have_freeipmi}
Suggests: netdata-plugin-freeipmi
%endif
%if 0%{?_have_nfacct}
Suggests: netdata-plugin-nfacct
%endif
Suggests: netdata-plugin-cups
Suggests: netdata-plugin-chartsd
Suggests: netdata-plugin-slabinfo
Suggests: netdata-plugin-perf
%endif
# #####################################################################
# Functionality-dependent package dependencies
# #####################################################################
# Note: Some or all of the Packages may be found in the EPEL repo,
# rather than the standard ones
# epbf dependencies
%if 0%{?_have_ebpf}
%if 0%{?suse_version}
BuildRequires: libelf-devel
%else
BuildRequires: elfutils-libelf-devel
%endif
%endif
# end - ebpf dependencies
# nfacct plugin dependencies
%if %{_have_nfacct}
%if 0%{?_have_nfacct}
BuildRequires: libmnl-devel
%if 0%{?fedora} || 0%{?suse_version} >= 1140
BuildRequires: libnetfilter_acct-devel
%endif
%endif
# end nfacct plugin dependencies
# freeipmi plugin dependencies
%if %{_have_freeipmi}
%if 0%{?_have_freeipmi}
BuildRequires: freeipmi-devel
%endif
# end - freeipmi plugin dependencies
@ -234,6 +241,12 @@ autoreconf -ivf
%if 0%{!?_have_ebpf}
--disable-ebpf
%endif
%if 0%{!?_have_freeipmi}
--disable-plugin-freeipmi
%endif
%if 0%{!?_have_nfacct}
--disable-plugin-nfacct
%endif
%if 0%{?centos_ver:1}
%if %{centos_ver} < 8
--with-bundled-protobuf \
@ -272,7 +285,7 @@ install -m 644 -p system/logrotate/netdata "${RPM_BUILD_ROOT}%{_sysconfdir}/logr
# ###########################################################
# Install freeipmi
%if %{_have_freeipmi}
%if 0%{?_have_freeipmi}
install -m 4750 -p freeipmi.plugin "${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/plugins.d/freeipmi.plugin"
%endif
@ -313,6 +326,11 @@ install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}"
# Install registry directory
install -m 755 -d "${RPM_BUILD_ROOT}%{_localstatedir}/lib/%{name}/registry"
# ###########################################################
# Install uninstaller script
install -m 750 -p packaging/installer/netdata-uninstaller.sh \
"${RPM_BUILD_ROOT}%{_libexecdir}/%{name}/netdata-uninstaller.sh"
# ###########################################################
# Install netdata service
install -m 755 -d "${RPM_BUILD_ROOT}%{_unitdir}"
@ -461,14 +479,13 @@ rm -rf "${RPM_BUILD_ROOT}"
%files
%doc README.md
%{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/netdata.conf
%attr(0755,root,netdata) %{_sysconfdir}/%{name}/edit-config
%attr(0644,root,netdata) %{_sysconfdir}/%{name}/.install-type
%dir %{_sysconfdir}/%{name}/health.d
%dir %{_sysconfdir}/%{name}/statsd.d
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%dir %{_libdir}/%{name}
%dir %{_datadir}/%{name}
%{_libdir}/%{name}
%{_libdir}/%{name}/conf.d/
%{_libexecdir}/%{name}
%{_sbindir}/%{name}
%{_sbindir}/netdatacli
%{_sbindir}/netdata-claim.sh
@ -476,43 +493,33 @@ rm -rf "${RPM_BUILD_ROOT}"
%{_unitdir}/netdata.service
%{_presetdir}/50-netdata.preset
%defattr(0750,root,netdata,0750)
%dir %{_libexecdir}/%{name}/python.d
%dir %{_libexecdir}/%{name}/charts.d
%dir %{_libexecdir}/%{name}
%dir %{_libexecdir}/%{name}/plugins.d
%defattr(0750,root,netdata,0750)
%{_libexecdir}/%{name}/install-service.sh
%{_libexecdir}/%{name}/netdata-updater.sh
%{_libexecdir}/%{name}/netdata-uninstaller.sh
%{_libexecdir}/%{name}/plugins.d/acl.sh
%{_libexecdir}/%{name}/plugins.d/alarm.sh
%{_libexecdir}/%{name}/plugins.d/alarm-email.sh
%{_libexecdir}/%{name}/plugins.d/alarm-notify.sh
%{_libexecdir}/%{name}/plugins.d/alarm-test.sh
%{_libexecdir}/%{name}/plugins.d/anonymous-statistics.sh
%{_libexecdir}/%{name}/plugins.d/cgroup-name.sh
%{_libexecdir}/%{name}/plugins.d/get-kubernetes-labels.sh
%{_libexecdir}/%{name}/plugins.d/health-cmdapi-test.sh
%{_libexecdir}/%{name}/plugins.d/ioping.plugin
%{_libexecdir}/%{name}/plugins.d/loopsleepms.sh.inc
%{_libexecdir}/%{name}/plugins.d/request.sh
%{_libexecdir}/%{name}/plugins.d/system-info.sh
%{_libexecdir}/%{name}/plugins.d/tc-qos-helper.sh
%{_libexecdir}/%{name}/plugins.d/template_dim.sh
%{_libexecdir}/%{name}/python.d
%{_libexecdir}/%{name}/plugins.d
%caps(cap_dac_read_search,cap_sys_ptrace=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/apps.plugin
%if %{with netns}
# cgroup-network detects the network interfaces of CGROUPs
# it must be able to use setns() and run cgroup-network-helper.sh as root
# the helper script reads /proc/PID/fdinfo/* files, runs virsh, etc.
%attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network
%attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cgroup-network-helper.sh
%endif
# ebpf plugin
%if 0%{?_have_ebpf}
%attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/ebpf.plugin
%endif
# perf plugin
# This should be CAP_PERFMON once RPM finally learns about it, but needs to be CAP_SYS_ADMIN for now.
# %caps(cap_perfmon=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
%caps(cap_sys_admin=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/perf.plugin
# debugfs plugin
%caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/debugfs.plugin
# slabinfo plugin
%caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
# go.d.plugin (the capability required for wireguard module)
%caps(cap_net_admin,cap_net_raw=eip) %{_libexecdir}/%{name}/plugins.d/go.d.plugin
# Enforce 0644 for files and 0755 for directories
# for the netdata web directory
@ -528,45 +535,287 @@ rm -rf "${RPM_BUILD_ROOT}"
%attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}/registry
# Free IPMI belongs to a different sub-package
%if %{_have_freeipmi}
%if 0%{?_have_freeipmi}
%exclude %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
%endif
# NFACCT belongs to a different sub-package
%if 0%{?_have_nfacct}
%exclude %{_libexecdir}/%{name}/plugins.d/nfacct.plugin
%endif
# Charts.d belongs to a different sub-package
%exclude %{_libexecdir}/%{name}/plugins.d/charts.d.plugin
%exclude %{_libexecdir}/%{name}/plugins.d/charts.d.dryrun-helper.sh
%exclude %{_libexecdir}/%{name}/charts.d/
%exclude %{_libdir}/%{name}/conf.d/charts.d.conf
%exclude %{_libdir}/%{name}/conf.d/charts.d/
# eBPF belongs to a different sub-package
%if 0%{?_have_ebpf}
%exclude %{_libexecdir}/%{name}/plugins.d/ebpf.plugin
%exclude %{_libdir}/%{name}/conf.d/ebpf.d.conf
%exclude %{_libdir}/%{name}/conf.d/ebpf.d
%exclude %{_libexecdir}/%{name}/plugins.d/ebpf.d
%endif
# Python.d belongs to a different sub-package
%exclude %{_libexecdir}/%{name}/plugins.d/python.d.plugin
%exclude %{_libexecdir}/%{name}/python.d
%exclude %{_libdir}/%{name}/conf.d/python.d.conf
%exclude %{_libdir}/%{name}/conf.d/python.d
# Go.d belongs to a different sub-package
%exclude %{_libexecdir}/%{name}/plugins.d/go.d.plugin
%exclude %{_libdir}/%{name}/conf.d/go.d.conf
%exclude %{_libdir}/%{name}/conf.d/go.d
# apps belongs to a different sub-package
%exclude %{_libexecdir}/%{name}/plugins.d/apps.plugin
%exclude %{_libdir}/%{name}/conf.d/apps_groups.conf
# slabinfo belongs to a different sub-package
%exclude %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
# perf belongs to a different sub-package
%exclude %{_libexecdir}/%{name}/plugins.d/perf.plugin
# CUPS belongs to a different sub package
%if 0%{?centos_ver} != 6 && 0%{?centos_ver} != 7
%exclude %{_libexecdir}/%{name}/plugins.d/cups.plugin
%package plugin-cups
Summary: The Common Unix Printing System plugin for netdata
Summary: The CUPS metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: cups >= 1.7
Requires: netdata = %{version}
%description plugin-cups
This is the Common Unix Printing System plugin for the netdata daemon.
Use this plugin to enable metrics collection from cupsd, the daemon running when CUPS is enabled on the system
This plugin allows the Netdata Agent to collect metrics from the Common UNIX Printing System.
%files plugin-cups
%attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/cups.plugin
%endif
%if %{_have_freeipmi}
%if 0%{?_have_freeipmi}
%package plugin-freeipmi
Summary: FreeIPMI - The Intelligent Platform Management System
Summary: The FreeIPMI metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: freeipmi
Requires: netdata = %{version}
%description plugin-freeipmi
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).
This plugin allows the Netdata Agent to collect metrics from hardware using FreeIPMI.
%files plugin-freeipmi
%attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
%endif
%if 0%{?_have_nfacct}
%package plugin-nfacct
Summary: The NFACCT metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: libmnl
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%if 0%{?fedora} || 0%{?suse_version} >= 1140
Requires: libnetfilter_acct
%endif
%description plugin-nfacct
This plugin allows the Netdata Agent to collect metrics from the firewall using NFACCT objects.
%files plugin-nfacct
%attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/nfacct.plugin
%endif
%package plugin-chartsd
Summary: The charts.d metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: bash
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%if 0%{?centos_ver} != 7
Suggests: nut
Suggests: apcupsd
Suggests: iw
Suggests: sudo
%endif
%description plugin-chartsd
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.
%files plugin-chartsd
%defattr(0750,root,netdata,0750)
%{_libexecdir}/%{name}/plugins.d/charts.d.plugin
%{_libexecdir}/%{name}/plugins.d/charts.d.dryrun-helper.sh
%{_libexecdir}/%{name}/charts.d/
%defattr(0644,root,netdata,0644)
%{_libdir}/%{name}/conf.d/charts.d.conf
%{_libdir}/%{name}/conf.d/charts.d/
%if 0%{?_have_ebpf}
%package plugin-ebpf
Summary: The eBPF metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%if 0%{?centos_ver} != 7
Recommends: netdata-plugin-apps = %{version}
Recommends: netdata-ebpf-legacy-code >= %{version}
%else
Requires: netdata-plugin-apps = %{version}
Requires: netdata-ebpf-legacy-code >= %{version}
%endif
%description plugin-ebpf
This plugin allows the Netdata Agent to use eBPF code to collect more detailed kernel-level metrics for the system.
%files plugin-ebpf
%defattr(4750,root,netdata,4750)
%{_libexecdir}/%{name}/plugins.d/ebpf.plugin
%defattr(0644,root,netdata,0644)
%{_libdir}/%{name}/conf.d/ebpf.d.conf
%{_libdir}/%{name}/conf.d/ebpf.d
%package ebpf-legacy-code
Summary: Compiled eBPF legacy code for the Netdata eBPF plugin
Group: Applications/System
Requires: netdata-plugin-ebpf = %{version}
Conflicts: netdata <= %{version}
%description ebpf-legacy-code
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 versions before 5.10.
%files ebpf-legacy-code
%defattr(0640,root,netdata,0640)
%{_libexecdir}/%{name}/plugins.d/ebpf.d/*.o
%endif
%package plugin-pythond
Summary: The python.d metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%if 0%{?centos_ver} == 7 || 0%{?centos_ver} == 6
Requires: python
%else
%if 0%{?centos_ver} == 8
Requires: python38
%else
Requires: python3
%endif
%endif
%if 0%{?centos_ver} != 7
Suggests: sudo
%endif
%description plugin-pythond
This plugin adds a selection of additional collectors written in Python to the Netdata Agent.
Many of the collectors provided by this package are also available in netdata-plugin-go. In msot cases, you probably
want to use those versions instead of the Python versions.
%files plugin-pythond
%defattr(0750,root,netdata,0750)
%{_libexecdir}/%{name}/plugins.d/python.d.plugin
%{_libexecdir}/%{name}/python.d
%defattr(0640,root,netdata,0640)
%{_libdir}/%{name}/conf.d/python.d.conf
%{_libdir}/%{name}/conf.d/python.d
%package plugin-go
Summary: The go.d metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%if 0%{?centos_ver} != 7
Suggests: nvme-cli
Suggests: sudo
%endif
%description plugin-go
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.
%files plugin-go
%defattr(0750,root,netdata,0750)
# CAP_NET_ADMIN needed for WireGuard collector
# CAP_NET_RAW needed for ping collector
%caps(cap_net_admin,cap_net_raw=eip) %{_libexecdir}/%{name}/plugins.d/go.d.plugin
%defattr(0644,root,netdata,0644)
%{_libdir}/%{name}/conf.d/go.d.conf
%{_libdir}/%{name}/conf.d/go.d
%package plugin-apps
Summary: The per-application metrics collection plugin for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%description plugin-apps
This plugin allows the Netdata Agent to collect per-application and per-user metrics without using cgroups.
%files plugin-apps
%defattr(0750,root,netdata,0750)
# CAP_DAC_READ_SEARCH and CAP_SYS_PTRACE needed for data collection by the plugin.
%caps(cap_dac_read_search,cap_sys_ptrace=ep) %{_libexecdir}/%{name}/plugins.d/apps.plugin
%defattr(0644,root,netdata,0644)
%{_libdir}/%{name}/conf.d/apps_groups.conf
%package plugin-slabinfo
Summary: The slabinfo metrics collector for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%description plugin-slabinfo
This plugin allows the Netdata Agent to collect perfromance and utilization metrics for the Linux kernels SLAB allocator.
%files plugin-slabinfo
%defattr(0750,root,netdata,0750)
# CAP_DAC_READ_SEARCH needed to access the files the plugin reads to collect data.
%caps(cap_dac_read_search=ep) %{_libexecdir}/%{name}/plugins.d/slabinfo.plugin
%package plugin-perf
Summary: The perf metrics collector for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%description plugin-perf
This plugin allows the Netdata to collect metrics from the Linux perf subsystem.
%files plugin-perf
%defattr(0750,root,netdata,0750)
# Either CAP_SYS_ADMIN or CAP_PERFMON needed for data collection
# PERFMON is newer, so only try to use it on platforms which support it.
%if 0%{?centos_ver} >= 9 || 0%{?fedora} >= 36
%caps(cap_perfmon=ep) %{_libexecdir}/%{name}/plugins.d/perf.plugin
%else
%caps(cap_sys_admin=ep) %{_libexecdir}/%{name}/plugins.d/perf.plugin
%endif
%package plugin-debugfs
Summary: The debugfs metrics collector for the Netdata Agent
Group: Applications/System
Requires: netdata = %{version}
Conflicts: netdata <= %{version}
%description plugin-debugfs
This plugin allows the Netdata Agent to collect Linux kernel metrics exposed through debugfs.
%files plugin-debugfs
%defattr(0750,root,netdata,0750)
# CAP_DAC_READ_SEARCH required for data collection.
%caps(cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/debugfs.plugin
%changelog
* Fri Apr 07 2023 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-19
- Split additional plugins out in their own packages.
* Tue Mar 21 2023 Austin Hemmelgarn <austin@netdata.cloud> 0.0.0-18
- Fix systemd handling to follow BCP.
- Drop pre-systemd init support.
@ -609,8 +858,9 @@ First draft refactor on package dependencies section
* Wed Jan 02 2019 Pawel Krupa <pkrupa@redhat.com> - 0.0.0-3
- Temporary set version statically
- Fix changelog ordering
- Comment-out node.d configuration directory
- Comment-out node.d configuration directory
* Wed Jan 02 2019 Pawel Krupa <pkrupa@redhat.com> - 0.0.0-2
- Fix permissions for log files
* Sun Nov 15 2015 Alon Bar-Lev <alonbl@redhat.com> - 0.0.0-1
- Initial add.

View file

@ -15,5 +15,5 @@ if [ -x "${PLUGINDIR}/ebpf.plugin" ] ; then
mkdir "${PLUGINDIR}/ebpf.d"
fi
# shellcheck disable=SC2046
cp -a $(find "${SRCDIR}/tmp/ebpf" -mindepth 1 -maxdepth 1) "${PLUGINDIR}/ebpf.d"
cp -r $(find "${SRCDIR}/tmp/ebpf" -mindepth 1 -maxdepth 1) "${PLUGINDIR}/ebpf.d"
fi

View file

@ -22,6 +22,6 @@ curl -sSL --connect-timeout 10 --retry 3 "https://github.com/netdata/libbpf/arch
sha256sum -c "${1}/packaging/libbpf.checksums" || exit 1
tar -xzf "${LIBBPF_TARBALL}" -C "${1}/externaldeps/libbpf" || exit 1
make -C "${LIBBPF_BUILD_PATH}/src" BUILD_STATIC_ONLY=1 OBJDIR=build/ DESTDIR=../ install || exit 1
cp -a "${LIBBPF_BUILD_PATH}/usr/${lib_subdir}/libbpf.a" "${1}/externaldeps/libbpf" || exit 1
cp -a "${LIBBPF_BUILD_PATH}/usr/include" "${1}/externaldeps/libbpf" || exit 1
cp -a "${LIBBPF_BUILD_PATH}/include/uapi" "${1}/externaldeps/libbpf/include" || exit 1
cp -r "${LIBBPF_BUILD_PATH}/usr/${lib_subdir}/libbpf.a" "${1}/externaldeps/libbpf" || exit 1
cp -r "${LIBBPF_BUILD_PATH}/usr/include" "${1}/externaldeps/libbpf" || exit 1
cp -r "${LIBBPF_BUILD_PATH}/include/uapi" "${1}/externaldeps/libbpf/include" || exit 1

View file

@ -26,6 +26,7 @@ KICKSTART_SOURCE="$(
echo "$(pwd -P)/${self##*/}"
)"
PACKAGES_SCRIPT="https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh"
DEFAULT_PLUGIN_PACKAGES="netdata-plugin-go netdata-plugin-python netdata-plugin-apps netdata-plugin-ebpf"
PATH="${PATH}:/usr/local/bin:/usr/local/sbin"
PUBLIC_CLOUD_URL="https://app.netdata.cloud"
REPOCONFIG_DEB_URL_PREFIX="https://repo.netdata.cloud/repos/repoconfig"
@ -1398,6 +1399,9 @@ try_package_install() {
common_rpm_opts
common_dnf_opts
repo_prefix="el/${SYSVERSION}"
if [ "${SYSVERSION}" -lt 8 ]; then
explicitly_install_native_plugins=1
fi
;;
fedora|ol)
common_rpm_opts
@ -1533,6 +1537,14 @@ try_package_install() {
fi
return 2
fi
if [ -n "${explicitly_install_native_plugins}" ]; then
progress "Installing external plugins."
# shellcheck disable=SC2086
if ! run_as_root env ${env} ${pm_cmd} install ${DEFAULT_PLUGIN_PACKAGES}; then
warning "Failed to install external plugin packages. Some collectors may not be available."
fi
fi
}
# ======================================================================