diff --git a/.docker/prometheus/alert.yml b/.docker/prometheus/alert.yml new file mode 100644 index 0000000..24cc541 --- /dev/null +++ b/.docker/prometheus/alert.yml @@ -0,0 +1,6 @@ +groups: + - name: DemoAlerts + rules: + - alert: InstanceDown + expr: up{job="services"} < 1 + for: 5m \ No newline at end of file diff --git a/.docker/prometheus/prometheus.yml b/.docker/prometheus/prometheus.yml new file mode 100644 index 0000000..9c2b009 --- /dev/null +++ b/.docker/prometheus/prometheus.yml @@ -0,0 +1,17 @@ +global: + scrape_interval: 30s + scrape_timeout: 10s + +rule_files: + - alert.yml + +scrape_configs: + - job_name: services + metrics_path: /metrics + static_configs: + - targets: + - 'prometheus:9090' + - job_name: 'file_ds' + file_sd_configs: + - files: + - targets.json diff --git a/.docker/prometheus/targets.json b/.docker/prometheus/targets.json new file mode 100644 index 0000000..234372a --- /dev/null +++ b/.docker/prometheus/targets.json @@ -0,0 +1,10 @@ +[ + { + "targets": [ + "api:9091" + ], + "labels": { + "job": "5f11-api" + } + } +] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 3540743..a868529 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,8 +4,28 @@ services: scylla: image: scylladb/scylla ports: - - "7000:7000" - - "7001:7001" - - "9042:9042" - - "9160:9160" - - "10000:10000" + - 7000:7000 + - 7001:7001 + - 9042:9042 + - 9160:9160 + - 10000:10000 + volumes: + - .docker/scylla/scylla.yaml:/etc/scylla/scylla.yaml + prometheus: + image: prom/prometheus:v2.30.3 + ports: + - 9090:9090 + volumes: + - .docker/prometheus:/etc/prometheus + - prometheus-data:/prometheus + command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml + # api: + # build: + # context: . + # ports: + # - 5111:5111 + # depends_on: + # - scylla + +volumes: + prometheus-data: diff --git a/etc/fivefeeteleven-api.yaml b/etc/fivefeeteleven-api.yaml index f7ad834..d1cbe51 100644 --- a/etc/fivefeeteleven-api.yaml +++ b/etc/fivefeeteleven-api.yaml @@ -4,4 +4,8 @@ Host: 0.0.0.0 Port: 5111 ScyllaDB: Hosts: - - "localhost" + - localhost +# Prometheus: +# Host: 0.0.0.0 +# Port: 9091 +# Path: /metrics