From c236bb61a463243cea2825479183772cb44ceb92 Mon Sep 17 00:00:00 2001 From: Julian Rother Date: Sat, 2 Nov 2024 01:57:10 +0100 Subject: [PATCH] Use Grafana's upstream Debian packages for promtail Migration playbook: - name: Cleanup old promtail install hosts: all tasks: - name: Stop and disable old service when: prometheus_agent.agents.promtail.enable service: name: grafana-promtail state: stopped enabled: false - name: Migrate state dir when: prometheus_agent.agents.promtail.enable copy: src: /var/lib/grafana-promtail/ dest: /var/lib/promtail/ remote_src: yes - name: Uninstall old package when: prometheus_agent.agents.promtail.enable apt: name: grafana-promtail state: absent purge: true # Removes user, group and /var/lib/grafana-promtail - name: create promtail group when: prometheus_agent.agents.promtail.enable group: name: promtail system: true - name: create promtail user when: prometheus_agent.agents.promtail.enable user: name: promtail system: true group: promtail home: /var/lib/promtail - name: Fix state dir owner and group when: prometheus_agent.agents.promtail.enable file: name: /var/lib/promtail/ state: directory recurse: true owner: promtail group: promtail --- handlers/main.yml | 4 +-- tasks/main.yml | 31 ++++++++++++++----- ...rafana-promtail.yml.j2 => promtail.yml.j2} | 2 +- 3 files changed, 27 insertions(+), 10 deletions(-) rename templates/{grafana-promtail.yml.j2 => promtail.yml.j2} (95%) diff --git a/handlers/main.yml b/handlers/main.yml index c89ae71..885084d 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -13,9 +13,9 @@ name: prometheus-blackbox-exporter state: restarted -- name: restart grafana-promtail +- name: restart promtail service: - name: grafana-promtail + name: promtail state: restarted - name: restart snmp exporter diff --git a/tasks/main.yml b/tasks/main.yml index df250c8..6a46a2e 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -180,20 +180,37 @@ dest: /etc/prometheus/conf.d/rule_files/agent_{{ inventory_hostname }}.conf mode: 0644 -- name: handle grafana-promtail +- name: handle promtail when: prometheus_agent.agents.promtail.enable block: + - name: setup grafana repo key for promtail + apt_key: + url: "https://apt.grafana.com/gpg.key" + - name: setup grafana repo for promtail + apt_repository: + repo: "deb https://apt.grafana.com stable main" + - name: create promtail group + group: + name: promtail + system: true + - name: create promtail user + user: + name: promtail + system: true + group: promtail + groups: adm + home: /var/lib/promtail - name: install promtail apt: - pkg: grafana-promtail + pkg: promtail - name: write promtail config - notify: restart grafana-promtail + notify: restart promtail template: - owner: grafana-promtail - group: grafana-promtail + owner: promtail + group: root mode: 0640 - dest: /etc/grafana-promtail.yml - src: grafana-promtail.yml.j2 + dest: /etc/promtail/config.yml + src: promtail.yml.j2 - name: create node-exporter-textfile group ansible.builtin.group: diff --git a/templates/grafana-promtail.yml.j2 b/templates/promtail.yml.j2 similarity index 95% rename from templates/grafana-promtail.yml.j2 rename to templates/promtail.yml.j2 index 1c78ef3..16d8ebb 100644 --- a/templates/grafana-promtail.yml.j2 +++ b/templates/promtail.yml.j2 @@ -4,7 +4,7 @@ server: grpc_listen_port: 0 positions: - filename: /var/lib/grafana-promtail/positions.yaml + filename: /var/lib/promtail/positions.yaml clients: {% for i in prometheus_agent.scrapers if prometheus_agent.scrapers[i].get("loki") %}