go.d.plugin
go.d.plugin is a Netdata external plugin:
- Independent Operation: Runs as a separate process from Netdata core, visible in system process lists (
ps fax). - Automated Management: Integrated with Netdata's lifecycle management, managed automatically by Netdata (start/stop operations).
- Efficient Communication: Uses a unidirectional pipe for optimal data transfer to Netdata.
- Modular Architecture:
- Supports an unlimited number of data collection modules.
- Each module can run multiple collection jobs simultaneously.
- Easy to extend with new collection modules
Required Linux capabilities
All capabilities are set automatically during Netdata installation using the official installation method.
| Capability | Required by |
|---|---|
| CAP_NET_RAW | Ping |
| CAP_NET_ADMIN | Wireguard |
| CAP_DAC_READ_SEARCH | Filecheck |
Available modules
Data Collection Modules
| Name | Monitors |
|---|---|
| adaptec_raid | Adaptec Hardware RAID |
| activemq | ActiveMQ |
| ap | Wireless AP |
| apache | Apache |
| apcupsd | UPS (APC) |
| beanstalk | Beanstalk |
| bind | ISC Bind |
| boinc | BOINC |
| cassandra | Cassandra |
| ceph | Ceph |
| chrony | Chrony |
| clickhouse | ClickHouse |
| cockroachdb | CockroachDB |
| consul | Consul |
| coredns | CoreDNS |
| couchbase | Couchbase |
| couchdb | CouchDB |
| dmcache | DMCache |
| 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 |
| dovecot | Dovecot |
| elasticsearch | Elasticsearch/OpenSearch |
| envoy | Envoy |
| exim | Exim |
| fail2ban | Fail2Ban Jails |
| filecheck | Files and Directories |
| fluentd | Fluentd |
| freeradius | FreeRADIUS |
| gearman | Gearman |
| haproxy | HAProxy |
| hddtemp | Disks temperature |
| hdfs | HDFS |
| hpssa | HPE Smart Array |
| httpcheck | Any HTTP Endpoint |
| icecast | Icecast |
| intelgpu | Intel integrated GPU |
| ipfs | IPFS |
| isc_dhcpd | ISC DHCP |
| k8s_kubelet | Kubelet |
| k8s_kubeproxy | Kube-proxy |
| k8s_state | Kubernetes cluster state |
| lighttpd | Lighttpd |
| litespeed | Litespeed |
| logind | systemd-logind |
| logstash | Logstash |
| lvm | LVM logical volumes |
| maxscale | MaxScale |
| megacli | MegaCli Hardware Raid |
| memcached | Memcached |
| mongoDB | MongoDB |
| monit | Monit |
| mysql | MySQL |
| nats | NATS |
| nginx | NGINX |
| nginxplus | NGINX Plus |
| nginxunit | NGINX Unit |
| nginxvts | NGINX VTS |
| nsd | NSD (NLnet Labs) |
| ntpd | NTP daemon |
| nvidia_smi | Nvidia SMI |
| nvme | NVMe devices |
| openldap | OpenLDAP |
| openvpn | OpenVPN |
| openvpn_status_log | OpenVPN |
| pgbouncer | PgBouncer |
| oracledb | Oracle DB |
| phpdaemon | phpDaemon |
| phpfpm | PHP-FPM |
| pihole | Pi-hole |
| pika | Pika |
| ping | Any network host |
| prometheus | Any Prometheus Endpoint |
| portcheck | Any TCP Endpoint |
| postgres | PostgreSQL |
| postfix | Postfix |
| powerdns | PowerDNS Authoritative Server |
| powerdns_recursor | PowerDNS Recursor |
| proxysql | ProxySQL |
| pulsar | Apache Pulsar |
| puppet | Puppet |
| rabbitmq | RabbitMQ |
| redis | Redis |
| rethinkdb | RethinkDB |
| riakkv | Riak KV |
| rspamd | Rspamd |
| samba | Samba |
| scaleio | Dell EMC ScaleIO |
| sensors | Hardware Sensors |
| SNMP | SNMP |
| squid | Squid |
| squidlog | Squid |
| smartctl | S.M.A.R.T Storage Devices |
| spigotmc | SpigotMC |
| storcli | Broadcom Hardware RAID |
| supervisord | Supervisor |
| systemdunits | Systemd unit state |
| tengine | Tengine |
| tomcat | Tomcat |
| tor | Tor |
| traefik | Traefik |
| typesense | Typesense |
| unbound | Unbound |
| upsd | UPSd (Nut) |
| uwsgi | uWSGI |
| varnish | Varnish |
| vcsa | vCenter Server Appliance |
| vernemq | VerneMQ |
| vsphere | VMware vCenter Server |
| w1sensor | 1-Wire Sensors |
| web_log | Apache/NGINX |
| wireguard | WireGuard |
| whoisquery | Domain Expiry |
| x509check | Digital Certificates |
| yugabytedb | YugabyteDB |
| zfspool | ZFS Pools |
| zookeeper | ZooKeeper |
Configuration
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.
Enable a collector
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.
Troubleshooting
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
Debugging a Specific Module
To debug a particular module, first switch to the Netdata user:
sudo su -s /bin/bash netdata
Then run the plugin in debug mode, specifying your target module:
# For standard installations
/usr/libexec/netdata/plugins.d/go.d.plugin -d -m <module_name>
# For static installations (e.g., in /opt)
/opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin -d -m <module_name>
Replace <module_name> with the specific module you wish to debug.
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.