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 theNetdata
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:
- Fix and report bugs
- Review code and feature proposals
- Contribute modules (wip, module interface may be changed soon)
Available modules
Name | Monitors | Disabled |
---|---|---|
activemq | ActiveMQ |
|
apache | Apache |
yes |
bind | ISC Bind |
yes |
cockroachdb | CockroachDB |
|
consul | Consul |
|
coredns | CoreDNS |
|
dnsmasq_dhcp | Dnsmasq |
|
dns_query | DNS Query RTT |
|
docker_engine | Docker Engine |
|
dockerhub | Docker Hub |
|
example | - | yes |
fluentd | Fluentd |
|
freeradius | FreeRADIUS |
yes |
hdfs | HDFS |
|
httpcheck | Any HTTP Endpoint |
|
k8s_kubelet | Kubelet |
|
k8s_kubeproxy | Kube-proxy |
|
lighttpd | Lighttpd |
yes |
lighttpd2 | Lighttpd2 |
|
logstash | Logstash |
|
mysql | MySQL |
yes |
nginx | NGINX |
yes |
openvpn | OpenVPN |
yes |
phpdaemon | phpDaemon |
|
phpfpm | PHP-FPM |
yes |
pihole | Pi-hole |
|
portcheck | Any TCP Endpoint |
|
pulsar | Apache Pulsar |
|
rabbitmq | RabbitMQ |
yes |
scaleio | Dell EMC ScaleIO |
|
solr | Solr |
|
squidlog | Squid |
yes |
springboot2 | Spring Boot2 |
|
tengine | Tengine |
|
unbound | Unbound |
|
vcsa | vCenter Server Appliance |
|
vernemq | VerneMQ |
|
vsphere | VMware vCenter Server |
|
web_log | Apache/NGINX |
yes |
wmi | Windows Machines |
|
x509check | Digital Certificates |
|
zookeeper | ZooKeeper |
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.
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.