- /roles/loki/tasks/main.yml - /roles/loki/templates/loki-config.yml.j2 - /roles/loki/templates/promtail-config.yml.j2 - /roles/loki/templates/docker-compose.yml.j2 - /roles/loki/handlers/main.yml - /roles/grafana/templates/loki-datasource.yml.j2 - /roles/grafana/templates/docker-compose.yml.j2 - /roles/grafana/tasks/main.yml - /group_vars/all.yml - /olimp-deploy.yml
72 lines
1.8 KiB
YAML
72 lines
1.8 KiB
YAML
---
|
|
- name: Create Grafana directory structure
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: 472
|
|
group: 472
|
|
mode: '0755'
|
|
loop:
|
|
- "{{ grafana_base_dir }}"
|
|
- "{{ grafana_data_dir }}"
|
|
- "{{ grafana_config_dir }}"
|
|
- "{{ grafana_vm_data_dir }}"
|
|
- "{{ grafana_vmagent_tmp_dir | dirname }}" # создаёт /mnt/grafana/vmagent
|
|
|
|
- name: Deploy vmagent configuration
|
|
template:
|
|
src: vmagent.yaml.j2
|
|
dest: "{{ grafana_vmagent_config }}"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
become: yes
|
|
notify: restart vmagent
|
|
|
|
- name: Deploy Grafana docker-compose.yml
|
|
ansible.builtin.template:
|
|
src: docker-compose.yml.j2
|
|
dest: "{{ grafana_base_dir }}/docker-compose.yml"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
|
|
- name: Start Grafana services
|
|
ansible.builtin.shell: |
|
|
cd "{{ grafana_base_dir }}"
|
|
docker compose up -d
|
|
args:
|
|
executable: /bin/bash
|
|
register: grafana_up
|
|
changed_when: "'Started' in grafana_up.stdout or 'Recreated' in grafana_up.stdout"
|
|
|
|
- name: Wait for services to start
|
|
ansible.builtin.pause:
|
|
seconds: 20
|
|
|
|
- name: Check Grafana container status
|
|
ansible.builtin.shell: docker ps --filter name=grafana
|
|
register: grafana_status
|
|
changed_when: false
|
|
|
|
- name: Show Grafana status
|
|
ansible.builtin.debug:
|
|
var: grafana_status.stdout_lines
|
|
|
|
- name: Ensure datasources directory exists
|
|
ansible.builtin.file:
|
|
path: "{{ grafana_config_dir }}/datasources"
|
|
state: directory
|
|
owner: 472
|
|
group: 472
|
|
mode: '0755'
|
|
become: yes
|
|
|
|
- name: Deploy Loki datasource configuration
|
|
template:
|
|
src: loki-datasource.yml.j2
|
|
dest: "{{ grafana_config_dir }}/datasources/loki.yml"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
become: yes |