Netdata bot 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
..
adaptec_raid 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
alarms bde15bbc48 Regenerate integrations.js (#16138) 1 year ago
am2320 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
anomalies 7b094b53d9 comment out anomalies metadata and add note (#15573) 1 year ago
beanstalk 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
bind_rndc 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
boinc 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
ceph 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
changefinder bde15bbc48 Regenerate integrations.js (#16138) 1 year ago
dovecot 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
example bde15bbc48 Regenerate integrations.js (#16138) 1 year ago
exim 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
fail2ban 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
gearman 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
go_expvar 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
haproxy 0fb458d1b9 remove metrics.csv files (#15593) 1 year ago
hddtemp 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
hpssa 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
icecast 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
ipfs 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
litespeed 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
megacli 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
memcached 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
monit 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
nsd 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
nvidia_smi 939d29e140 fix nvidia_smi power_readings for new drivers (#15759) 1 year ago
openldap 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
oracledb 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
pandas 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
postfix 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
puppet 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
python_modules 49363f50c8 feat(python.d): respect NETDATA_INTERNALS_MONITORING (#13793) 2 years ago
rethinkdbs 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
retroshare 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
riakkv 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
samba 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
sensors 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
smartd_log 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
spigotmc 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
squid 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
tomcat 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
tor 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
traefik 0fb458d1b9 remove metrics.csv files (#15593) 1 year ago
uwsgi 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
varnish 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
w1sensor 983e70f1f6 Regenerate integrations.js (#16176) 1 year ago
zscores bde15bbc48 Regenerate integrations.js (#16138) 1 year ago
Makefile.am c50c34e905 remove deprecated python.d collectors announced in v1.38.0 (#14454) 2 years ago
README.md f8a0558a94 Update learn path of python plugin readme (#14549) 2 years ago
python.d.conf c50c34e905 remove deprecated python.d collectors announced in v1.38.0 (#14454) 2 years ago
python.d.plugin.in 6ae0a7e71c python.d: respect env NETDATA_LOG_SEVERITY_LEVEL (#16084) 1 year ago

README.md

python.d.plugin

python.d.plugin is a Netdata external plugin. It is an orchestrator for data collection modules written in python.

  1. It runs as an independent process ps fax shows it
  2. It is started and stopped automatically by Netdata
  3. It communicates with Netdata via a unidirectional pipe (sending data to the netdata daemon)
  4. Supports any number of data collection modules
  5. Allows each module to have one or more data collection jobs
  6. Each job is collecting one or more metrics from a single data source

Disclaimer

All third party libraries should be installed system-wide or in python_modules directory. Module configurations are written in YAML and pyYAML is required.

Every configuration file must have one of two formats:

  • Configuration for only one job:

    update_every : 2 # update frequency
    priority     : 20000 # where it is shown on dashboard
    
    other_var1   : bla  # variables passed to module
    other_var2   : alb
    
  • Configuration for many jobs (ex. mysql):

    # module defaults:
    update_every : 2
    priority     : 20000
    
    local:  # job name
    update_every : 5 # job update frequency
    other_var1   : some_val # module specific variable
    
    other_job:
    priority     : 5 # job position on dashboard
    other_var2   : val # module specific variable
    

update_every and priority are always optional.

How to debug a python module

# become user netdata
sudo su -s /bin/bash netdata

Depending on where Netdata was installed, execute one of the following commands to trace the execution of a python module:

# execute the plugin in debug mode, for a specific module
/opt/netdata/usr/libexec/netdata/plugins.d/python.d.plugin <module> debug trace
/usr/libexec/netdata/plugins.d/python.d.plugin <module> debug trace

Where [module] is the directory name under https://github.com/netdata/netdata/tree/master/collectors/python.d.plugin

Note: If you would like execute a collector in debug mode while it is still running by Netdata, you can pass the nolock CLI option to the above commands.

How to write a new module

See develop a custom collector in Python.