You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
5.5 KiB
Django/Jinja
202 lines
5.5 KiB
Django/Jinja
# my global config
|
|
global:
|
|
scrape_interval: 15s # By default, scrape targets every 15 seconds.
|
|
evaluation_interval: 15s # By default, scrape targets every 15 seconds.
|
|
# scrape_timeout is set to the global default (10s).
|
|
|
|
# Attach these labels to any time series or alerts when communicating with
|
|
# external systems (federation, remote storage, Alertmanager).
|
|
external_labels:
|
|
monitor: '{{ stage_server_name }}'
|
|
|
|
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
|
|
rule_files:
|
|
- 'alert.rules'
|
|
|
|
# alert
|
|
alerting:
|
|
alertmanagers:
|
|
- scheme: http
|
|
static_configs:
|
|
- targets:
|
|
- "{{ service_name }}-alertmanager:9093"
|
|
|
|
# A scrape configuration containing exactly one endpoint to scrape:
|
|
# Here it's Prometheus itself.
|
|
scrape_configs:
|
|
|
|
##############################################
|
|
### Apllications ####
|
|
##############################################
|
|
|
|
- job_name: 'prometheus'
|
|
static_configs:
|
|
- targets: [
|
|
'{{ service_name }}-prometheus:9090'
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: smardigo
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: instance
|
|
replacement: 'prometheus.{{ domain }}'
|
|
|
|
##############################################
|
|
|
|
- job_name: 'traefik'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/metrics'
|
|
static_configs:
|
|
- targets: [
|
|
{% for host in groups['all'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:{{ monitor_port_service }}',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: smardigo
|
|
application: traefik
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|
|
|
|
##############################################
|
|
|
|
- job_name: 'harbor-exporter'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/metrics'
|
|
static_configs:
|
|
# Scrape metrics from the Harbor exporter component
|
|
- targets: [
|
|
{% for host in groups['harbor'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:{{ monitor_port_harbor }}',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: harbor
|
|
application: harbor-exporter
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|
|
|
|
- job_name: 'harbor-core'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/metrics'
|
|
params:
|
|
# Scrape metrics from the Harbor core component
|
|
comp: ['core']
|
|
static_configs:
|
|
- targets: [
|
|
{% for host in groups['harbor'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:{{ monitor_port_harbor }}',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: harbor
|
|
application: harbor-core
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|
|
|
|
- job_name: 'harbor-registry'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/metrics'
|
|
params:
|
|
# Scrape metrics from the Harbor registry component
|
|
comp: ['registry']
|
|
static_configs:
|
|
- targets: [
|
|
{% for host in groups['harbor'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:{{ monitor_port_harbor }}',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: harbor
|
|
application: harbor-registry
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|
|
|
|
##############################################
|
|
|
|
- job_name: 'connect'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/management/prometheus'
|
|
static_configs:
|
|
- targets: [
|
|
{% for host in groups['connect'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:{{ monitor_port_service }}',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: smardigo
|
|
application: connect
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|
|
|
|
##############################################
|
|
### Servers ####
|
|
##############################################
|
|
|
|
- job_name: 'node-exporter'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/metrics'
|
|
static_configs:
|
|
- targets: [
|
|
{% for host in groups['stage_dev'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:{{ monitor_port_system }}',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: smardigo
|
|
relabel_configs:
|
|
- source_labels: [job]
|
|
target_label: job
|
|
replacement: 'node-exporter'
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|
|
|
|
##############################################
|
|
### Databases ####
|
|
##############################################
|
|
|
|
- job_name: 'elasticsearch-exporter'
|
|
scheme: {{ http_s }}
|
|
metrics_path: '/metrics'
|
|
static_configs:
|
|
- targets: [
|
|
{% for host in groups['elastic'] | default([]) %}
|
|
'{{ host }}.{{ domain }}:9083',
|
|
{% endfor %}
|
|
]
|
|
labels:
|
|
env: {{ stage }}
|
|
project: smardigo
|
|
relabel_configs:
|
|
- source_labels: [job]
|
|
target_label: job
|
|
replacement: 'elasticsearch-exporter'
|
|
- source_labels: [__address__]
|
|
regex: (.*):.*
|
|
target_label: instance
|
|
replacement: $1
|