go.d.plugin
is a netdata
external plugin. It is an orchestrator for data collection modules written in go
.
- It runs as an independent process
ps fax
shows it. - It is started and stopped automatically by
netdata
. - It communicates with
netdata
via a unidirectional pipe (sending data to thenetdata
daemon). - Supports any number of data collection modules.
- Allows each module to have any number of data collection jobs.
Shipped with netdata
.
If you have time and willing to help, there are a lof of ways to contribute:
- Fix and report bugs
- Review code and feature proposals
- Contribute modules (wip, module interface may be changed soon)
- activemq
- apache *
- bind *
- consul
- coredns
- dns_query
- dnsmasq_dhcp
- docker_engine
- dockerhub
- example *
- fluentd
- freeradius *
- httpcheck
- k8s_kubelet
- k8s_kubeproxy
- lighttpd *
- lighttpd2
- logstash
- mysql *
- nginx *
- openvpn
- pihole
- portcheck
- rabbitmq *
- scaleio
- solr
- springboot2
- tengine
- web_log *
- wmi
- x509check
*
- disabled by default.
We are in process of migrating collectors from python
to go
.
Configurations are incompatible. All rewritten in go
modules are disabled by default.
This is a temporary solution, we are working on it.
To enable module please do the following:
- explicitly disable python module in
python.d.conf
- explicitly enable go module in
go.d.conf
- move python module jobs to go module configuration file (change syntax, see go module configuration file for details).
- restart
netdata.service
If case of problems:
- check
error.log
for module related errors (grep <module name> error.log
) - run plugin in debug mode
go.d.plugin
itself can be configured using the configuration file /etc/netdata/go.d.conf
(to edit it on your system run /etc/netdata/edit-config go.d.conf
). This file is a BASH script.
Configurations are written in YAML.
Plugin CLI:
Usage:
go.d.plugin [OPTIONS] [update every]
Application Options:
-d, --debug debug mode
-m, --modules= modules name (default: all)
-c, --config= config dir
Help Options:
-h, --help Show this help message
Specific module debug:
# become user netdata
sudo su -s /bin/bash netdata
# run plugin in debug mode
./go.d.plugin -d -m <module name>
Change <module name>
to the module name you want to debug.
See the whole list of available modules.