1 Commits
main ... rose

Author SHA1 Message Date
Robert Ose
9f7e6db261 test 2025-12-17 12:53:48 +01:00
8 changed files with 47 additions and 95 deletions

View File

@@ -38,8 +38,6 @@ jobs:
apt-get update && apt-get install -y python3 python3-pip openssh-client bash git apt-get update && apt-get install -y python3 python3-pip openssh-client bash git
pip3 install --upgrade pip pip3 install --upgrade pip
pip3 install ansible pip3 install ansible
ansible-galaxy collection install community.docker:">=3.5.0"
- name: Setup SSH - name: Setup SSH
shell: bash shell: bash

View File

@@ -13,7 +13,7 @@
update_cache: true update_cache: true
- name: Install Docker - name: Install Docker
shell: curl -fsSL https://get.docker.com | bash shell: curl -fsSL https://get.docker.com | sh
args: args:
creates: /usr/bin/docker creates: /usr/bin/docker

View File

@@ -1,33 +1,21 @@
---
- hosts: all - hosts: all
become: true become: true
vars: vars:
monitor_dir: /opt/docker/monitoring monitor_dir: /opt/docker/monitoring
docker_network: monitoring
tasks: tasks:
- name: Ensure monitoring directory exists - name: Create monitoring directory
file: file:
path: "{{ monitor_dir }}" path: "{{ monitor_dir }}"
state: directory state: directory
owner: root
group: root
mode: '0755'
- name: Copy monitoring stack - name: Copy monitoring stack
copy: copy:
src: ../../docker/monitoring/ src: ../../docker/monitoring/
dest: "{{ monitor_dir }}" dest: "{{ monitor_dir }}"
owner: root
group: root
mode: '0755'
- name: Ensure monitoring Docker network exists - name: Start monitoring
docker_network: command: docker compose up -d
name: "{{ docker_network }}" args:
state: present chdir: "{{ monitor_dir }}"
- name: Start monitoring stack
community.docker.docker_compose_v2:
project_src: "{{ monitor_dir }}"
project_name: monitoring
state: present

View File

@@ -1,11 +0,0 @@
- name: Ensure snake_net exists for monitoring
docker_network:
name: snake_net
state: present
- name: Start monitoring stack
community.docker.docker_compose:
project_src: /opt/docker/monitoring
project_name: monitoring
state: present
restarted: true

View File

@@ -7,7 +7,3 @@ services:
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8080:80" - "8080:80"
networks:
snake_net:
external: true

View File

@@ -8,11 +8,6 @@
group: root group: root
mode: '0755' mode: '0755'
- name: Ensure snake_net exists
docker_network:
name: snake_net
state: present
# Login to private registry # Login to private registry
- name: Login to private registry - name: Login to private registry
docker_login: docker_login:
@@ -36,8 +31,6 @@
ports: ports:
- "8080:80" # host port → container port - "8080:80" # host port → container port
pull: yes pull: yes
networks:
- name: snake_net

View File

@@ -1,43 +1,45 @@
---
version: '3.8' version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yaml:/etc/prometheus/prometheus.yml:ro
ports:
- "9090:9090"
networks:
- snake_net
restart: unless-stopped
nginx-prometheus-exporter:
image: nginx/nginx-prometheus-exporter:latest
container_name: nginx-prometheus-exporter
ports:
- "9113:9113"
environment:
- NGINX_STATUS_URL=http://nginx:8081/status
networks:
- snake_net
grafana:
image: grafana/grafana:latest
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning:ro
- grafana_data:/var/lib/grafana
environment:
GF_SECURITY_ADMIN_PASSWORD: "admin"
GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH: /var/lib/grafana/dashboards/home.json
ports:
- "3000:3000"
networks:
- snake_net
restart: unless-stopped
volumes:
grafana_data:
networks: networks:
snake_net: snake_net:
external: true external: true
services:
prometheus:
image: prom/prometheus:latest
container_name: monitoring-prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yaml:/etc/prometheus/prometheus.yml
networks:
- snake_net
grafana:
image: grafana/grafana:latest
container_name: monitoring-grafana
ports:
- "3000:3000"
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/dashboards:/var/lib/grafana/dashboards
networks:
- snake_net
nginx-exporter:
image: nginx/nginx-prometheus-exporter:latest
container_name: nginx-exporter
ports:
- "9113:9113"
networks:
- snake_net
blackbox-exporter:
image: prom/blackbox-exporter:latest
container_name: blackbox-exporter
ports:
- "9115:9115"
networks:
- snake_net

View File

@@ -10,17 +10,3 @@ scrape_configs:
- job_name: 'nginx' - job_name: 'nginx'
static_configs: static_configs:
- targets: ['nginx-prometheus-exporter:9113'] - targets: ['nginx-prometheus-exporter:9113']
- job_name: 'snake-game'
metrics_path: /probe
params:
module: [http_2xx] # probe returns 1 if HTTP 200
static_configs:
- targets: ['snake-game:8080'] # snake game container + port
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter:9115