--- - 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