From 1919071f08a5d025043f712fb4afec00d1cc23dd Mon Sep 17 00:00:00 2001 From: Davide Oddone Date: Wed, 1 Mar 2023 23:43:59 +0100 Subject: [PATCH] First commit for npg stack --- .../.env.template | 1 + netdata-grafana-prometheus-stack/README.md | 0 .../docker-compose.yml | 98 +++++++++++++++++++ .../grafana.env.template | 3 + .../netdata.env.template | 6 ++ netdata-grafana-prometheus-stack/nginx.conf | 5 + .../prometheus.env.template | 3 + 7 files changed, 116 insertions(+) create mode 100644 netdata-grafana-prometheus-stack/.env.template create mode 100644 netdata-grafana-prometheus-stack/README.md create mode 100644 netdata-grafana-prometheus-stack/docker-compose.yml create mode 100644 netdata-grafana-prometheus-stack/grafana.env.template create mode 100644 netdata-grafana-prometheus-stack/netdata.env.template create mode 100644 netdata-grafana-prometheus-stack/nginx.conf create mode 100644 netdata-grafana-prometheus-stack/prometheus.env.template diff --git a/netdata-grafana-prometheus-stack/.env.template b/netdata-grafana-prometheus-stack/.env.template new file mode 100644 index 0000000..a001715 --- /dev/null +++ b/netdata-grafana-prometheus-stack/.env.template @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=npg diff --git a/netdata-grafana-prometheus-stack/README.md b/netdata-grafana-prometheus-stack/README.md new file mode 100644 index 0000000..e69de29 diff --git a/netdata-grafana-prometheus-stack/docker-compose.yml b/netdata-grafana-prometheus-stack/docker-compose.yml new file mode 100644 index 0000000..192f1b3 --- /dev/null +++ b/netdata-grafana-prometheus-stack/docker-compose.yml @@ -0,0 +1,98 @@ +--- +x-logging: &default-logging + driver: local + options: + max-size: "1m" + max-file: "50" + +x-opt-values: &volume-opt + driver_opts: &options + type: "nfs" + o: "addr=${IP},rw" + +services: + # https://learn.netdata.cloud/docs/agent/packaging/docker + # https://learn.netdata.cloud/docs/agent/exporting/walkthrough + netdata: + image: netdata/netdata + container_name: netdata + hostname: netdata.domain.tld # set to fqdn of host + env_file: + - netdata.env + restart: unless-stopped + cap_add: + - SYS_PTRACE + security_opt: + - apparmor:unconfined + volumes: + - netdataconfig:/etc/netdata:ro + - netdatalib:/var/lib/netdata + - netdatacache:/var/cache/netdata + - /etc/passwd:/host/etc/passwd:ro + - /etc/group:/host/etc/group:ro + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /etc/os-release:/host/etc/os-release:ro + - /var/run/docker.sock:/var/run/docker.sock:ro + networks: + - reverse-proxy + - npg + logging: *default-logging + + prometheus: + image: prom/prometheus + container_name: prometheus + hostname: prometheus + env_file: + prometheus.env + volumes: + - prometheus:/etc/prometheus + networks: + - npg + logging: *default-logging + + grafana: + image: grafana/grafana + container_name: grafana + env_file: + grafana.env + volumes: + - grafana:/var/lib/grafana + networks: + - npg + logging: *default-logging + +# Can be substituted by a standard volume declaration if it's just a test +# environment or no nfs server is available +volumes: + netdataconfig: + <<: *volume-opt + driver_opts: + <<: *options + device: ":/mnt/path/netdata/netdataconfig" + netdatalib: + <<: *volume-opt + driver_opts: + <<: *options + device: ":/mnt/path/netdata/netdatalib" + netdatacache: + <<: *volume-opt + driver_opts: + <<: *options + device: ":/mnt/path/netdata/netdatacache" + prometheus: + <<: *volume-opt + driver_opts: + <<: *options + device: ":/mnt/path/prometheus/prometheus" + grafana: + <<: *volume-opt + driver_opts: + <<: *options + device: ":/mnt/path/grafana/grafana" + +networks: + reverse-proxy: + name: rp_reverse-proxy + external: true + npg: diff --git a/netdata-grafana-prometheus-stack/grafana.env.template b/netdata-grafana-prometheus-stack/grafana.env.template new file mode 100644 index 0000000..067b20f --- /dev/null +++ b/netdata-grafana-prometheus-stack/grafana.env.template @@ -0,0 +1,3 @@ +VIRTUAL_HOST="grafana.domain.tld" +VIRTUAL_PORT=3000 +LETSENCRYPT_HOST="grafana.domain.tld" diff --git a/netdata-grafana-prometheus-stack/netdata.env.template b/netdata-grafana-prometheus-stack/netdata.env.template new file mode 100644 index 0000000..5df64be --- /dev/null +++ b/netdata-grafana-prometheus-stack/netdata.env.template @@ -0,0 +1,6 @@ +VIRTUAL_HOST="netdata.domain.tld" +VIRTUAL_PORT=19999 +LETSENCRYPT_HOST="netdata.domain.tld" +NETDATA_CLAIM_TOKEN=hOOww34Yc-6vYBYxRKBop6Ozbsf0B2WSaPBTsW_mbHuBYiHcGDVsvbqETz5SaevMvOVBK_4r7q6WwLZTTD3iwHy2T2X1NsRExqUWWUn3LQXDGYlvKKCynVRafuNT9xmH1cuQ0l8 +NETDATA_CLAIM_URL=https://app.netdata.cloud +NETDATA_CLAIM_ROOMS= diff --git a/netdata-grafana-prometheus-stack/nginx.conf b/netdata-grafana-prometheus-stack/nginx.conf new file mode 100644 index 0000000..d0baaf5 --- /dev/null +++ b/netdata-grafana-prometheus-stack/nginx.conf @@ -0,0 +1,5 @@ +# File that has to be put under /etc/netdata/go.d/nginx.conf to monitor +# nginx_status +jobs: + - name: local + url: http://nginx-proxy/nginx_status diff --git a/netdata-grafana-prometheus-stack/prometheus.env.template b/netdata-grafana-prometheus-stack/prometheus.env.template new file mode 100644 index 0000000..01573d9 --- /dev/null +++ b/netdata-grafana-prometheus-stack/prometheus.env.template @@ -0,0 +1,3 @@ +VIRTUAL_HOST="prometheus.domain.tld" +VIRTUAL_PORT=9090 +LETSENCRYPT_HOST="prometheus.domain.tld"