forked from CCCHH/ansible-infra
		
	
		
			
				
	
	
		
			141 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
docker_compose__compose_file_content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/compose.yaml.j2') }}"
 | 
						|
docker_compose__configuration_files:
 | 
						|
  - name: grafana.ini
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/grafana.ini.j2') }}"
 | 
						|
  - name: grafana-datasource.yml
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/grafana-datasource.yml') }}"
 | 
						|
  - name: prometheus.yml
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus.yml') }}"
 | 
						|
  - name: alertmanager.yaml
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/alertmanager.yaml.j2') }}"
 | 
						|
  - name: prometheus_alerts.rules.yaml
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus_alerts.rules.yaml') }}"
 | 
						|
  - name: prometheus_alerts-fux.rules.yaml
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/prometheus_alerts-fux.rules.yaml') }}"
 | 
						|
  - name: alertmanager_alert_templates.tmpl
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/alertmanager_alert_templates.tmpl') }}"
 | 
						|
  - name: loki.yaml
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/docker_compose/loki.yaml') }}"
 | 
						|
  - name: ntfy-alertmanager-ccchh-critical
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh-critical.j2') }}"
 | 
						|
  - name: ntfy-alertmanager-ccchh
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-ccchh.j2') }}"
 | 
						|
  - name: ntfy-alertmanager-fux-critical
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux-critical.j2') }}"
 | 
						|
  - name: ntfy-alertmanager-fux
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/docker_compose/ntfy-alertmanager-fux.j2') }}"
 | 
						|
 | 
						|
certbot__version_spec: ""
 | 
						|
certbot__acme_account_email_address: le-admin@hamburg.ccc.de
 | 
						|
certbot__certificate_domains:
 | 
						|
  - "grafana.hamburg.ccc.de"
 | 
						|
  - "loki.hamburg.ccc.de"
 | 
						|
  - "metrics.hamburg.ccc.de"
 | 
						|
 | 
						|
certbot__new_cert_commands:
 | 
						|
  - "systemctl reload nginx.service"
 | 
						|
 | 
						|
nginx__version_spec: ""
 | 
						|
nginx__deploy_redirect_conf: false
 | 
						|
nginx__deploy_htpasswds: true
 | 
						|
nginx__htpasswds:
 | 
						|
  - name: loki
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/nginx/loki.htpasswd.j2') }}"
 | 
						|
  - name: metrics
 | 
						|
    content: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/grafana/nginx/metrics.htpasswd.j2') }}"
 | 
						|
nginx__configurations:
 | 
						|
  - name: redirectv6
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/redirect.conf') }}"
 | 
						|
  - name: grafana.hamburg.ccc.de
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/grafana.hamburg.ccc.de.conf') }}"
 | 
						|
  - name: loki.hamburg.ccc.de
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/loki.hamburg.ccc.de.conf') }}"
 | 
						|
  - name: metrics.hamburg.ccc.de
 | 
						|
    content: "{{ lookup('ansible.builtin.file', 'resources/chaosknoten/grafana/nginx/metrics.hamburg.ccc.de.conf') }}"
 | 
						|
 | 
						|
 | 
						|
alloy_config: |
 | 
						|
  prometheus.remote_write "default" {
 | 
						|
    endpoint {
 | 
						|
      url = "https://metrics.hamburg.ccc.de/api/v1/write"
 | 
						|
      basic_auth {
 | 
						|
        username = "chaos"
 | 
						|
        password = "{{ secret__metrics_chaos }}"
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
  loki.write "default" {
 | 
						|
    endpoint {
 | 
						|
      url = "https://loki.hamburg.ccc.de/loki/api/v1/push"
 | 
						|
      basic_auth {
 | 
						|
        username = "chaos"
 | 
						|
        password = "{{ secret__loki_chaos }}"
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  loki.relabel "journal" {
 | 
						|
    forward_to = []
 | 
						|
 | 
						|
    rule {
 | 
						|
      source_labels = ["__journal__systemd_unit"]
 | 
						|
      target_label  = "systemd_unit"
 | 
						|
    }
 | 
						|
    rule {
 | 
						|
      source_labels = ["__journal__hostname"]
 | 
						|
      target_label = "instance"
 | 
						|
    }
 | 
						|
    rule {
 | 
						|
      source_labels = ["__journal__transport"]
 | 
						|
      target_label = "systemd_transport"
 | 
						|
    }
 | 
						|
    rule {
 | 
						|
      source_labels = ["__journal_syslog_identifier"]
 | 
						|
      target_label = "syslog_identifier"
 | 
						|
    }
 | 
						|
    rule {
 | 
						|
      source_labels = ["__journal_priority_keyword"]
 | 
						|
      target_label  = "level"
 | 
						|
    }
 | 
						|
    rule {
 | 
						|
      source_labels = ["__journal__hostname"]
 | 
						|
      target_label = "host"
 | 
						|
      regex  = "([^:]+)"
 | 
						|
      replacement = "${1}.hamburg.ccc.de"
 | 
						|
      action = "replace"
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  loki.source.journal "read_journal"  {
 | 
						|
    forward_to    = [loki.write.default.receiver]
 | 
						|
    relabel_rules = loki.relabel.journal.rules
 | 
						|
    format_as_json = true
 | 
						|
    labels        = {component = "loki.source.journal", org = "ccchh"}
 | 
						|
  }
 | 
						|
 | 
						|
  logging {
 | 
						|
    level = "info"
 | 
						|
  }
 | 
						|
  prometheus.exporter.unix "local_system" {
 | 
						|
    enable_collectors = ["systemd"]
 | 
						|
  }
 | 
						|
 | 
						|
  prometheus.relabel "default" {
 | 
						|
    forward_to = [prometheus.remote_write.default.receiver]
 | 
						|
    rule {
 | 
						|
      target_label = "org"
 | 
						|
      replacement = "ccchh"
 | 
						|
    }
 | 
						|
    rule {
 | 
						|
      source_labels = ["instance"]
 | 
						|
      target_label = "host"
 | 
						|
      regex  = "([^:]+)"
 | 
						|
      replacement = "${1}.hamburg.ccc.de"
 | 
						|
      action = "replace"
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  prometheus.scrape "scrape_metrics" {
 | 
						|
    targets           = prometheus.exporter.unix.local_system.targets
 | 
						|
    forward_to        = [prometheus.relabel.default.receiver]
 | 
						|
  }
 |