master
md 22.4 KB

go.d.plugin

go.d.plugin is a Netdata external plugin:

  • What it does: collects metrics from databases, middleware, services, APIs, and infrastructure components using built-in collectors.
  • How you use it:
    • set collector-specific jobs in config/go.d/*.conf,
    • restart Netdata and the collector jobs start automatically.
  • Operational behavior:
    • runs as a separate process from Netdata core (visible in ps fax),
    • lifecycle is managed by Netdata (start/stop/restart),
    • communicates through the external plugin pipe.
  • Scale model:
    • supports many collectors,
    • each collector can run multiple jobs,
    • collectors can be added/extended independently.

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 collectors

Data Collection Collectors | Name | Monitors | |:---------------------------------------------------------------------------------------------------------------------|:-----------------------------:| | [adaptec_raid](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/adaptecraid) | Adaptec Hardware RAID | | [activemq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/activemq) | ActiveMQ | | [ap](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ap) | Wireless AP | | [apache](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/apache) | Apache | | [apcupsd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/apcupsd) | UPS (APC) | | [azure_monitor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/azure_monitor) | Azure Monitor | | [beanstalk](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/beanstalk) | Beanstalk | | [bind](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/bind) | ISC Bind | | [boinc](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/boinc) | BOINC | | [cassandra](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/cassandra) | Cassandra | | [cato_networks](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/cato_networks) | Cato Networks | | [ceph](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ceph) | Ceph | | [chrony](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/chrony) | Chrony | | [clickhouse](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/clickhouse) | ClickHouse | | [cockroachdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/cockroachdb) | CockroachDB | | [consul](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/consul) | Consul | | [coredns](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/coredns) | CoreDNS | | [couchbase](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/couchbase) | Couchbase | | [couchdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/couchdb) | CouchDB | | [dmcache](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dmcache) | DMCache | | [dnsdist](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsdist) | Dnsdist | | [dnsmasq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsmasq) | Dnsmasq DNS Forwarder | | [dnsmasq_dhcp](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsmasq_dhcp) | Dnsmasq DHCP | | [dns_query](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsquery) | DNS Query RTT | | [docker](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/docker) | Docker Engine | | [docker_engine](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/docker_engine) | Docker Engine | | [dockerhub](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dockerhub) | Docker Hub | | [dovecot](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dovecot) | Dovecot | | [elasticsearch](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/elasticsearch) | Elasticsearch/OpenSearch | | [envoy](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/envoy) | Envoy | | [exim](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/exim) | Exim | | [fail2ban](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/fail2ban) | Fail2Ban Jails | | [filecheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/filecheck) | Files and Directories | | [fluentd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/fluentd) | Fluentd | | [freeradius](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/freeradius) | FreeRADIUS | | [gearman](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/gearman) | Gearman | | [haproxy](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/haproxy) | HAProxy | | [hddtemp](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/hddtemp) | Disks temperature | | [hdfs](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/hdfs) | HDFS | | [hpssa](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/hpssa) | HPE Smart Array | | [httpcheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/httpcheck) | Any HTTP Endpoint | | [icecast](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/icecast) | Icecast | | [intelgpu](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/intelgpu) | Intel integrated GPU | | [ipfs](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ipfs) | IPFS | | [isc_dhcpd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/isc_dhcpd) | ISC DHCP | | [k8s_kubelet](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/k8s_kubelet) | Kubelet | | [k8s_kubeproxy](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/k8s_kubeproxy) | Kube-proxy | | [k8s_state](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/k8s_state) | Kubernetes cluster state | | [lighttpd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/lighttpd) | Lighttpd | | [litespeed](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/litespeed) | Litespeed | | [logind](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/logind) | systemd-logind | | [logstash](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/logstash) | Logstash | | [lvm](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/lvm) | LVM logical volumes | | [maxscale](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/maxscale) | MaxScale | | [megacli](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/megacli) | MegaCli Hardware Raid | | [memcached](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/memcached) | Memcached | | [mongoDB](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/mongodb) | MongoDB | | [monit](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/monit) | Monit | | [mysql](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/mysql) | MySQL | | [nats](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nats) | NATS | | [nginx](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginx) | NGINX | | [nginxplus](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginxplus) | NGINX Plus | | [nginxunit](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginxunit) | NGINX Unit | | [nginxvts](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginxvts) | NGINX VTS | | [nsd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nsd) | NSD (NLnet Labs) | | [ntpd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ntpd) | NTP daemon | | [nvidia_smi](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nvidia_smi) | Nvidia SMI | | [nvme](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nvme) | NVMe devices | | [openldap](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/openldap) | OpenLDAP | | [openvpn](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/openvpn) | OpenVPN | | [openvpn_status_log](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/openvpn_status_log) | OpenVPN | | [panos](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/panos) | Palo Alto Networks PAN-OS | | [pgbouncer](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pgbouncer) | PgBouncer | | [oracledb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/oracledb) | Oracle DB | | [phpdaemon](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/phpdaemon) | phpDaemon | | [phpfpm](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/phpfpm) | PHP-FPM | | [pihole](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pihole) | Pi-hole | | [pika](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pika) | Pika | | [ping](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ping) | Any network host | | [prometheus](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/prometheus) | Any Prometheus Endpoint | | [portcheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/portcheck) | Any TCP Endpoint | | [postgres](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/postgres) | PostgreSQL | | [postfix](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/postfix) | Postfix | | [powerdns](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/powerdns) | PowerDNS Authoritative Server | | [powerdns_recursor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/powerdns_recursor) | PowerDNS Recursor | | [proxysql](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/proxysql) | ProxySQL | | [pulsar](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pulsar) | Apache Pulsar | | [puppet](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/puppet) | Puppet | | [rabbitmq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rabbitmq) | RabbitMQ | | [redis](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/redis) | Redis | | [rethinkdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rethinkdb) | RethinkDB | | [riakkv](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/riakkv) | Riak KV | | [rspamd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rspamd) | Rspamd | | [samba](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/samba) | Samba | | [scaleio](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/scaleio) | Dell EMC ScaleIO | | [sensors](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/sensors) | Hardware Sensors | | [SNMP](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/snmp) | SNMP | | [squid](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/squid) | Squid | | [squidlog](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/squidlog) | Squid | | [smartctl](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/smartctl) | S.M.A.R.T Storage Devices | | [spigotmc](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/spigotmc) | SpigotMC | | [storcli](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/storcli) | Broadcom Hardware RAID | | [supervisord](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/supervisord) | Supervisor | | [systemdunits](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/systemdunits) | Systemd unit state | | [tengine](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/tengine) | Tengine | | [tomcat](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/tomcat) | Tomcat | | [tor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/tor) | Tor | | [traefik](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/traefik) | Traefik | | [typesense](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/typesense) | Typesense | | [unbound](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/unbound) | Unbound | | [upsd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/upsd) | UPSd (Nut) | | [uwsgi](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/uwsgi) | uWSGI | | [varnish](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/varnish) | Varnish | | [vcsa](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/vcsa) | vCenter Server Appliance | | [vernemq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/vernemq) | VerneMQ | | [vsphere](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/vsphere) | VMware vCenter Server | | [w1sensor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/w1sensor) | 1-Wire Sensors | | [web_log](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/weblog) | Apache/NGINX | | [wireguard](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/wireguard) | WireGuard | | [whoisquery](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/whoisquery) | Domain Expiry | | [x509check](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/x509check) | Digital Certificates | | [yugabytedb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/yugabytedb) | YugabyteDB | | [zfspool](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/zfspool) | ZFS Pools | | [zookeeper](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/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 Collector

To debug a particular collector, first switch to the Netdata user:

sudo su -s /bin/bash netdata

Then run the plugin in debug mode, specifying your target collector:

# For standard installations
/usr/libexec/netdata/plugins.d/go.d.plugin -d -m <collector_name>

# For static installations (e.g., in /opt)
/opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin -d -m <collector_name>

Replace <collector_name> with the specific collector you wish to debug.