From 7df62e88481c358d7e0840f0459b7ca29de9cb0b Mon Sep 17 00:00:00 2001 From: "Rasmus \"Pez\" Wejlgaard" Date: Sat, 25 Apr 2026 12:38:12 +0100 Subject: [PATCH] fix: adding octopus_exporter compose (#69) * fix: adding octopus_exporter compose * add the secret for octopus --- ansible/group_vars/all/secrets.enc.yaml | 19 ++++++++++--------- ansible/inventory/host_vars/london-c.yml | 3 +++ .../octopus-exporter/docker-compose.yml | 13 +++++++++++++ ansible/services/prometheus/prometheus.yml.j2 | 10 +++++++++- 4 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 ansible/services/octopus-exporter/docker-compose.yml diff --git a/ansible/group_vars/all/secrets.enc.yaml b/ansible/group_vars/all/secrets.enc.yaml index 35e95f0..7fc643d 100644 --- a/ansible/group_vars/all/secrets.enc.yaml +++ b/ansible/group_vars/all/secrets.enc.yaml @@ -1,17 +1,18 @@ -grafana_pagerduty_integration_key: ENC[AES256_GCM,data:AojONPyRt98BX73W9z8zt64vhFLGhlvQFnoTm+Fsha4=,iv:BkP/6MkpEC4Y1IiVtJw6hLKBPw7RcMva5FpPNZi5V2A=,tag:OoiAOMOSj0k/EryYhIBDLw==,type:str] -plex_exporter_plex_token: ENC[AES256_GCM,data:TPrpGAvLkJBNnmeaibm8i5aiVJA=,iv:S+0RQGQmB6v2tQOnKTEbMvPmJQ3d9d5HD5M/6X0eWww=,tag:kGVfrxUpgfz4fkx05D67zw==,type:str] +grafana_pagerduty_integration_key: ENC[AES256_GCM,data:zVdo4D9P4sP8vYNNmyhpb7YWOj1+mMYVZHyCD2VHwd0=,iv:Wy7yLvclbeiJXyEV8eVSdqRj8Mtd/3WhPOCPW105tv0=,tag:mSnOQldgyVtkNf55gIhNAg==,type:str] +plex_exporter_plex_token: ENC[AES256_GCM,data:3KSqokTLiqzCQhFPHGlKx3bBQtQ=,iv:kJTnjwpJMmq/BpZHDg864Ha21RwWJ7aR1yKxqnhXeIM=,tag:M1mYSdM9nEefbSTyWNOhRQ==,type:str] +octopus_energy_api_key: ENC[AES256_GCM,data:lYrEwBA7JJiWJ4+8a36R+1xYWdANz7sYZBHSagY5IvEo+Awb2Sm0aQ==,iv:1lLEKdG5fU3Rmi4BGELDb0dqK/rCMyPIW6T3UwBbGy0=,tag:YG1Nr7fH0fPpuzyp4AP6Iw==,type:str] sops: age: - recipient: age1r8uh2w2qad2z5sgq9q7l73962q2sp8zz9hdnh6sjuvanxl565vmswn8squ enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBOFdtWCtERWdPaFJITjk3 - NWFjbG96MHNPdUwvMDd4NGxqWEh3VUpkSXhJCm8yOEVxRFJNMGVKY1o4QkFHRVgx - a3gzV0xLUmpYYjYvZzhmZUtDN3A3TzAKLS0tIGwyRVpReGkwWldRNFZrb04wSXpa - UE90WWl5bDRJSTc5QitjbUllajVzMkUKIaUuYGFb43Ul+fEvH3AcR/arPKtysgHL - eENlRx2e3MXA3KNLtE4w3W3NGqBCil880/6xQKmFI9CgIcZRRJmruA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTbEF6c0FlenUwS2FjR0xK + bUQzeUhwNlYzOGNKMnY1SzRlRTRRQjgvdmhBClJvajdVUUFLdTBwZWNjUXAzdW12 + VnJtczlBUUxxRDFoTFVqMTJKc0pubm8KLS0tIFVnQWJpc2pka0JtZ1FtUnZoWTZx + SWxRdDc4SUhZNGRQUUFMRnNpcENZVTAKv4qlynqen44MmsK+lLLVRTparg/IOrx/ + anryd4FvNlmYDlc/SDKORv78EJKVcT4+XSIYsHc9D5EYawcx0ZERww== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-04-13T18:01:39Z" - mac: ENC[AES256_GCM,data:rET2O8tO6BqjmMBprkGZq+kmn/UO7/r6LNofYJWTECL5VlZbF8cTywKldqAXCX61GaIABIXSv5OkcR0tBuPZcsG4eXMCiinvjUkRYV97E76hBEU9PQEPy/GzlTdqq6PBLDly23JT0uILDKD4ps6EoQ5aIa5S7XcKuyvmRbwGv8w=,iv:1Bu65zQV8h0Ca7+eQyP/UjWT9We2k1nFM4S0ijyTvr8=,tag:dLM4fcUHspvxjcinTXbweQ==,type:str] + lastmodified: "2026-04-25T11:33:37Z" + mac: ENC[AES256_GCM,data:ETwaN3xmQDhqIXJ4pFrowXEV0ODJ0f75ZS3Uqm1PWIewQM5+PeUonwaZB7WK/YmCNeknJJ3tzXXHsUfOak7bDJTbbI9+Oa8z+IMiX3AIGWnDLPl6u7WJq0ZKwQ/oY1aBFrouTf1iP497OilEkWMhixQmTOxqaFLqKvck3CrkF94=,iv:3FkvnsKwu8a1TSd1tvk41ApIZv9jIy1FYpg/kHxmCS4=,tag:RuMC4AhvQnQHns2Rh4fMiQ==,type:str] unencrypted_suffix: _unencrypted version: 3.12.2 diff --git a/ansible/inventory/host_vars/london-c.yml b/ansible/inventory/host_vars/london-c.yml index 6340a2c..5f5351d 100644 --- a/ansible/inventory/host_vars/london-c.yml +++ b/ansible/inventory/host_vars/london-c.yml @@ -3,3 +3,6 @@ host_role: idle host_description: "Idle/available" host_location: "London" prometheus_location: london + +docker_services: + - octopus-exporter diff --git a/ansible/services/octopus-exporter/docker-compose.yml b/ansible/services/octopus-exporter/docker-compose.yml new file mode 100644 index 0000000..08b83b4 --- /dev/null +++ b/ansible/services/octopus-exporter/docker-compose.yml @@ -0,0 +1,13 @@ +--- +# octopus-exporter - Octopus Energy metrics for Prometheus +# Host: london-c (100.123.72.87) + +services: + octopus-exporter: + image: rwejlgaard/octopus_exporter:v1.1.0 + container_name: octopus_exporter + restart: unless-stopped + ports: + - "9359:9359" + environment: + OCTOPUS_API_KEY: "{{ octopus_energy_api_key }}" diff --git a/ansible/services/prometheus/prometheus.yml.j2 b/ansible/services/prometheus/prometheus.yml.j2 index 637ca80..8065510 100644 --- a/ansible/services/prometheus/prometheus.yml.j2 +++ b/ansible/services/prometheus/prometheus.yml.j2 @@ -22,7 +22,15 @@ scrape_configs: - job_name: "octopus_exporter" static_configs: - - targets: ["100.123.72.87:9359"] +{% for host in groups['all'] | sort %} +{% set h = hostvars[host] %} +{% if 'octopus-exporter' in (h.docker_services | default([])) %} + - targets: ["{{ h.ansible_host }}:9359"] + labels: + location: {{ h.prometheus_location }} + server: {{ host }} +{% endif %} +{% endfor %} - job_name: "node_exporter" static_configs: