From 9211f4ff4a44e126f271b53f27bb48006fa12fff Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Wed, 7 Feb 2024 16:50:33 +0000 Subject: [PATCH 1/2] Install prometheus --- .github/workflows/workflow.yml | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index b02b5a85..8ecd8241 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -135,6 +135,50 @@ jobs: --access Allow \ --protocol Tcp \ --destination-port-ranges 5000 && \ + az network nsg rule create \ + --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ + --nsg-name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}NSG" \ + --name AllowPrometheusPort9157 \ + --priority 1011 \ + --access Allow \ + --protocol Tcp \ + --destination-port-ranges 9157 && \ + az vm run-command invoke \ + --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ + --name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ + --command-id RunShellScript \ + --scripts "\ + set -eux + adduser prometheus-client --disabled-password --gecos '' + cd /home/prometheus-client/ + PROMETHEUS_VERSION=1.1.2 + wget https://github.com/prometheus/node_exporter/releases/download/v\$PROMETHEUS_VERSION/node_exporter-\$PROMETHEUS_VERSION.linux-amd64.tar.gz + tar -xvzf node_exporter-\$PROMETHEUS_VERSION.linux-amd64.tar.gz + echo \"\ + [Unit] + Description=Prometheus Node Exporter + Wants=network-online.target + After=network-online.target + + [Service] + User=prometheus-client + Group=prometheus-client + Type=simple + ExecStart=/home/prometheus-client/node_exporter-\$PROMETHEUS_VERSION.linux-amd64/node_exporter \\\\ + --collector.systemd \\\\ + --web.listen-address=:9157 \\\\ + --web.config /home/prometheus-client/web-config.yaml + + [Install] + WantedBy=multi-user.target + \" > /etc/systemd/system/prometheus-node-exporter.service + echo 'basic_auth_users: + # Do not include the dollars in the secret, as escaping is a pain + # Password is generated using htpasswd -nBC 10 "" | tr -d ':' + prom: \"\$2y\$10\$${{ secrets.PROMETHEUS_CLIENT_PASSWORD_HASHED_PARTIAL }}\" + ' > /home/prometheus-client/web-config.yaml + systemctl enable --now prometheus-node-exporter.service + " && \ az vm run-command invoke \ --resource-group "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ --name "${{ env.STAGE }}-${{ env.NAME }}-${{ env.NEW_COLOUR }}" \ From f243f348bbb1715f9cafd0242233ff6a1996160e Mon Sep 17 00:00:00 2001 From: Ben Webb Date: Wed, 7 Feb 2024 16:51:32 +0000 Subject: [PATCH 2/2] Update prometheus --- .github/workflows/workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 8ecd8241..646ef0a1 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -151,7 +151,7 @@ jobs: set -eux adduser prometheus-client --disabled-password --gecos '' cd /home/prometheus-client/ - PROMETHEUS_VERSION=1.1.2 + PROMETHEUS_VERSION=1.7.0 wget https://github.com/prometheus/node_exporter/releases/download/v\$PROMETHEUS_VERSION/node_exporter-\$PROMETHEUS_VERSION.linux-amd64.tar.gz tar -xvzf node_exporter-\$PROMETHEUS_VERSION.linux-amd64.tar.gz echo \"\ @@ -167,7 +167,7 @@ jobs: ExecStart=/home/prometheus-client/node_exporter-\$PROMETHEUS_VERSION.linux-amd64/node_exporter \\\\ --collector.systemd \\\\ --web.listen-address=:9157 \\\\ - --web.config /home/prometheus-client/web-config.yaml + --web.config.file /home/prometheus-client/web-config.yaml [Install] WantedBy=multi-user.target