From 4a853065db4f4a46ced319067a4cca313690aa50 Mon Sep 17 00:00:00 2001 From: Tobias Reisinger <tobias@msrg.cc> Date: Tue, 6 May 2025 16:04:53 +0200 Subject: [PATCH] Remove telegraf service (replaced with grafana alloy) --- playbooks/for-ansible-lint.yml | 2 +- playbooks/roles/lgtm_stack/vars/main.yml | 11 ++-- playbooks/roles/telegraf/tasks/main.yml | 27 ---------- .../roles/telegraf/templates/telegraf.conf.j2 | 54 ------------------- playbooks/roles/telegraf/vars/main.yml | 42 --------------- services.auto.tfvars | 15 +++--- 6 files changed, 16 insertions(+), 135 deletions(-) delete mode 100644 playbooks/roles/telegraf/tasks/main.yml delete mode 100644 playbooks/roles/telegraf/templates/telegraf.conf.j2 delete mode 100644 playbooks/roles/telegraf/vars/main.yml diff --git a/playbooks/for-ansible-lint.yml b/playbooks/for-ansible-lint.yml index 58d6fe3..5b9edeb 100644 --- a/playbooks/for-ansible-lint.yml +++ b/playbooks/for-ansible-lint.yml @@ -20,6 +20,7 @@ - influxdb - jellyfin - lego + - lgtm_stack - mailcowdockerized - minecraft_2 - minio @@ -31,7 +32,6 @@ - synapse - tandoor - teamspeak_fallback - - telegraf - tinytinyrss - umami - vikunja diff --git a/playbooks/roles/lgtm_stack/vars/main.yml b/playbooks/roles/lgtm_stack/vars/main.yml index 2603252..c416844 100644 --- a/playbooks/roles/lgtm_stack/vars/main.yml +++ b/playbooks/roles/lgtm_stack/vars/main.yml @@ -57,7 +57,10 @@ lgtm_stack_env: GF_AUTH_GENERIC_OAUTH_ENABLED: true GF_AUTH_GENERIC_OAUTH_NAME: "auth.serguzim.me" GF_AUTH_GENERIC_OAUTH_ALLOW_SIGN_UP: true - GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH: "contains(groups, 'Grafana GrafanaAdmins') && 'GrafanaAdmin' || contains(groups, 'Grafana Admins') && 'Admin' || contains(groups, 'Grafana Editors') && 'Editor' || 'Viewer'" + GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH: "\ + contains(groups, 'Grafana GrafanaAdmins') && 'GrafanaAdmin' + || contains(groups, 'Grafana Admins') && 'Admin' + || contains(groups, 'Grafana Editors') && 'Editor' || 'Viewer'" GF_AUTH_GENERIC_OAUTH_ALLOW_ASSIGN_GRAFANA_ADMIN: true GF_AUTH_GENERIC_OAUTH_CLIENT_ID: "{{ opentofu.authentik_data.lgtm_stack.client_id }}" GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET: "{{ opentofu.authentik_data.lgtm_stack.client_secret }}" @@ -101,7 +104,7 @@ lgtm_stack_mimir_yml: storage: backend: s3 s3: - endpoint: "{{ opentofu.scaleway_data.mimir_blocks.api_endpoint | regex_replace('^https://', '') }}" + endpoint: "{{ opentofu.scaleway_data.mimir_blocks.api_endpoint | regex_replace('^https://', '') }}" region: "{{ opentofu.scaleway_data.mimir_blocks.region }}" access_key_id: "{{ opentofu.scaleway_data.mimir_blocks.access_key }}" secret_access_key: "{{ opentofu.scaleway_data.mimir_blocks.secret_key }}" @@ -149,7 +152,7 @@ lgtm_stack_compose: networks: apps: aliases: - - lgtm_stack_alloy + - lgtm_stack_alloy default: mimir: @@ -163,6 +166,6 @@ lgtm_stack_compose: default: apps: aliases: - - lgtm_stack_mimir + - lgtm_stack_mimir volumes: grafana-data: diff --git a/playbooks/roles/telegraf/tasks/main.yml b/playbooks/roles/telegraf/tasks/main.yml deleted file mode 100644 index 3869e0f..0000000 --- a/playbooks/roles/telegraf/tasks/main.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -- name: Set common facts - ansible.builtin.import_tasks: tasks/set-default-facts.yml - -- name: Deploy {{ role_name }} - vars: - svc: "{{ telegraf_svc }}" - env: "{{ telegraf_env }}" - compose: "{{ telegraf_compose }}" - block: - - name: Import prepare tasks for common service - ansible.builtin.import_tasks: tasks/prepare-common-service.yml - - - name: Template config - ansible.builtin.template: - src: telegraf.conf.j2 - dest: "{{ (service_path, 'telegraf.conf') | path_join }}" - mode: "0664" - register: cmd_result - - - name: Set the docker force-recreate flag - ansible.builtin.set_fact: - docker_force_recreate: --force-recreate - when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables. - - - name: Import start tasks for common service - ansible.builtin.import_tasks: tasks/start-common-service.yml diff --git a/playbooks/roles/telegraf/templates/telegraf.conf.j2 b/playbooks/roles/telegraf/templates/telegraf.conf.j2 deleted file mode 100644 index 04b44c1..0000000 --- a/playbooks/roles/telegraf/templates/telegraf.conf.j2 +++ /dev/null @@ -1,54 +0,0 @@ -[agent] - interval = "60s" - round_interval = true - metric_batch_size = 1000 - metric_buffer_limit = 10000 - collection_jitter = "0s" - flush_interval = "10s" - flush_jitter = "0s" - precision = "" - hostname = "{{ inventory_hostname }}" - omit_hostname = false - -[[outputs.influxdb_v2]] - urls = ["{{ svc.influxdb.url }}"] - token = "{{ svc.influxdb.token }}" - organization = "{{ svc.influxdb.organization }}" - bucket = "{{ svc.influxdb.bucket }}" - -[[inputs.prometheus]] - urls = [ - {%- for host_data in opentofu.hosts.values() -%} - "https://{{ host_data.fqdn_vpn }}:2019/metrics", - {%- endfor -%} - ] - -[[inputs.prometheus]] - urls = [ - {%- for url in svc.prometheus_unprotected.urls -%} - "{{ url }}", - {%- endfor -%} - ] - -[[inputs.prometheus]] - urls = [ - {%- for url in svc.prometheus_protected.urls -%} - "{{ url }}", - {%- endfor -%} - ] - - bearer_token_string = "{{ svc.prometheus_protected.bearer_token }}" - -[[inputs.postgresql]] - address = "postgres://{{ svc.postgresql.user }}:{{ svc.postgresql.pass }}@{{ svc.postgresql.host }}:{{ svc.postgresql.port }}/{{ svc.postgresql.database }}?sslmode=verify-full" - ignored_databases = ["postgres", "template0", "template1"] - prepared_statements = true - -[[inputs.docker_log]] - endpoint = "{{ svc.docker_log.endpoint }}" - - docker_label_include = [ - "com.influxdata.telegraf.enable" - ] - - source_tag = {{ svc.docker_log.source_tag|lower }} diff --git a/playbooks/roles/telegraf/vars/main.yml b/playbooks/roles/telegraf/vars/main.yml deleted file mode 100644 index 3a864b8..0000000 --- a/playbooks/roles/telegraf/vars/main.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- -telegraf_svc: - influxdb: - url: https://tick.serguzim.me - token: "{{ vault_telegraf.influxdb_token }}" - organization: serguzim.net - bucket: metrics - prometheus_unprotected: - urls: - - https://matrix.serguzim.me/_synapse/metrics - - https://push.serguzim.me/metrics - - https://tick.serguzim.me/metrics - - https://todo.serguzim.me/api/v1/metrics - prometheus_protected: - urls: - - https://ci.serguzim.me/metrics - - https://git.serguzim.me/metrics - bearer_token: "{{ vault_metrics_token }}" - postgresql: - host: "{{ postgres.host }}" - port: "{{ postgres.port }}" - user: "{{ opentofu.postgresql_data.telegraf.user }}" - pass: "{{ opentofu.postgresql_data.telegraf.pass }}" - database: "{{ opentofu.postgresql_data.telegraf.database }}" - docker_log: - endpoint: unix:///var/run/docker.sock - source_tag: false - -telegraf_compose: - watchtower: false - image: telegraf:1.28 - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro - file: - services: - app: - user: telegraf - group_add: - - "972" # docker group on host - volumes: - data: diff --git a/services.auto.tfvars b/services.auto.tfvars index 678c781..5861848 100644 --- a/services.auto.tfvars +++ b/services.auto.tfvars @@ -427,6 +427,14 @@ services = { vpn = true } ] + monitoring = { + url = "/api/health" + group = "7-support" + conditions = [ + "DEFAULT", + "[BODY].database == ok" + ] + } auth = true auth_redirects = ["https://monitoring.serguzim.me/login/generic_oauth"] database = true @@ -701,13 +709,6 @@ services = { s3 = false } - "telegraf" = { - host = "node001" - auth = false - database = true - s3 = false - }, - "tinytinyrss" = { host = "node001" dns = [{