Files
ansible-config/playbooks/monitoring/install_grafana_final.yml

48 lines
1.9 KiB
YAML

---
- name: Install and configure Grafana (with health checks)
hosts: grafana
become: yes
vars:
grafana_version: "12.3.2"
grafana_admin_password: "admin"
tasks:
- name: Include Grafana role
include_role:
name: grafana
- name: Final verification from control node
delegate_to: localhost
run_once: yes
block:
- name: Wait for Grafana to be fully ready
pause:
seconds: 30
prompt: "Waiting for Grafana to complete initialization..."
- name: Test Grafana access from control node
uri:
url: "http://{{ hostvars[groups['grafana'][0]]['ansible_default_ipv4']['address'] | default(groups['grafana'][0]) }}:3000/api/health"
method: GET
status_code: 200
timeout: 30
register: final_check
until: final_check.status == 200
retries: 12 # 12 попыток * 5 секунд = 60 секунд
delay: 5
- name: Display final success message
debug:
msg: |
🎉 Grafana успешно установлена и готова к работе!
Доступ по адресу: http://{{ hostvars[groups['grafana'][0]]['ansible_default_ipv4']['address'] | default(groups['grafana'][0]) }}:3000
Логин: admin
Пароль: {{ grafana_admin_password }}
Для проверки выполните команду:
curl http://{{ hostvars[groups['grafana'][0]]['ansible_default_ipv4']['address'] | default(groups['grafana'][0]) }}:3000/api/health
Или откройте в браузере:
http://{{ hostvars[groups['grafana'][0]]['ansible_default_ipv4']['address'] | default(groups['grafana'][0]) }}:3000