feat: prometheus now uses stage_server_infos (auto discover task)

master
Sven Ketelsen 4 years ago
parent 0355c2ed8b
commit bd13643e30

@ -12,6 +12,10 @@
- ansible_version.major >= 2 - ansible_version.major >= 2
- ansible_version.minor >= 10 - ansible_version.minor >= 10
msg: "The ansible version has to be at least ({{ ansible_version.full }})" msg: "The ansible version has to be at least ({{ ansible_version.full }})"
- name: "Import autodiscover pre-tasks"
include_tasks: tasks/autodiscover_pre_tasks.yml
tags:
- always
- name: "Variable <ansible_distribution>" - name: "Variable <ansible_distribution>"
debug: debug:
@ -24,4 +28,8 @@
- name: "Printing ip addresses for {{ inventory_hostname }}" - name: "Printing ip addresses for {{ inventory_hostname }}"
debug: debug:
msg: "{{ stage_server_ip }} / {{ stage_private_server_ip }}" msg: "{{ stage_server_ip }} / {{ stage_private_server_ip }}"
delegate_to: 127.0.0.1 delegate_to: 127.0.0.1
- name: "Printing stage_server_infos"
debug:
msg: "{{ stage_server_infos }}"
delegate_to: 127.0.0.1

@ -59,77 +59,6 @@
tags: tags:
- update_config - update_config
- name: "Reading current server groups from hetzner"
include_role:
name: hcloud
tasks_from: _read_server_names
with_items: [
{
name: "all",
label_selector: "stage={{ stage }}",
},
{
name: "awx",
label_selector: "stage={{ stage }},service=awx",
},
{
name: "connect",
label_selector: "stage={{ stage }},service=connect",
},
{
name: "elastic",
label_selector: "stage={{ stage }},service=elastic",
},
{
name: "harbor",
label_selector: "stage={{ stage }},service=harbor",
},
{
name: "iam",
label_selector: "stage={{ stage }},service=iam",
},
{
name: "keycloak",
label_selector: "stage={{ stage }},service=keycloak",
},
{
name: "kibana",
label_selector: "stage={{ stage }},service=kibana",
},
{
name: "logstash",
label_selector: "stage={{ stage }},service=logstash",
},
{
name: "maria",
label_selector: "stage={{ stage }},service=maria",
},
{
name: "mail",
label_selector: "stage={{ stage }},service=mail",
},
{
name: "postfix",
label_selector: "stage={{ stage }},service=postfix",
},
{
name: "postgres",
label_selector: "stage={{ stage }},service=postgres",
},
{
name: "webdav",
label_selector: "stage={{ stage }},service=webdav",
},
{
name: "gitea",
label_selector: "stage={{ stage }},service=gitea",
}
]
loop_control:
loop_var: current_server_group
tags:
- update_config
- name: "Deploy service templates for {{ inventory_hostname }}" - name: "Deploy service templates for {{ inventory_hostname }}"
include_role: include_role:
name: _deploy name: _deploy

@ -49,13 +49,13 @@ scrape_configs:
metrics_path: '/metrics' metrics_path: '/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_all | default([]) %} {% for server_info in stage_server_infos | default([]) %}
{% if {% if
(hostvars[host].traefik_enabled is defined (hostvars[server_info.name].traefik_enabled is defined
and hostvars[host].traefik_enabled) and hostvars[server_info.name].traefik_enabled)
or (hostvars[host].traefik_enabled is not defined) or (hostvars[server_info.name].traefik_enabled is not defined)
%} %}
'{{ host }}.{{ domain }}:{{ admin_port_service }}', '{{ server_info.name }}.{{ domain }}:{{ admin_port_service }}',
{% endif %} {% endif %}
{% endfor %} {% endfor %}
] ]
@ -77,8 +77,10 @@ scrape_configs:
static_configs: static_configs:
# Scrape metrics from the Harbor exporter component # Scrape metrics from the Harbor exporter component
- targets: [ - targets: [
{% for host in server_group_names_harbor | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ monitor_port_harbor }}', {% if server_info.service == 'harbor' %}
'{{ server_info.name }}.{{ domain }}:{{ monitor_port_harbor }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -99,8 +101,10 @@ scrape_configs:
comp: ['core'] comp: ['core']
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_harbor | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ monitor_port_harbor }}', {% if server_info.service == 'harbor' %}
'{{ server_info.name }}.{{ domain }}:{{ monitor_port_harbor }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -121,8 +125,10 @@ scrape_configs:
comp: ['registry'] comp: ['registry']
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_harbor | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ monitor_port_harbor }}', {% if server_info.service == 'harbor' %}
'{{ server_info.name }}.{{ domain }}:{{ monitor_port_harbor }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -145,8 +151,10 @@ scrape_configs:
password: {{ awx_admin_password }} password: {{ awx_admin_password }}
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_awx | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ monitor_port_awx }}', {% if server_info.service == 'awx' %}
'{{ server_info.name }}.{{ domain }}:{{ monitor_port_awx }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -166,8 +174,10 @@ scrape_configs:
metrics_path: '/management/prometheus' metrics_path: '/management/prometheus'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_connect | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}-connect.{{ domain }}:{{ admin_port_service }}', {% if server_info.service == 'connect' %}
'{{ server_info.name }}-connect.{{ domain }}:{{ admin_port_service }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -185,8 +195,10 @@ scrape_configs:
metrics_path: '/management/prometheus' metrics_path: '/management/prometheus'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_iam | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ admin_port_service }}', {% if server_info.service == 'iam' %}
'{{ server_info.name }}.{{ domain }}:{{ admin_port_service }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -204,8 +216,10 @@ scrape_configs:
metrics_path: '/management/prometheus' metrics_path: '/management/prometheus'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_webdav | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ admin_port_service }}', {% if server_info.service == 'webdav' %}
'{{ server_info.name }}.{{ domain }}:{{ admin_port_service }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -225,8 +239,10 @@ scrape_configs:
metrics_path: '/auth/realms/master/metrics' metrics_path: '/auth/realms/master/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_keycloak| default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}', {% if server_info.service == 'keycloak' %}
'{{ server_info.name }}.{{ domain }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -246,8 +262,10 @@ scrape_configs:
metrics_path: '/metrics' metrics_path: '/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_gitea| default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ admin_port_service }}', {% if server_info.service == 'gitea' %}
'{{ server_info.name }}.{{ domain }}:{{ admin_port_service }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -269,13 +287,13 @@ scrape_configs:
metrics_path: '/metrics' metrics_path: '/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_all | default([]) %} {% for server_info in stage_server_infos | default([]) %}
{% if {% if
(hostvars[host].node_exporter_enabled is defined (hostvars[server_info.name].node_exporter_enabled is defined
and hostvars[host].node_exporter_enabled) and hostvars[server_info.name].node_exporter_enabled)
or (hostvars[host].node_exporter_enabled is not defined) or (hostvars[server_info.name].node_exporter_enabled is not defined)
%} %}
'{{ (stage_server_infos | selectattr("name", "equalto", host) | first).private_ip }}:{{ monitor_port_system }}!{{ host }}.{{ domain }}', '{{ server_info.private_ip }}:{{ monitor_port_system }}!{{ server_info.name }}.{{ domain }}',
{% endif %} {% endif %}
{% endfor %} {% endfor %}
] ]
@ -304,8 +322,10 @@ scrape_configs:
metrics_path: '/metrics' metrics_path: '/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_elastic | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ host }}.{{ domain }}:{{ monitor_port_elastic }}', {% if server_info.service == 'elastic' %}
'{{ server_info.name }}.{{ domain }}:{{ monitor_port_elastic }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -325,8 +345,10 @@ scrape_configs:
metrics_path: '/metrics' metrics_path: '/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_postgres | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ (stage_server_infos | selectattr("name", "equalto", host) | first).private_ip }}:{{ monitor_port_postgres }}!{{ host }}.{{ domain }}', {% if server_info.service == 'postgres' %}
'{{ server_info.private_ip }}:{{ monitor_port_system }}!{{ server_info.name }}.{{ domain }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:
@ -350,8 +372,10 @@ scrape_configs:
metrics_path: '/metrics' metrics_path: '/metrics'
static_configs: static_configs:
- targets: [ - targets: [
{% for host in server_group_names_maria | default([]) %} {% for server_info in stage_server_infos | default([]) %}
'{{ (stage_server_infos | selectattr("name", "equalto", host) | first).private_ip }}:{{ monitor_port_maria }}!{{ host }}.{{ domain }}', {% if server_info.service == 'maria' %}
'{{ server_info.private_ip }}:{{ monitor_port_system }}!{{ server_info.name }}.{{ domain }}',
{% endif %}
{% endfor %} {% endfor %}
] ]
labels: labels:

Loading…
Cancel
Save