diff options
author | Christian Pointner <equinox@spreadspace.org> | 2024-04-22 19:54:35 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2024-05-05 16:15:46 +0200 |
commit | 320dcc2beb41d6c9db1a76065252634e162c92d4 (patch) | |
tree | 683989bc660468ef9b0a88d91d4a045eba62b72b | |
parent | zimablade is now zimaplayer (diff) |
add loki roles (W.I.P.)topic/loki
-rw-r--r-- | inventory/host_vars/ch-testvm-prometheus.yml | 9 | ||||
-rw-r--r-- | roles/monitoring/loki/promtail/defaults/main.yml | 1 | ||||
-rw-r--r-- | roles/monitoring/loki/promtail/handlers/main.yml | 1 | ||||
-rw-r--r-- | roles/monitoring/loki/promtail/tasks/main.yml | 1 | ||||
-rw-r--r-- | roles/monitoring/loki/server/defaults/main.yml | 54 | ||||
-rw-r--r-- | roles/monitoring/loki/server/handlers/main.yml | 5 | ||||
-rw-r--r-- | roles/monitoring/loki/server/tasks/main.yml | 47 |
7 files changed, 118 insertions, 0 deletions
diff --git a/inventory/host_vars/ch-testvm-prometheus.yml b/inventory/host_vars/ch-testvm-prometheus.yml index 879ef694..bed5a41f 100644 --- a/inventory/host_vars/ch-testvm-prometheus.yml +++ b/inventory/host_vars/ch-testvm-prometheus.yml @@ -37,3 +37,12 @@ network: ntp_variant: systemd-timesyncd sshd_allowusers_host: "{{ normal_users_host | union(admin_users_host) | union(['greenbone']) }}" + +###################################################################### + +loki_storage: + type: lvm + vg: "{{ host_name }}" + lv: loki + size: 2G + fs: ext4 diff --git a/roles/monitoring/loki/promtail/defaults/main.yml b/roles/monitoring/loki/promtail/defaults/main.yml new file mode 100644 index 00000000..ed97d539 --- /dev/null +++ b/roles/monitoring/loki/promtail/defaults/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/monitoring/loki/promtail/handlers/main.yml b/roles/monitoring/loki/promtail/handlers/main.yml new file mode 100644 index 00000000..ed97d539 --- /dev/null +++ b/roles/monitoring/loki/promtail/handlers/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/monitoring/loki/promtail/tasks/main.yml b/roles/monitoring/loki/promtail/tasks/main.yml new file mode 100644 index 00000000..ed97d539 --- /dev/null +++ b/roles/monitoring/loki/promtail/tasks/main.yml @@ -0,0 +1 @@ +--- diff --git a/roles/monitoring/loki/server/defaults/main.yml b/roles/monitoring/loki/server/defaults/main.yml new file mode 100644 index 00000000..d97c323a --- /dev/null +++ b/roles/monitoring/loki/server/defaults/main.yml @@ -0,0 +1,54 @@ +--- +# loki_version: + +# loki_storage: +# type: ... + +loki_http_addr: "" +loki_http_port: 3100 +#loki_http_tls: +# certificate_provider: ... + +loki_grpc_addr: "" +loki_grpc_port: 9096 +#loki_grpc_tls: +# certificate_provider: ... + +loki_config: + auth_enabled: false + analytics: + reporting_enabled: false + + server: + http_listen_address: "{{ loki_http_addr }}" + http_listen_port: "{{ loki_http_port }}" + grpc_listen_address: "{{ loki_grpc_addr }}" + grpc_listen_port: "{{ loki_grpc_port }}" + + common: + instance_addr: 127.0.0.1 + path_prefix: /var/lib/loki + storage: + filesystem: + chunks_directory: /var/lib/loki/chunks + rules_directory: /var/lib/loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + + query_range: + results_cache: + cache: + embedded_cache: + enabled: true + + schema_config: + configs: + - from: 2020-10-24 + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h diff --git a/roles/monitoring/loki/server/handlers/main.yml b/roles/monitoring/loki/server/handlers/main.yml new file mode 100644 index 00000000..6199af48 --- /dev/null +++ b/roles/monitoring/loki/server/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart loki + service: + name: loki + state: restarted diff --git a/roles/monitoring/loki/server/tasks/main.yml b/roles/monitoring/loki/server/tasks/main.yml new file mode 100644 index 00000000..20c821a3 --- /dev/null +++ b/roles/monitoring/loki/server/tasks/main.yml @@ -0,0 +1,47 @@ +--- +- name: add debian repository + include_role: + name: apt-repo/grafana + +- name: generate apt pin file for loki packages + when: loki_version is defined + copy: + dest: "/etc/apt/preferences.d/loki.pref" + content: | + Package: loki logcli + Pin: version {{ loki_version }} + Pin-Priority: 1001 + +- name: remove apt pin file for loki package + when: loki_version is not defined + file: + path: "/etc/apt/preferences.d/loki.pref" + state: absent + +- name: install apt packages + apt: + name: + - "loki{% if loki_version is defined %}={{ loki_version }}{% endif %}" + - "logcli{% if loki_version is defined %}={{ loki_version }}{% endif %}" + state: present + allow_downgrade: yes + +- name: prepare storage volume for /var/lib/loki + when: loki_storage is defined + vars: + storage_volume: "{{ loki_storage | combine({'dest': '/var/lib/loki'}) }}" + include_role: + name: "storage/{{ loki_storage.type }}/volume" + +- name: prepare loki base directory + file: + path: /var/lib/loki + state: directory + owner: loki + mode: 0700 + +- name: make sure loki is enabled and started + systemd: + name: loki + state: started + enabled: yes |