vkalintiris 2fe2985498 Cleanup am files (#16597) 1 год назад
..
adaptec_raid 2fe2985498 Cleanup am files (#16597) 1 год назад
alarms 2fe2985498 Cleanup am files (#16597) 1 год назад
am2320 2fe2985498 Cleanup am files (#16597) 1 год назад
anomalies 2fe2985498 Cleanup am files (#16597) 1 год назад
beanstalk 2fe2985498 Cleanup am files (#16597) 1 год назад
bind_rndc 2fe2985498 Cleanup am files (#16597) 1 год назад
boinc 2fe2985498 Cleanup am files (#16597) 1 год назад
ceph 2fe2985498 Cleanup am files (#16597) 1 год назад
changefinder 2fe2985498 Cleanup am files (#16597) 1 год назад
dovecot 2fe2985498 Cleanup am files (#16597) 1 год назад
example 2fe2985498 Cleanup am files (#16597) 1 год назад
exim 2fe2985498 Cleanup am files (#16597) 1 год назад
fail2ban 2fe2985498 Cleanup am files (#16597) 1 год назад
gearman 2fe2985498 Cleanup am files (#16597) 1 год назад
go_expvar 2fe2985498 Cleanup am files (#16597) 1 год назад
haproxy 2fe2985498 Cleanup am files (#16597) 1 год назад
hddtemp 2fe2985498 Cleanup am files (#16597) 1 год назад
hpssa 2fe2985498 Cleanup am files (#16597) 1 год назад
icecast 2fe2985498 Cleanup am files (#16597) 1 год назад
ipfs 2fe2985498 Cleanup am files (#16597) 1 год назад
litespeed 2fe2985498 Cleanup am files (#16597) 1 год назад
megacli 2fe2985498 Cleanup am files (#16597) 1 год назад
memcached 2fe2985498 Cleanup am files (#16597) 1 год назад
monit 2fe2985498 Cleanup am files (#16597) 1 год назад
nsd 2fe2985498 Cleanup am files (#16597) 1 год назад
nvidia_smi 2fe2985498 Cleanup am files (#16597) 1 год назад
openldap 2fe2985498 Cleanup am files (#16597) 1 год назад
oracledb 2fe2985498 Cleanup am files (#16597) 1 год назад
pandas 2fe2985498 Cleanup am files (#16597) 1 год назад
postfix 2fe2985498 Cleanup am files (#16597) 1 год назад
puppet 2fe2985498 Cleanup am files (#16597) 1 год назад
python_modules 3362c4e405 python.d: logger: remove timestamp when logging to journald. (#16516) 1 год назад
rethinkdbs 2fe2985498 Cleanup am files (#16597) 1 год назад
retroshare 2fe2985498 Cleanup am files (#16597) 1 год назад
riakkv 2fe2985498 Cleanup am files (#16597) 1 год назад
samba 2fe2985498 Cleanup am files (#16597) 1 год назад
sensors 2fe2985498 Cleanup am files (#16597) 1 год назад
smartd_log 2fe2985498 Cleanup am files (#16597) 1 год назад
spigotmc 2fe2985498 Cleanup am files (#16597) 1 год назад
squid 2fe2985498 Cleanup am files (#16597) 1 год назад
tomcat 2fe2985498 Cleanup am files (#16597) 1 год назад
tor 2fe2985498 Cleanup am files (#16597) 1 год назад
traefik 2fe2985498 Cleanup am files (#16597) 1 год назад
uwsgi 2fe2985498 Cleanup am files (#16597) 1 год назад
varnish 2fe2985498 Cleanup am files (#16597) 1 год назад
w1sensor 2fe2985498 Cleanup am files (#16597) 1 год назад
zscores 2fe2985498 Cleanup am files (#16597) 1 год назад
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.