Skip to content

Commit f1df166

Browse files
update
1 parent 5cf7b96 commit f1df166

4 files changed

Lines changed: 193 additions & 0 deletions

File tree

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
# Zadania do konfiguracji monitoringu dla mikrousług llm-orchestrator
3+
- name: Utworzenie katalogu dla monitoringu
4+
file:
5+
path: "{{ project_root }}/monitoring"
6+
state: directory
7+
mode: '0755'
8+
9+
- name: Kopiowanie konfiguracji Prometheus
10+
template:
11+
src: templates/prometheus.yml.j2
12+
dest: "{{ project_root }}/monitoring/prometheus.yml"
13+
14+
- name: Kopiowanie konfiguracji Grafana
15+
template:
16+
src: templates/grafana.ini.j2
17+
dest: "{{ project_root }}/monitoring/grafana.ini"
18+
19+
- name: Kopiowanie konfiguracji dashboardów Grafana
20+
copy:
21+
src: files/dashboards/
22+
dest: "{{ project_root }}/monitoring/dashboards/"
23+
directory_mode: yes
24+
25+
- name: Tworzenie docker-compose dla monitoringu
26+
template:
27+
src: templates/docker-compose-monitoring.yml.j2
28+
dest: "{{ project_root }}/monitoring/docker-compose.yml"
29+
30+
- name: Uruchomienie stosu monitoringu
31+
community.docker.docker_compose:
32+
project_src: "{{ project_root }}/monitoring"
33+
state: present
34+
35+
- name: Czekanie na uruchomienie Grafana
36+
uri:
37+
url: http://localhost:3000/api/health
38+
status_code: 200
39+
register: result
40+
until: result.status == 200
41+
retries: 30
42+
delay: 5
43+
ignore_errors: yes
44+
45+
- name: Konfiguracja źródła danych Prometheus w Grafana
46+
uri:
47+
url: http://localhost:3000/api/datasources
48+
method: POST
49+
body_format: json
50+
body:
51+
name: "Prometheus"
52+
type: "prometheus"
53+
url: "http://prometheus:9090"
54+
access: "proxy"
55+
isDefault: true
56+
user: "admin"
57+
password: "{{ grafana_admin_password }}"
58+
force_basic_auth: yes
59+
status_code: 200
60+
ignore_errors: yes
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
version: '3.8'
2+
3+
services:
4+
prometheus:
5+
image: prom/prometheus:v2.40.0
6+
container_name: prometheus
7+
volumes:
8+
- ./prometheus.yml:/etc/prometheus/prometheus.yml
9+
- prometheus_data:/prometheus
10+
command:
11+
- '--config.file=/etc/prometheus/prometheus.yml'
12+
- '--storage.tsdb.path=/prometheus'
13+
- '--web.console.libraries=/etc/prometheus/console_libraries'
14+
- '--web.console.templates=/etc/prometheus/consoles'
15+
- '--web.enable-lifecycle'
16+
ports:
17+
- "{{ prometheus_port | default(9090) }}:9090"
18+
restart: unless-stopped
19+
networks:
20+
- monitoring-network
21+
- llm-network
22+
23+
grafana:
24+
image: grafana/grafana:9.3.0
25+
container_name: grafana
26+
volumes:
27+
- ./grafana.ini:/etc/grafana/grafana.ini
28+
- ./dashboards:/var/lib/grafana/dashboards
29+
- grafana_data:/var/lib/grafana
30+
environment:
31+
- GF_SECURITY_ADMIN_PASSWORD={{ grafana_admin_password | default('admin') }}
32+
- GF_USERS_ALLOW_SIGN_UP=false
33+
ports:
34+
- "{{ grafana_port | default(3000) }}:3000"
35+
restart: unless-stopped
36+
networks:
37+
- monitoring-network
38+
39+
node-exporter:
40+
image: prom/node-exporter:v1.4.0
41+
container_name: node-exporter
42+
volumes:
43+
- /proc:/host/proc:ro
44+
- /sys:/host/sys:ro
45+
- /:/rootfs:ro
46+
command:
47+
- '--path.procfs=/host/proc'
48+
- '--path.rootfs=/rootfs'
49+
- '--path.sysfs=/host/sys'
50+
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
51+
restart: unless-stopped
52+
networks:
53+
- monitoring-network
54+
55+
cadvisor:
56+
image: gcr.io/cadvisor/cadvisor:v0.45.0
57+
container_name: cadvisor
58+
volumes:
59+
- /:/rootfs:ro
60+
- /var/run:/var/run:ro
61+
- /sys:/sys:ro
62+
- /var/lib/docker/:/var/lib/docker:ro
63+
- /dev/disk/:/dev/disk:ro
64+
ports:
65+
- "8081:8080"
66+
restart: unless-stopped
67+
networks:
68+
- monitoring-network
69+
70+
networks:
71+
monitoring-network:
72+
driver: bridge
73+
llm-network:
74+
external: true
75+
76+
volumes:
77+
prometheus_data:
78+
grafana_data:
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Zmienne środowiskowe dla llm-orchestrator-min
2+
# Generowane automatycznie przez Ansible
3+
4+
# Ogólne
5+
ENVIRONMENT={{ environment }}
6+
7+
# Model Service
8+
MODEL_PATH={{ model_path | default('/app/models/tinyllama') }}
9+
USE_INT8={{ use_int8 | default(true) | string | lower }}
10+
MODEL_SERVICE_PORT={{ model_service_port | default(5000) }}
11+
12+
# API Gateway
13+
API_GATEWAY_PORT={{ api_gateway_port | default(80) }}
14+
DASHBOARD_PORT={{ dashboard_port | default(8080) }}
15+
16+
# Monitoring
17+
PROMETHEUS_PORT={{ prometheus_port | default(9090) }}
18+
GRAFANA_PORT={{ grafana_port | default(3000) }}
19+
GRAFANA_ADMIN_PASSWORD={{ grafana_admin_password | default('admin') }}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
global:
2+
scrape_interval: 15s
3+
evaluation_interval: 15s
4+
5+
alerting:
6+
alertmanagers:
7+
- static_configs:
8+
- targets:
9+
# - alertmanager:9093
10+
11+
rule_files:
12+
# - "first_rules.yml"
13+
# - "second_rules.yml"
14+
15+
scrape_configs:
16+
- job_name: "prometheus"
17+
static_configs:
18+
- targets: ["localhost:9090"]
19+
20+
- job_name: "model-service"
21+
metrics_path: /metrics
22+
static_configs:
23+
- targets: ["model-service:5000"]
24+
25+
- job_name: "api-gateway"
26+
metrics_path: /metrics
27+
static_configs:
28+
- targets: ["api-gateway:8080"]
29+
30+
- job_name: "node-exporter"
31+
static_configs:
32+
- targets: ["node-exporter:9100"]
33+
34+
- job_name: "cadvisor"
35+
static_configs:
36+
- targets: ["cadvisor:8080"]

0 commit comments

Comments
 (0)