From 0363813807d1de38dc71f715f7aca80af6635c87 Mon Sep 17 00:00:00 2001 From: cuqmbr Date: Thu, 3 Jul 2025 18:45:49 +0300 Subject: [PATCH] change grafana_loki role variable structure --- .../common/group_vars/monitoring.yml | 64 ++--------- ansible/roles/grafana_loki/defaults/main.yml | 100 ++++++++---------- ansible/roles/grafana_loki/tasks/main.yml | 6 ++ .../roles/grafana_loki/templates/loki.yml.j2 | 2 +- 4 files changed, 62 insertions(+), 110 deletions(-) diff --git a/ansible/inventories/common/group_vars/monitoring.yml b/ansible/inventories/common/group_vars/monitoring.yml index 151de9d..5cbfa0c 100644 --- a/ansible/inventories/common/group_vars/monitoring.yml +++ b/ansible/inventories/common/group_vars/monitoring.yml @@ -243,62 +243,14 @@ prometheus_alerting_rules: description: "Clock not synchronising. Ensure NTP is configured on this host.\n VALUE = {{'{{'}} $value {{'}}'}}\n LABELS = {{'{{'}} $labels {{'}}'}}" - -loki_options: - auth_enabled: false - - server: - http_listen_port: 3100 - grpc_listen_port: 9096 - log_level: info - grpc_server_max_concurrent_streams: 1000 - - common: - instance_addr: 127.0.0.1 - path_prefix: /tmp/loki - storage: - filesystem: - chunks_directory: /tmp/loki/chunks - rules_directory: /tmp/loki/rules - replication_factor: 1 - ring: - kvstore: - store: inmemory - - query_range: - results_cache: - cache: - embedded_cache: - enabled: true - max_size_mb: 100 - - limits_config: - metric_aggregation_enabled: true - - schema_config: - configs: - - from: 2020-10-24 - store: tsdb - object_store: filesystem - schema: v13 - index: - prefix: index_ - period: 24h - - pattern_ingester: - enabled: true - metric_aggregation: - loki_address: localhost:3100 - - ruler: - alertmanager_url: http://localhost:9093 - - frontend: - encoding: protobuf - - analytics: - reporting_enabled: false - +loki_settings: + config: + auth_enabled: false + server: + http_listen_port: 3100 + log_level: info + pattern_ingester: + enabled: true fluentbit_settings: diff --git a/ansible/roles/grafana_loki/defaults/main.yml b/ansible/roles/grafana_loki/defaults/main.yml index 3571e45..c480b8f 100644 --- a/ansible/roles/grafana_loki/defaults/main.yml +++ b/ansible/roles/grafana_loki/defaults/main.yml @@ -1,56 +1,50 @@ --- -loki_options: - auth_enabled: false +loki_settings: - server: - http_listen_port: 3100 - grpc_listen_port: 9096 - log_level: debug - grpc_server_max_concurrent_streams: 1000 - - common: - instance_addr: 127.0.0.1 - path_prefix: /tmp/loki - storage: - filesystem: - chunks_directory: /tmp/loki/chunks - rules_directory: /tmp/loki/rules - replication_factor: 1 - ring: - kvstore: - store: inmemory - - query_range: - results_cache: - cache: - embedded_cache: - enabled: true - max_size_mb: 100 - - limits_config: - metric_aggregation_enabled: true - - schema_config: - configs: - - from: 2020-10-24 - store: tsdb - object_store: filesystem - schema: v13 - index: - prefix: index_ - period: 24h - - pattern_ingester: - enabled: true - metric_aggregation: - loki_address: localhost:3100 - - ruler: - alertmanager_url: http://localhost:9093 - - frontend: - encoding: protobuf - - analytics: - reporting_enabled: false +loki_default_settings: + config: + auth_enabled: false + server: + http_listen_port: 3100 + grpc_listen_port: 9096 + log_level: debug + grpc_server_max_concurrent_streams: 1000 + common: + instance_addr: 127.0.0.1 + path_prefix: /tmp/loki + storage: + filesystem: + chunks_directory: /tmp/loki/chunks + rules_directory: /tmp/loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + query_range: + results_cache: + cache: + embedded_cache: + enabled: true + max_size_mb: 100 + limits_config: + metric_aggregation_enabled: true + schema_config: + configs: + - from: '2020-10-24' + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h + pattern_ingester: + enabled: true + metric_aggregation: + loki_address: localhost:3100 + ruler: + alertmanager_url: http://localhost:9093 + frontend: + encoding: protobuf + analytics: + reporting_enabled: false diff --git a/ansible/roles/grafana_loki/tasks/main.yml b/ansible/roles/grafana_loki/tasks/main.yml index 83b6c1f..4469c07 100644 --- a/ansible/roles/grafana_loki/tasks/main.yml +++ b/ansible/roles/grafana_loki/tasks/main.yml @@ -1,5 +1,11 @@ --- +- name: Combine default and user settings, decrypt vault. + ansible.builtin.set_fact: + loki_settings: "{{ loki_default_settings | + ansible.builtin.combine(loki_settings, recursive=true) }}" + no_log: true + - name: Install Grafana Loki from mirror. ansible.builtin.apt: deb: "https://github.com/grafana/loki/releases\ diff --git a/ansible/roles/grafana_loki/templates/loki.yml.j2 b/ansible/roles/grafana_loki/templates/loki.yml.j2 index 069d544..48569ef 100644 --- a/ansible/roles/grafana_loki/templates/loki.yml.j2 +++ b/ansible/roles/grafana_loki/templates/loki.yml.j2 @@ -1,4 +1,4 @@ --- # Managed with Ansible -{{ loki_options | ansible.builtin.to_nice_yaml(indent=2, width=80) }} +{{ loki_settings.config | ansible.builtin.to_nice_yaml(indent=2, width=80) }}