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
This commit is contained in:
Julian Rother 2024-11-02 01:57:10 +01:00
parent dfa8092538
commit c236bb61a4
No known key found for this signature in database
GPG key ID: 8F9B6AE9BAAE4899
3 changed files with 27 additions and 10 deletions

View file

@ -13,9 +13,9 @@
name: prometheus-blackbox-exporter name: prometheus-blackbox-exporter
state: restarted state: restarted
- name: restart grafana-promtail - name: restart promtail
service: service:
name: grafana-promtail name: promtail
state: restarted state: restarted
- name: restart snmp exporter - name: restart snmp exporter

View file

@ -180,20 +180,37 @@
dest: /etc/prometheus/conf.d/rule_files/agent_{{ inventory_hostname }}.conf dest: /etc/prometheus/conf.d/rule_files/agent_{{ inventory_hostname }}.conf
mode: 0644 mode: 0644
- name: handle grafana-promtail - name: handle promtail
when: prometheus_agent.agents.promtail.enable when: prometheus_agent.agents.promtail.enable
block: 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 - name: install promtail
apt: apt:
pkg: grafana-promtail pkg: promtail
- name: write promtail config - name: write promtail config
notify: restart grafana-promtail notify: restart promtail
template: template:
owner: grafana-promtail owner: promtail
group: grafana-promtail group: root
mode: 0640 mode: 0640
dest: /etc/grafana-promtail.yml dest: /etc/promtail/config.yml
src: grafana-promtail.yml.j2 src: promtail.yml.j2
- name: create node-exporter-textfile group - name: create node-exporter-textfile group
ansible.builtin.group: ansible.builtin.group:

View file

@ -4,7 +4,7 @@ server:
grpc_listen_port: 0 grpc_listen_port: 0
positions: positions:
filename: /var/lib/grafana-promtail/positions.yaml filename: /var/lib/promtail/positions.yaml
clients: clients:
{% for i in prometheus_agent.scrapers if prometheus_agent.scrapers[i].get("loki") %} {% for i in prometheus_agent.scrapers if prometheus_agent.scrapers[i].get("loki") %}