feat: add blackbox monitoring and app3 deployment
- Add blackbox exporter role and playbooks - Add cadvisor, docker, httpbin roles - Add app3 deployment playbooks - Configure blackbox monitoring
This commit is contained in:
51
roles/cadvisor/tasks/main.yml
Normal file
51
roles/cadvisor/tasks/main.yml
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
- name: Ensure cAdvisor container is running
|
||||
community.docker.docker_container:
|
||||
name: "{{ cadvisor_container_name }}"
|
||||
image: "{{ cadvisor_image }}"
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
ports:
|
||||
- "{{ cadvisor_port }}:8080"
|
||||
volumes:
|
||||
- "/:/rootfs:ro"
|
||||
- "/var/run:/var/run:ro"
|
||||
- "/sys:/sys:ro"
|
||||
- "/var/lib/docker/:/var/lib/docker:ro"
|
||||
- "/dev/disk/:/dev/disk:ro"
|
||||
privileged: true
|
||||
devices:
|
||||
- "/dev/kmsg:/dev/kmsg"
|
||||
tags: cadvisor
|
||||
|
||||
- name: Configure UFW for cAdvisor
|
||||
ufw:
|
||||
rule: allow
|
||||
port: "{{ cadvisor_port }}"
|
||||
proto: tcp
|
||||
comment: "cAdvisor metrics"
|
||||
tags: cadvisor
|
||||
|
||||
- name: Wait for cAdvisor to be ready
|
||||
wait_for:
|
||||
port: "{{ cadvisor_port }}"
|
||||
host: "{{ ansible_host }}"
|
||||
delay: 2
|
||||
timeout: 60
|
||||
tags: cadvisor
|
||||
|
||||
- name: Verify cAdvisor is accessible
|
||||
uri:
|
||||
url: "http://{{ ansible_host }}:{{ cadvisor_port }}/metrics"
|
||||
return_content: true
|
||||
status_code: 200
|
||||
register: cadvisor_check
|
||||
until: cadvisor_check.status == 200
|
||||
retries: 5
|
||||
delay: 3
|
||||
tags: cadvisor
|
||||
|
||||
- name: Show cAdvisor status
|
||||
debug:
|
||||
msg: "cAdvisor successfully deployed at http://{{ ansible_host }}:{{ cadvisor_port }}/metrics"
|
||||
tags: cadvisor
|
||||
Reference in New Issue
Block a user