master
md 236 lines 22.4 KB
Rendered Raw
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.