Files
ansible-config/roles/prometheus/templates/prometheus.yml.j2

81 lines
2.0 KiB
Plaintext
Raw Permalink Normal View History

# Ansible managed - do not edit manually
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'pve-monitoring'
environment: 'production'
prometheus_replica: '{{ ansible_hostname }}'
# Alertmanager configuration (optional)
alerting:
alertmanagers:
- static_configs:
- targets: []
# Load rules once and periodically evaluate them
rule_files:
- "{{ prometheus_config_dir }}/rules/*.yml"
# Remote write to VictoriaMetrics
remote_write:
- url: "{{ victoriametrics_url }}"
queue_config:
max_samples_per_send: 10000
capacity: 20000
max_shards: 30
metadata_config:
send: true
send_interval: 1m
# Scrape configurations
scrape_configs:
# Prometheus self-monitoring
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:{{ prometheus_port }}']
labels:
instance: 'prometheus'
container: 'pvestandt6'
# VictoriaMetrics monitoring
- job_name: 'victoriametrics'
static_configs:
- targets: ['{{ victoriametrics_host }}:{{ victoriametrics_port }}']
labels:
instance: 'victoriametrics'
container: 'pvestandt5'
# Vault metrics
- job_name: 'vault'
metrics_path: '/v1/sys/metrics'
params:
format: ['prometheus']
bearer_token: '{{ vault_token }}'
static_configs:
- targets: ['{{ vault_host }}:{{ vault_port }}']
labels:
instance: 'vault'
container: 'pvestandt4'
# Git/Forgejo metrics
- job_name: 'gitea'
metrics_path: '/metrics'
static_configs:
- targets: ['{{ git_host }}:{{ git_port }}']
labels:
instance: 'git'
container: 'pvestandt1'
# Node exporters - будем добавлять динамически
- job_name: 'node'
static_configs:
{% if node_exporter_targets | length > 0 %}
- targets:
{% for target in node_exporter_targets %}
- {{ target }}:9100
{% endfor %}
{% else %}
- targets: [] # Will be populated after installing node_exporter
{% endif %}