| 1 | # go.d.plugin |
| 2 | |
| 3 | `go.d.plugin` is a [Netdata](https://github.com/netdata/netdata) external plugin: |
| 4 | |
| 5 | - **What it does**: collects metrics from databases, middleware, services, APIs, and infrastructure components using built-in collectors. |
| 6 | - **How you use it**: |
| 7 | - set collector-specific jobs in `config/go.d/*.conf`, |
| 8 | - restart Netdata and the collector jobs start automatically. |
| 9 | - **Operational behavior**: |
| 10 | - runs as a separate process from Netdata core (visible in `ps fax`), |
| 11 | - lifecycle is managed by Netdata (start/stop/restart), |
| 12 | - communicates through the external plugin pipe. |
| 13 | - **Scale model**: |
| 14 | - supports many collectors, |
| 15 | - each collector can run multiple jobs, |
| 16 | - collectors can be added/extended independently. |
| 17 | |
| 18 | ### Required Linux capabilities |
| 19 | |
| 20 | All capabilities are set automatically during Netdata installation using the [official installation method](/packaging/installer/methods/kickstart.md). |
| 21 | |
| 22 | | Capability | Required by | |
| 23 | |:--------------------|:---------------------------------------------------------------------------------------------------------:| |
| 24 | | CAP_NET_RAW | [Ping](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ping#readme) | |
| 25 | | CAP_NET_ADMIN | [Wireguard](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/wireguard#readme) | |
| 26 | | CAP_DAC_READ_SEARCH | [Filecheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/filecheck#readme) | |
| 27 | |
| 28 | ## Available collectors |
| 29 | |
| 30 | <details> |
| 31 | <summary>Data Collection Collectors</summary> |
| 32 | |
| 33 | | Name | Monitors | |
| 34 | |:---------------------------------------------------------------------------------------------------------------------|:-----------------------------:| |
| 35 | | [adaptec_raid](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/adaptecraid) | Adaptec Hardware RAID | |
| 36 | | [activemq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/activemq) | ActiveMQ | |
| 37 | | [ap](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ap) | Wireless AP | |
| 38 | | [apache](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/apache) | Apache | |
| 39 | | [apcupsd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/apcupsd) | UPS (APC) | |
| 40 | | [azure_monitor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/azure_monitor) | Azure Monitor | |
| 41 | | [beanstalk](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/beanstalk) | Beanstalk | |
| 42 | | [bind](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/bind) | ISC Bind | |
| 43 | | [boinc](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/boinc) | BOINC | |
| 44 | | [cassandra](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/cassandra) | Cassandra | |
| 45 | | [cato_networks](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/cato_networks) | Cato Networks | |
| 46 | | [ceph](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ceph) | Ceph | |
| 47 | | [chrony](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/chrony) | Chrony | |
| 48 | | [clickhouse](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/clickhouse) | ClickHouse | |
| 49 | | [cockroachdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/cockroachdb) | CockroachDB | |
| 50 | | [consul](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/consul) | Consul | |
| 51 | | [coredns](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/coredns) | CoreDNS | |
| 52 | | [couchbase](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/couchbase) | Couchbase | |
| 53 | | [couchdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/couchdb) | CouchDB | |
| 54 | | [dmcache](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dmcache) | DMCache | |
| 55 | | [dnsdist](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsdist) | Dnsdist | |
| 56 | | [dnsmasq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsmasq) | Dnsmasq DNS Forwarder | |
| 57 | | [dnsmasq_dhcp](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsmasq_dhcp) | Dnsmasq DHCP | |
| 58 | | [dns_query](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dnsquery) | DNS Query RTT | |
| 59 | | [docker](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/docker) | Docker Engine | |
| 60 | | [docker_engine](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/docker_engine) | Docker Engine | |
| 61 | | [dockerhub](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dockerhub) | Docker Hub | |
| 62 | | [dovecot](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/dovecot) | Dovecot | |
| 63 | | [elasticsearch](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/elasticsearch) | Elasticsearch/OpenSearch | |
| 64 | | [envoy](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/envoy) | Envoy | |
| 65 | | [exim](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/exim) | Exim | |
| 66 | | [fail2ban](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/fail2ban) | Fail2Ban Jails | |
| 67 | | [filecheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/filecheck) | Files and Directories | |
| 68 | | [fluentd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/fluentd) | Fluentd | |
| 69 | | [freeradius](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/freeradius) | FreeRADIUS | |
| 70 | | [gearman](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/gearman) | Gearman | |
| 71 | | [haproxy](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/haproxy) | HAProxy | |
| 72 | | [hddtemp](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/hddtemp) | Disks temperature | |
| 73 | | [hdfs](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/hdfs) | HDFS | |
| 74 | | [hpssa](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/hpssa) | HPE Smart Array | |
| 75 | | [httpcheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/httpcheck) | Any HTTP Endpoint | |
| 76 | | [icecast](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/icecast) | Icecast | |
| 77 | | [intelgpu](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/intelgpu) | Intel integrated GPU | |
| 78 | | [ipfs](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ipfs) | IPFS | |
| 79 | | [isc_dhcpd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/isc_dhcpd) | ISC DHCP | |
| 80 | | [k8s_kubelet](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/k8s_kubelet) | Kubelet | |
| 81 | | [k8s_kubeproxy](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/k8s_kubeproxy) | Kube-proxy | |
| 82 | | [k8s_state](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/k8s_state) | Kubernetes cluster state | |
| 83 | | [lighttpd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/lighttpd) | Lighttpd | |
| 84 | | [litespeed](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/litespeed) | Litespeed | |
| 85 | | [logind](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/logind) | systemd-logind | |
| 86 | | [logstash](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/logstash) | Logstash | |
| 87 | | [lvm](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/lvm) | LVM logical volumes | |
| 88 | | [maxscale](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/maxscale) | MaxScale | |
| 89 | | [megacli](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/megacli) | MegaCli Hardware Raid | |
| 90 | | [memcached](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/memcached) | Memcached | |
| 91 | | [mongoDB](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/mongodb) | MongoDB | |
| 92 | | [monit](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/monit) | Monit | |
| 93 | | [mysql](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/mysql) | MySQL | |
| 94 | | [nats](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nats) | NATS | |
| 95 | | [nginx](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginx) | NGINX | |
| 96 | | [nginxplus](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginxplus) | NGINX Plus | |
| 97 | | [nginxunit](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginxunit) | NGINX Unit | |
| 98 | | [nginxvts](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nginxvts) | NGINX VTS | |
| 99 | | [nsd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nsd) | NSD (NLnet Labs) | |
| 100 | | [ntpd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ntpd) | NTP daemon | |
| 101 | | [nvidia_smi](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nvidia_smi) | Nvidia SMI | |
| 102 | | [nvme](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/nvme) | NVMe devices | |
| 103 | | [openldap](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/openldap) | OpenLDAP | |
| 104 | | [openvpn](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/openvpn) | OpenVPN | |
| 105 | | [openvpn_status_log](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/openvpn_status_log) | OpenVPN | |
| 106 | | [panos](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/panos) | Palo Alto Networks PAN-OS | |
| 107 | | [pgbouncer](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pgbouncer) | PgBouncer | |
| 108 | | [oracledb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/oracledb) | Oracle DB | |
| 109 | | [phpdaemon](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/phpdaemon) | phpDaemon | |
| 110 | | [phpfpm](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/phpfpm) | PHP-FPM | |
| 111 | | [pihole](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pihole) | Pi-hole | |
| 112 | | [pika](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pika) | Pika | |
| 113 | | [ping](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/ping) | Any network host | |
| 114 | | [prometheus](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/prometheus) | Any Prometheus Endpoint | |
| 115 | | [portcheck](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/portcheck) | Any TCP Endpoint | |
| 116 | | [postgres](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/postgres) | PostgreSQL | |
| 117 | | [postfix](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/postfix) | Postfix | |
| 118 | | [powerdns](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/powerdns) | PowerDNS Authoritative Server | |
| 119 | | [powerdns_recursor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/powerdns_recursor) | PowerDNS Recursor | |
| 120 | | [proxysql](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/proxysql) | ProxySQL | |
| 121 | | [pulsar](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pulsar) | Apache Pulsar | |
| 122 | | [puppet](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/puppet) | Puppet | |
| 123 | | [rabbitmq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rabbitmq) | RabbitMQ | |
| 124 | | [redis](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/redis) | Redis | |
| 125 | | [rethinkdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rethinkdb) | RethinkDB | |
| 126 | | [riakkv](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/riakkv) | Riak KV | |
| 127 | | [rspamd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rspamd) | Rspamd | |
| 128 | | [samba](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/samba) | Samba | |
| 129 | | [scaleio](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/scaleio) | Dell EMC ScaleIO | |
| 130 | | [sensors](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/sensors) | Hardware Sensors | |
| 131 | | [SNMP](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/collector/snmp) | SNMP | |
| 132 | | [squid](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/squid) | Squid | |
| 133 | | [squidlog](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/squidlog) | Squid | |
| 134 | | [smartctl](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/smartctl) | S.M.A.R.T Storage Devices | |
| 135 | | [spigotmc](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/spigotmc) | SpigotMC | |
| 136 | | [storcli](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/storcli) | Broadcom Hardware RAID | |
| 137 | | [supervisord](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/supervisord) | Supervisor | |
| 138 | | [systemdunits](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/systemdunits) | Systemd unit state | |
| 139 | | [tengine](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/tengine) | Tengine | |
| 140 | | [tomcat](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/tomcat) | Tomcat | |
| 141 | | [tor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/tor) | Tor | |
| 142 | | [traefik](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/traefik) | Traefik | |
| 143 | | [typesense](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/typesense) | Typesense | |
| 144 | | [unbound](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/unbound) | Unbound | |
| 145 | | [upsd](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/upsd) | UPSd (Nut) | |
| 146 | | [uwsgi](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/uwsgi) | uWSGI | |
| 147 | | [varnish](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/varnish) | Varnish | |
| 148 | | [vcsa](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/vcsa) | vCenter Server Appliance | |
| 149 | | [vernemq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/vernemq) | VerneMQ | |
| 150 | | [vsphere](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/vsphere) | VMware vCenter Server | |
| 151 | | [w1sensor](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/w1sensor) | 1-Wire Sensors | |
| 152 | | [web_log](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/weblog) | Apache/NGINX | |
| 153 | | [wireguard](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/wireguard) | WireGuard | |
| 154 | | [whoisquery](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/whoisquery) | Domain Expiry | |
| 155 | | [x509check](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/x509check) | Digital Certificates | |
| 156 | | [yugabytedb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/yugabytedb) | YugabyteDB | |
| 157 | | [zfspool](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/zfspool) | ZFS Pools | |
| 158 | | [zookeeper](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/zookeeper) | ZooKeeper | |
| 159 | |
| 160 | </details> |
| 161 | |
| 162 | ## Configuration |
| 163 | |
| 164 | Edit the `go.d.conf` configuration file using `edit-config` from the |
| 165 | Netdata [config directory](/docs/netdata-agent/configuration/README.md#locate-your-config-directory), |
| 166 | which is typically at `/etc/netdata`. |
| 167 | |
| 168 | ```bash |
| 169 | cd /etc/netdata # Replace this path with your Netdata config directory |
| 170 | sudo ./edit-config go.d.conf |
| 171 | ``` |
| 172 | |
| 173 | Configurations are written in [YAML](http://yaml.org/). |
| 174 | |
| 175 | - [plugin configuration](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/config/go.d.conf) |
| 176 | - [specific collector configuration](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/config/go.d) |
| 177 | |
| 178 | ### Enable a collector |
| 179 | |
| 180 | To enable a collector you should edit `go.d.conf` to uncomment the collector in question and change it from `no` |
| 181 | to `yes`. |
| 182 | |
| 183 | For example, to enable the `example` plugin you would need to update `go.d.conf` from something like: |
| 184 | |
| 185 | ```yaml |
| 186 | modules: |
| 187 | # example: no |
| 188 | ``` |
| 189 | |
| 190 | to |
| 191 | |
| 192 | ```yaml |
| 193 | modules: |
| 194 | example: yes |
| 195 | ``` |
| 196 | |
| 197 | Then [restart netdata](/docs/netdata-agent/start-stop-restart.md) for the change to take effect. |
| 198 | |
| 199 | ## Troubleshooting |
| 200 | |
| 201 | ### Plugin CLI |
| 202 | |
| 203 | ```sh |
| 204 | Usage: |
| 205 | orchestrator [OPTIONS] [update every] |
| 206 | |
| 207 | Application Options: |
| 208 | -m, --modules= module name to run (default: all) |
| 209 | -c, --config-dir= config dir to read |
| 210 | -w, --watch-path= config path to watch |
| 211 | -d, --debug debug mode |
| 212 | -v, --version display the version and exit |
| 213 | |
| 214 | Help Options: |
| 215 | -h, --help Show this help message |
| 216 | ``` |
| 217 | |
| 218 | ### Debugging a Specific Collector |
| 219 | |
| 220 | To debug a particular collector, first switch to the Netdata user: |
| 221 | |
| 222 | ```bash |
| 223 | sudo su -s /bin/bash netdata |
| 224 | ``` |
| 225 | |
| 226 | Then run the plugin in debug mode, specifying your target collector: |
| 227 | |
| 228 | ```bash |
| 229 | # For standard installations |
| 230 | /usr/libexec/netdata/plugins.d/go.d.plugin -d -m <collector_name> |
| 231 | |
| 232 | # For static installations (e.g., in /opt) |
| 233 | /opt/netdata/usr/libexec/netdata/plugins.d/go.d.plugin -d -m <collector_name> |
| 234 | ``` |
| 235 | |
| 236 | Replace `<collector_name>` with the [specific collector](#available-collectors) you wish to debug. |