From 73d220d72d491fff4e8f9206491af6bb2ca5a056 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 3 Dec 2023 05:23:28 +0100 Subject: add whawty-nginx-sso to prometheus monitoring --- roles/nginx/auth/whawty-sso/auth/handlers/main.yml | 5 +++++ roles/nginx/auth/whawty-sso/auth/tasks/main.yml | 23 ++++++++++++++++++++++ .../nginx/auth/whawty-sso/login/handlers/main.yml | 5 +++++ roles/nginx/auth/whawty-sso/login/tasks/main.yml | 23 ++++++++++++++++++++++ 4 files changed, 56 insertions(+) (limited to 'roles/nginx/auth') diff --git a/roles/nginx/auth/whawty-sso/auth/handlers/main.yml b/roles/nginx/auth/whawty-sso/auth/handlers/main.yml index fad676ce..415a976a 100644 --- a/roles/nginx/auth/whawty-sso/auth/handlers/main.yml +++ b/roles/nginx/auth/whawty-sso/auth/handlers/main.yml @@ -4,3 +4,8 @@ service: name: "whawty-nginx-sso@{{ item }}.service" state: restarted + +- name: reload nginx + service: + name: nginx + state: reloaded diff --git a/roles/nginx/auth/whawty-sso/auth/tasks/main.yml b/roles/nginx/auth/whawty-sso/auth/tasks/main.yml index 5ae64b9b..a2bba813 100644 --- a/roles/nginx/auth/whawty-sso/auth/tasks/main.yml +++ b/roles/nginx/auth/whawty-sso/auth/tasks/main.yml @@ -13,6 +13,29 @@ state: directory mode: 0700 +- name: make sure prometheus directories exist + when: "(whawty_nginx_sso_auths | dict2items | selectattr('value.config.prometheus', 'defined') | length) > 0" + file: + path: /etc/prometheus/exporter + state: directory + +- name: make sure prometheus directories exist + loop: "{{ whawty_nginx_sso_auths | dict2items | selectattr('value.config.prometheus', 'defined') }}" + loop_control: + label: "{{ item.key }}" + copy: + content: | + {% if 'listen' in item.value.config.prometheus %} + {% set listen = item.value.config.prometheus.listen %} + {% else %} + {% set listen = item.value.config.web.listen %} + {% endif %} + location = /whawty-nginx-sso/{{ item.key }} { + proxy_pass http://127.0.0.1:{{ listen | split(':') | last }}{{ item.value.config.prometheus.path | default('/metrics') }}; + } + dest: "/etc/prometheus/exporter/whawty-nginx-sso-{{ item.key }}.locations" + notify: reload nginx + - name: generate configuration file loop: "{{ whawty_nginx_sso_auths | dict2items }}" loop_control: diff --git a/roles/nginx/auth/whawty-sso/login/handlers/main.yml b/roles/nginx/auth/whawty-sso/login/handlers/main.yml index f4bbf308..dea155d1 100644 --- a/roles/nginx/auth/whawty-sso/login/handlers/main.yml +++ b/roles/nginx/auth/whawty-sso/login/handlers/main.yml @@ -4,3 +4,8 @@ service: name: "whawty-nginx-sso@{{ item }}.service" state: restarted + +- name: reload nginx + service: + name: nginx + state: reloaded diff --git a/roles/nginx/auth/whawty-sso/login/tasks/main.yml b/roles/nginx/auth/whawty-sso/login/tasks/main.yml index e2267238..675a3ffa 100644 --- a/roles/nginx/auth/whawty-sso/login/tasks/main.yml +++ b/roles/nginx/auth/whawty-sso/login/tasks/main.yml @@ -25,6 +25,29 @@ state: directory mode: 0700 +- name: make sure prometheus directories exist + when: "(whawty_nginx_sso_logins | dict2items | selectattr('value.config.prometheus', 'defined') | length) > 0" + file: + path: /etc/prometheus/exporter + state: directory + +- name: make sure prometheus directories exist + loop: "{{ whawty_nginx_sso_logins | dict2items | selectattr('value.config.prometheus', 'defined') }}" + loop_control: + label: "{{ item.key }}" + copy: + content: | + {% if 'listen' in item.value.config.prometheus %} + {% set listen = item.value.config.prometheus.listen %} + {% else %} + {% set listen = item.value.config.web.listen %} + {% endif %} + location = /whawty-nginx-sso/{{ item.key }} { + proxy_pass http://127.0.0.1:{{ listen | split(':') | last }}{{ item.value.config.prometheus.path | default('/metrics') }}; + } + dest: "/etc/prometheus/exporter/whawty-nginx-sso-{{ item.key }}.locations" + notify: reload nginx + - name: generate configuration file loop: "{{ whawty_nginx_sso_logins | dict2items }}" -- cgit v1.2.3