Update 2 files

- /group_vars/all.yml
- /roles/cadvisor/tasks/main.yml
This commit is contained in:
Administrator 2025-11-20 10:41:55 +00:00
parent 484f195cac
commit 89832f1252
2 changed files with 58 additions and 11 deletions

View File

@ -21,13 +21,7 @@ monitoring_groups:
# Все серверы с node_exporter # Все серверы с node_exporter
node_exporter_servers: node_exporter_servers:
- "{{ server_ips.olimp }}" - "{{ server_ips.olimp }}"
- "{{ server_ips.gateway }}"
- "{{ server_ips.data }}"
- "{{ server_ips.media }}"
- "{{ server_ips.photo }}"
- "{{ server_ips.nextcloud }}" - "{{ server_ips.nextcloud }}"
- "{{ server_ips.talk }}"
- "{{ server_ips.games }}"
- "{{ server_ips.manage }}" - "{{ server_ips.manage }}"
# Серверы с Docker (cAdvisor) # Серверы с Docker (cAdvisor)

View File

@ -5,7 +5,7 @@
ignore_errors: yes ignore_errors: yes
changed_when: false changed_when: false
- name: Install cAdvisor (only on Docker hosts) - name: Install cAdvisor
block: block:
- name: Create cAdvisor directories - name: Create cAdvisor directories
file: file:
@ -17,6 +17,16 @@
- "{{ cadvisor_config_dir }}" - "{{ cadvisor_config_dir }}"
become: yes become: yes
- name: Check if port {{ cadvisor_port }} is available
wait_for:
host: localhost
port: "{{ cadvisor_port }}"
state: stopped
timeout: 5
ignore_errors: yes
register: port_check
become: no
- name: Deploy cAdvisor docker-compose - name: Deploy cAdvisor docker-compose
template: template:
src: docker-compose.yml.j2 src: docker-compose.yml.j2
@ -26,6 +36,13 @@
mode: '0644' mode: '0644'
become: yes become: yes
- name: Stop existing cAdvisor container
community.docker.docker_compose_v2:
project_src: "{{ cadvisor_base_dir }}"
state: absent
become: yes
ignore_errors: yes
- name: Run cAdvisor container - name: Run cAdvisor container
community.docker.docker_compose_v2: community.docker.docker_compose_v2:
project_src: "{{ cadvisor_base_dir }}" project_src: "{{ cadvisor_base_dir }}"
@ -35,24 +52,60 @@
- name: Wait for cAdvisor to start - name: Wait for cAdvisor to start
wait_for: wait_for:
host: localhost host: localhost
port: 8080 port: "{{ cadvisor_port }}"
timeout: 30 timeout: 30
state: started state: started
become: no
- name: Check cAdvisor container status
community.docker.docker_container_info:
name: cadvisor
register: container_info
become: yes become: yes
- name: Verify cAdvisor is responding - name: Verify cAdvisor is responding
uri: uri:
url: "http://localhost:8080/metrics" url: "http://localhost:{{ cadvisor_port }}/metrics"
status_code: 200 status_code: 200
timeout: 10 timeout: 10
register: cadvisor_check register: cadvisor_check
become: yes become: no
- name: Show cAdvisor status - name: Show cAdvisor status
debug: debug:
msg: "cAdvisor is running and responding on port {{ cadvisor_internal_port }}" msg: "cAdvisor is running and responding on port {{ cadvisor_port }}"
when: cadvisor_check.status == 200 when: cadvisor_check.status == 200
rescue:
- name: Get cAdvisor container logs
community.docker.docker_container_logs:
name: cadvisor
tail: 50
register: cadvisor_logs
become: yes
- name: Display cAdvisor logs for debugging
debug:
var: cadvisor_logs.log
when: cadvisor_logs is defined
- name: Check running containers
command: docker ps -a
register: docker_ps
become: yes
- name: Display running containers
debug:
var: docker_ps.stdout
when: docker_ps is defined
- name: Fail with detailed error message
fail:
msg: |
cAdvisor не удалось запустить {{ inventory_hostname }}.
Порт {{ cadvisor_port }} может использоваться или контейнер выходит из строя.
Подробности смотрите в журналах выше.
when: when:
- docker_check.rc == 0 - docker_check.rc == 0
- cadvisor_enabled | default(true) - cadvisor_enabled | default(true)