go.d.plugin
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 the Netdata
daemon).
- Supports any number of data collection modules.
- Allows each module to have any number of data collection jobs.
Install
Shipped with Netdata
.
Contributing
If you have time and willing to help, there are a lof of ways to contribute:
Available modules
Why disabled? How to enable?
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
Configuration
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.
Developing
- Add your module to the modules dir.
- Import the module in the main.go.
- To build it execute
make
from the plugin root dir or hack/go-build.sh
.
- Run it in the debug mode
bin/godplugin -d -m <MODULE_NAME>
.
- Use
make clean
when you are done with testing.
Troubleshooting
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
To debug specific module:
# 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.