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.
Are welcome! We are using netdata/netdata repository for bugs, feature requests, and questions.
- GitHub Issues: report bugs or open a new feature request.
- GitHub Discussions: ask a question or suggest a new idea.
Go.d.plugin is shipped with Netdata.
All capabilities are set automatically during Netdata installation using the official installation method. No further action required. If you have used a different installation method and need to set the capabilities manually, see the appropriate collector readme.
Capability | Required by |
---|---|
CAP_NET_RAW | Ping |
CAP_NET_ADMIN | Wireguard |
Name | Monitors |
---|---|
activemq | ActiveMQ |
apache | Apache |
bind | ISC Bind |
cassandra | Cassandra |
chrony | Chrony |
cockroachdb | CockroachDB |
consul | Consul |
coredns | CoreDNS |
couchbase | Couchbase |
couchdb | CouchDB |
dnsdist | Dnsdist |
dnsmasq | Dnsmasq DNS Forwarder |
dnsmasq_dhcp | Dnsmasq DHCP |
dns_query | DNS Query RTT |
docker | Docker Engine |
docker_engine | Docker Engine |
dockerhub | Docker Hub |
elasticsearch | Elasticsearch/OpenSearch |
energid | Energi Core |
envoy | Envoy |
example | - |
filecheck | Files and Directories |
fluentd | Fluentd |
freeradius | FreeRADIUS |
haproxy | HAProxy |
hdfs | HDFS |
httpcheck | Any HTTP Endpoint |
isc_dhcpd | ISC DHCP |
k8s_kubelet | Kubelet |
k8s_kubeproxy | Kube-proxy |
k8s_state | Kubernetes cluster state |
lighttpd | Lighttpd |
logind | systemd-logind |
logstash | Logstash |
mongoDB | MongoDB |
mysql | MySQL |
nginx | NGINX |
nginxplus | NGINX Plus |
nginxvts | NGINX VTS |
ntpd | NTP daemon |
nvme | NVMe devices |
openvpn | OpenVPN |
openvpn_status_log | OpenVPN |
pgbouncer | PgBouncer |
phpdaemon | phpDaemon |
phpfpm | PHP-FPM |
pihole | Pi-hole |
pika | Pika |
ping | Any network host |
prometheus | Any Prometheus Endpoint |
portcheck | Any TCP Endpoint |
postgres | PostgreSQL |
powerdns | PowerDNS Authoritative Server |
powerdns_recursor | PowerDNS Recursor |
proxysql | ProxySQL |
pulsar | Apache Pulsar |
rabbitmq | RabbitMQ |
redis | Redis |
scaleio | Dell EMC ScaleIO |
SNMP | SNMP |
solr | Solr |
squidlog | Squid |
springboot2 | Spring Boot2 |
supervisord | Supervisor |
systemdunits | Systemd unit state |
tengine | Tengine |
traefik | Traefik |
upsd | UPSd (Nut) |
unbound | Unbound |
vcsa | vCenter Server Appliance |
vernemq | VerneMQ |
vsphere | VMware vCenter Server |
web_log | Apache/NGINX |
wireguard | WireGuard |
whoisquery | Domain Expiry |
windows | Windows |
x509check | Digital Certificates |
zookeeper | ZooKeeper |
Edit the go.d.conf
configuration file using edit-config
from the
Netdata config directory, which is typically
at /etc/netdata
.
cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d.conf
Configurations are written in YAML.
To enable a collector you should edit go.d.conf
to uncomment the collector in question and change it from no
to yes
.
For example, to enable the example
plugin you would need to update go.d.conf
from something like:
modules:
# example: no
to
modules:
example: yes
Then restart netdata for the change to take effect.
If you want to contribute to this project, we are humbled. Please take a look at our contributing guidelines and don't hesitate to contact us in our forums.
Read how to write a Netdata collector in Go.
Plugin CLI:
Usage:
orchestrator [OPTIONS] [update every]
Application Options:
-m, --modules= module name to run (default: all)
-c, --config-dir= config dir to read
-w, --watch-path= config path to watch
-d, --debug debug mode
-v, --version display the version and exit
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.
This repository follows the Netdata Code of Conduct and is part of the Netdata Community.