Добавлена установка Grafana: роли, плейбуки и конфигурация

This commit is contained in:
Freazzzing
2026-02-04 02:28:50 +00:00
parent 0abdb8b0a5
commit 17dd0fddff
17 changed files with 745 additions and 0 deletions

View File

@ -0,0 +1,142 @@
---
- name: Debug - Show Grafana version
debug:
msg: "Устанавливаем Grafana версии {{ grafana_version }}"
tags: grafana
- name: Install minimal dependencies
apt:
name:
- curl
- adduser
- libfontconfig1
- tar
- gzip
- procps
state: present
update_cache: yes
tags: grafana
- name: Create Grafana user and group
user:
name: grafana
system: yes
shell: /bin/false
home: /usr/share/grafana
comment: "Grafana Server"
tags: grafana
- name: Create Grafana data/log/config directories
file:
path: "{{ item }}"
state: directory
owner: grafana
group: grafana
mode: '0755'
loop:
- /var/lib/grafana
- /var/log/grafana
- /etc/grafana
tags: grafana
- name: Download Grafana from official site
get_url:
url: "https://dl.grafana.com/oss/release/grafana-{{ grafana_version }}.linux-amd64.tar.gz"
dest: "/tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz"
timeout: 300
validate_certs: no
tags: grafana
- name: Show download info
debug:
msg: "Grafana скачан: /tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz"
tags: grafana
- name: Extract Grafana archive
unarchive:
src: "/tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz"
dest: "/usr/share/"
remote_src: yes
owner: grafana
group: grafana
creates: "/usr/share/grafana-{{ grafana_version }}"
tags: grafana
- name: Remove existing /usr/share/grafana if it exists (cleanup)
file:
path: /usr/share/grafana
state: absent
tags: grafana
- name: Create symlink from extracted version
file:
src: "/usr/share/grafana-{{ grafana_version }}"
dest: "/usr/share/grafana"
state: link
owner: grafana
group: grafana
tags: grafana
- name: Create binary symlinks
file:
src: "/usr/share/grafana/bin/{{ item }}"
dest: "/usr/local/bin/{{ item }}"
state: link
owner: root
group: root
loop:
- grafana-server
- grafana-cli
tags: grafana
- name: Create Grafana configuration directory
file:
path: /etc/grafana
state: directory
owner: grafana
group: grafana
mode: '0755'
tags: grafana
- name: Configure Grafana
template:
src: grafana.ini.j2
dest: /etc/grafana/grafana.ini
owner: grafana
group: grafana
mode: '0644'
notify: restart grafana
tags: grafana
- name: Install systemd service
template:
src: grafana.service.j2
dest: /etc/systemd/system/grafana.service
owner: root
group: root
mode: '0644'
notify: restart grafana
tags: grafana
- name: Reload systemd
systemd:
daemon_reload: yes
tags: grafana
- name: Enable and start Grafana service
systemd:
name: grafana
enabled: yes
state: started
daemon_reload: yes
tags: grafana
- name: Wait and verify Grafana is fully operational
include_tasks: wait_and_verify.yml
tags: grafana
- name: Clean up temporary files
file:
path: "/tmp/grafana-{{ grafana_version }}.linux-amd64.tar.gz"
state: absent
tags: grafana