From 4045dea3f8632f1dcb0b7a94cde25ec626cdff52 Mon Sep 17 00:00:00 2001 From: whitney Date: Wed, 7 Aug 2024 17:21:51 -0700 Subject: [PATCH] Add grafana --- monolith/README.md | 1 + monolith/docker-compose.yml | 60 ++++++++++++++++++++++++ monolith/grafana/.gitignore | 2 + monolith/grafana/grafana.ini.BLANKED | 62 +++++++++++++++++++++++++ monolith/grafana/prometheus.yml.BLANKED | 14 ++++++ 5 files changed, 139 insertions(+) create mode 100644 monolith/grafana/.gitignore create mode 100755 monolith/grafana/grafana.ini.BLANKED create mode 100644 monolith/grafana/prometheus.yml.BLANKED diff --git a/monolith/README.md b/monolith/README.md index b9d7331..9439b3a 100644 --- a/monolith/README.md +++ b/monolith/README.md @@ -44,3 +44,4 @@ https://docs.linuxserver.io/images/docker-code-server/ https://coder.com/docs/code-server/latest/install#docker https://hub.docker.com/r/linuxserver/code-server https://github.com/coder/code-server/blob/main/docs/FAQ.md#can-i-store-my-password-hashed + diff --git a/monolith/docker-compose.yml b/monolith/docker-compose.yml index 709f38c..d5f278a 100644 --- a/monolith/docker-compose.yml +++ b/monolith/docker-compose.yml @@ -4,6 +4,12 @@ networks: traefik: driver: bridge name: traefik + grafana: + driver: bridge + name: grafana + +volumes: + prometheus_data: {} services: traefik: @@ -44,3 +50,57 @@ services: - traefik.http.routers.code.tls.certresolver=lets-encrypt - traefik.http.services.code.loadbalancer.server.port=8443 + grafana: + image: grafana/grafana + container_name: grafana + restart: unless-stopped + depends_on: + - node_exporter + - prometheus + networks: + - grafana + - traefik + user: "1003" + volumes: + - ./grafana/grafana.ini:/etc/grafana/grafana.ini + - /pwspool/software/grafana:/var/lib/grafana + labels: + - traefik.http.routers.grafana.rule=Host(`grafana.whitney.rip`) + - traefik.http.routers.grafana.tls=true + - traefik.http.routers.grafana.tls.certresolver=lets-encrypt + - traefik.http.services.grafana.loadbalancer.server.port=3000 + + node_exporter: + image: quay.io/prometheus/node-exporter:latest + container_name: node_exporter + restart: unless-stopped + depends_on: + - prometheus + networks: + - grafana + pid: host + user: "1003:1005" + command: + - "--path.rootfs=/host" + volumes: + - "/:/host:ro,rslave" + labels: + - traefik.enable=false + + prometheus: + image: prom/prometheus:latest + container_name: prometheus + restart: unless-stopped + networks: + - grafana + volumes: + - "./grafana/prometheus.yml:/etc/prometheus.yml" + - prometheus_data:/prometheus + command: + - "--config.file=/etc/prometheus.yml" + - "--storage.tsdb.path=/prometheus" + - "--web.console.libraries=/usr/share/prometheus/console_libraries" + - "--web.console.templates=/usr/share/prometheus/consoles" + labels: + - traefik.enable=false + diff --git a/monolith/grafana/.gitignore b/monolith/grafana/.gitignore new file mode 100644 index 0000000..0cc5347 --- /dev/null +++ b/monolith/grafana/.gitignore @@ -0,0 +1,2 @@ +grafana.ini +prometheus.yml diff --git a/monolith/grafana/grafana.ini.BLANKED b/monolith/grafana/grafana.ini.BLANKED new file mode 100755 index 0000000..754a9c4 --- /dev/null +++ b/monolith/grafana/grafana.ini.BLANKED @@ -0,0 +1,62 @@ +[paths] +[server] +[database] +[datasources] +[remote_cache] +[dataproxy] +[analytics] +[security] +admin_user = admin +admin_password = adminpassword +[snapshots] +[dashboards] +[users] +default_theme = dark +[auth] +signout_redirect_url = www.example.com +[auth.anonymous] +enabled = true +[auth.github] +[auth.gitlab] +[auth.google] +[auth.grafana_com] +[auth.azuread] +[auth.okta] +[auth.generic_oauth] +[auth.basic] +[auth.proxy] +[auth.jwt] +[auth.ldap] +[aws] +[smtp] +[emails] +[log] +[log.console] +[log.file] +[log.syslog] +[log.frontend] +[quota] +[alerting] +[annotations] +[annotations.dashboard] +[annotations.api] +[explore] +[metrics] +[metrics.environment_info] +[metrics.graphite] +[grafana_com] +[tracing.jaeger] +[external_image_storage] +[external_image_storage.s3] +[external_image_storage.webdav] +[external_image_storage.gcs] +[external_image_storage.azure_blob] +[external_image_storage.local] +[rendering] +[panels] +[plugins] +[plugin.grafana-image-renderer] +[enterprise] +[feature_toggles] +[date_formats] +[expressions] diff --git a/monolith/grafana/prometheus.yml.BLANKED b/monolith/grafana/prometheus.yml.BLANKED new file mode 100644 index 0000000..d177e6b --- /dev/null +++ b/monolith/grafana/prometheus.yml.BLANKED @@ -0,0 +1,14 @@ +global: + scrape_interval: 15s + external_labels: + monitor: 'codelab-monitor' +scrape_configs: + - job_name: 'prometheus' + scrape_interval: 5s + static_configs: + - targets: ['localhost:9090'] + - job_name: 'node_exporter' + scrape_interval: 5s + static_configs: + - targets: ['node_exporter:9100'] +