go.d.plugin
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.
Bug reports, feature requests, and questions
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.
Install
Go.d.plugin is shipped with Netdata.
Required Linux capabilities
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 |
CAP_DAC_READ_SEARCH | Filecheck |
Available 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 |
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 |
windows | Windows |
x509check | Digital Certificates |
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.
Contributing
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.
How to develop a collector
Read how to write a Netdata collector in Go.
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
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.
Netdata Community
This repository follows the Netdata Code of Conduct and is part of the Netdata Community.
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.