Clara K 750bf63998 include more cases for megacli degraded state (#16522) 1 год назад
..
adaptec_raid dd361c3b0e adaptec_raid: fix parsing PD without NCQ status (#16400) 1 год назад
alarms f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
am2320 f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
anomalies 7b094b53d9 comment out anomalies metadata and add note (#15573) 1 год назад
beanstalk f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
bind_rndc f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
boinc f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
ceph f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
changefinder f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
dovecot f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
example f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
exim f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
fail2ban f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
gearman f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
go_expvar f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
haproxy 64b678e00d Fix HAProxy server status parsing and add MAINT status chart (#16253) 1 год назад
hddtemp f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
hpssa f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
icecast f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
ipfs f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
litespeed f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
megacli 750bf63998 include more cases for megacli degraded state (#16522) 1 год назад
memcached f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
monit f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
nsd f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
nvidia_smi 939d29e140 fix nvidia_smi power_readings for new drivers (#15759) 1 год назад
openldap f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
oracledb f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
pandas f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
postfix f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
puppet f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
python_modules 3362c4e405 python.d: logger: remove timestamp when logging to journald. (#16516) 1 год назад
rethinkdbs f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
retroshare f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
riakkv f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
samba f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
sensors f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
smartd_log f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
spigotmc f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
squid f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
tomcat f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
tor f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
traefik 0fb458d1b9 remove metrics.csv files (#15593) 1 год назад
uwsgi f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
varnish f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
w1sensor f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
zscores f0bd8662c5 Regenerate integrations.js (#16291) 1 год назад
Makefile.am c50c34e905 remove deprecated python.d collectors announced in v1.38.0 (#14454) 2 лет назад
README.md f8a0558a94 Update learn path of python plugin readme (#14549) 2 лет назад
python.d.conf c50c34e905 remove deprecated python.d collectors announced in v1.38.0 (#14454) 2 лет назад
python.d.plugin.in 3362c4e405 python.d: logger: remove timestamp when logging to journald. (#16516) 1 год назад

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.