mjtice
December 2, 2021, 7:16pm
1
Hi all.
I’m trying to migrate my custom plugins into /etc/netdata/custom-plugins.d
from the install /usr/libexec/netdata/plugins.d
directory. However, netdata now doesn’t recognize the plugins.
Looking at the configuration, the default plugins directory
specifies /etc/netdata/custom-plugins.d
:
# curl -s http://localhost:19999/netdata.conf | grep 'plugins directory'
# plugins directory = "/usr/libexec/netdata/plugins.d" "/etc/netdata/custom-plugins.d"
I’ve also tried overriding it but encountered the same problem.
However, if I just specify a single directory (e.g. /etc/netdata/custom-plugins.d
or even /tmp
) then I see messages in the error.log indicating it can’t find certain built-in files. For example:
2021-12-02 12:11:24: netdata INFO : MAIN : (0649@daemon/mai:get_system_info): System info script /tmp/system-info.sh not found.
I’m running
# netdata -v
netdata v1.31.0
On
centos 7
ilyam8
December 3, 2021, 11:25am
2
Hi, @mjtice . I tested the default configuration
(I have Netdata installed under “/opt”)
[ilyam@pc ~]$ curl -s http://localhost:19999/netdata.conf | grep 'plugins directory'
# plugins directory = "/opt/netdata/usr/libexec/netdata/plugins.d" "/opt/netdata/etc/netdata/custom-plugins.d"
And it works for me
[ilyam@pc ~]$ ps aux | grep netdata | grep go.d
netdata 4555 0.5 0.0 732360 25808 ? Sl 14:22 0:00 /opt/netdata/etc/netdata/custom-plugins.d/gogo.d.plugin 1
netdata 4561 0.3 0.0 732360 25480 ? Sl 14:22 0:00 /opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin 1
Ensure netdata
user has permission to execute the plugin in the custom dir.
[ilyam@pc ~]$ ls -l /opt/netdata/etc/netdata/custom-plugins.d/gogo.d.plugin
-rwxr-x--- 1 root netdata 28639232 дек 3 14:15 /opt/netdata/etc/netdata/custom-plugins.d/gogo.d.plugin
ilyam8
December 3, 2021, 11:26am
3
The first value must be not custom plugins.d.
mjtice
December 3, 2021, 2:37pm
4
Hi @ilyam8 . I’ve tried on another host with the same outcome.
# curl -s http://localhost:19999/netdata.conf | grep 'plugins directory'
# plugins directory = "/usr/libexec/netdata/plugins.d" "/etc/netdata/custom-plugins.d"
The dir is owned by root
but has global permissions. However, I’ll change it to netdata
chown -R netdata.netdata /etc/netdata/custom-plugins.d/
Restart…
systemctl restart netdata
Directory listing
ls -l /etc/netdata/custom-plugins.d/
total 16
-rw-r--r-- 1 netdata netdata 7200 Oct 28 07:44 postgres_table_size.chart.py
-rw-r--r-- 1 netdata netdata 6165 Oct 28 07:44 postgres_vacuum_execute_time.chart.py
Plugin is enabled
grep postgres_vacuum_execute_time /etc/netdata/conf.d/python.d.conf
postgres_vacuum_execute_time: yes
But ps
still isn’t showing that dir
ps aux | grep netdata
netdata 155124 25.1 0.2 2976396 2670408 ? Ssl 07:35 0:21 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D
netdata 155126 0.0 0.0 78868 2540 ? Sl 07:35 0:00 /usr/sbin/netdata --special-spawn-server
netdata 155476 0.0 0.0 9696 1540 ? S 07:35 0:00 /usr/bin/bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 5
netdata 155484 4.7 0.0 97028 18928 ? S 07:35 0:04 /usr/libexec/netdata/plugins.d/apps.plugin 5
netdata 155503 0.9 0.0 228300 36120 ? Sl 07:35 0:00 /usr/bin/python /usr/libexec/netdata/plugins.d/python.d.plugin 5
netdata 155507 0.4 0.0 725184 14344 ? Sl 07:35 0:00 /usr/libexec/netdata/plugins.d/go.d.plugin 5
ilyam8
December 3, 2021, 2:43pm
5
Oh, I see. It is not a plugin (a plugin has suffix .plugin
), but python.d module. Indeed, moving them to /etc/netdata/custom-plugins.d/
won’t do.
There is an issue - Location for custom python modules . It is closed (not implemented), but we could revisit it.