diff --git a/docker-compose.yml b/docker-compose.yml index 38480b04..e6f421d0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ volumes: etcher_bash_history: etcher_config_electron: etcher_config_balena_etcher: + netdatalib: + netdatacache: services: influxdb: restart: always @@ -54,3 +56,25 @@ services: tmpfs: - /run - /tmp + netdata: + build: ./etcher-pro-monitoring/netdata + # this could be removed if we could simply use env vars in our configuration (only to pass in supervisor API URL) + network_mode: 'host' + ports: + - '19999:19999' + environment: + - PGID=988 + # we get this injected as unix:///...sock, but netdata doesn't like that + - DOCKER_HOST=/var/run/balena-engine.sock + cap_add: + - SYS_PTRACE + security_opt: + - apparmor:unconfined + labels: + io.balena.features.balena-socket: 1 + io.balena.features.procfs: 1 + io.balena.features.supervisor-api: 1 + io.balena.features.sysfs: 1 + volumes: + - netdatalib:/var/lib/netdata + - netdatacache:/var/cache/netdata diff --git a/etcher-pro-monitoring/netdata/Dockerfile b/etcher-pro-monitoring/netdata/Dockerfile new file mode 100644 index 00000000..7b02f01d --- /dev/null +++ b/etcher-pro-monitoring/netdata/Dockerfile @@ -0,0 +1,5 @@ +FROM netdata/netdata + +WORKDIR /etc/netdata +COPY httpcheck-supervisor.yml ./go.d/httpcheck.conf +COPY balenad.conf ./python.d/dockerd.conf diff --git a/etcher-pro-monitoring/netdata/balenad.conf b/etcher-pro-monitoring/netdata/balenad.conf new file mode 100644 index 00000000..ae5c13e7 --- /dev/null +++ b/etcher-pro-monitoring/netdata/balenad.conf @@ -0,0 +1,2 @@ + update_every : 1 + priority : 60000 diff --git a/etcher-pro-monitoring/netdata/httpcheck-supervisor.yml b/etcher-pro-monitoring/netdata/httpcheck-supervisor.yml new file mode 100644 index 00000000..3bdd98c2 --- /dev/null +++ b/etcher-pro-monitoring/netdata/httpcheck-supervisor.yml @@ -0,0 +1,3 @@ +jobs: + - name: balena-supervisor + url: http://localhost:48484/ping