From 5cd038537671674ef248c9c3b822f3872cb0fc40 Mon Sep 17 00:00:00 2001 From: Michael Schenkelberger <michael.schenkelberger@smail.inf.h-brs.de> Date: Sat, 6 Nov 2021 09:42:56 +0000 Subject: [PATCH] first initial commit --- NodeExporter_cAdvisor/docker-compose.yml | 14 ++++ ProTest/docker-compose.yml | 94 ++++++++++++++++++++++++ ProTest/grafana/config.monitoring | 2 + Whoami/docker-compose.yml | 51 +++++++++++++ mywebsite/app.py | 45 ++++++++++++ mywebsite/docker-compose.yml | 14 ++++ 6 files changed, 220 insertions(+) create mode 100644 NodeExporter_cAdvisor/docker-compose.yml create mode 100644 ProTest/docker-compose.yml create mode 100644 ProTest/grafana/config.monitoring create mode 100644 Whoami/docker-compose.yml create mode 100644 mywebsite/app.py create mode 100644 mywebsite/docker-compose.yml diff --git a/NodeExporter_cAdvisor/docker-compose.yml b/NodeExporter_cAdvisor/docker-compose.yml new file mode 100644 index 0000000..c4bab3f --- /dev/null +++ b/NodeExporter_cAdvisor/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.9" +services: + app: + image: "jennerwein/miniwhoami" + ports: + - "6456:80" + networks: + my_ipv6: + ipv6_address: "2001:638:408:200:fc59:cafe:0:2222" + +networks: + my_ipv6: + external: + name: my_ipv6 diff --git a/ProTest/docker-compose.yml b/ProTest/docker-compose.yml new file mode 100644 index 0000000..3212fdb --- /dev/null +++ b/ProTest/docker-compose.yml @@ -0,0 +1,94 @@ +version: "3.9" + +volumes: + prometheus_data: {} + grafana_data: {} + +services: + prometheus: + image: "prom/prometheus" + volumes: + - ./prometheus/:/etc/prometheus/ + - prometheus_data:/prometheus + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.console.libraries=/usr/share/prometheus/console_libraries' + - '--web.console.templates=/usr/share/prometheus/consoles' + networks: + my_ipv6: + ipv6_address: "2001:638:408:200:fc59:cafe::11" + ports: + - 9090:9090 + restart: always + + node-exporter: + image: prom/node-exporter + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + command: + - '--path.procfs=/host/proc' + - '--path.sysfs=/host/sys' + - --collector.filesystem.ignored-mount-points + - "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)" + ports: + - 9100:9100 + networks: + - my_ipv6 + restart: always + deploy: + mode: global + + alertmanager: + image: prom/alertmanager + ports: + - 9093:9093 + volumes: + - ./alertmanager/:/etc/alertmanager/ + networks: + - my_ipv6 + restart: always + command: + - '--config.file=/etc/alertmanager/config.yml' + - '--storage.path=/alertmanager' +# deploy: +# placement: +# constraints: +# - node.hostname == ${HOSTNAME} + cadvisor: + image: gcr.io/cadvisor/cadvisor + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + ports: + - 8080:8080 + networks: + - my_ipv6 + restart: always + deploy: + mode: global + + grafana: + image: grafana/grafana + user: "472" + depends_on: + - prometheus + ports: + - 3000:3000 + volumes: + - grafana_data:/var/lib/grafana + - ./grafana/provisioning/:/etc/grafana/provisioning/ + env_file: + - ./grafana/config.monitoring + networks: + - my_ipv6 + restart: always + +networks: + my_ipv6: + external: + name: my_ipv6 diff --git a/ProTest/grafana/config.monitoring b/ProTest/grafana/config.monitoring new file mode 100644 index 0000000..f12466b --- /dev/null +++ b/ProTest/grafana/config.monitoring @@ -0,0 +1,2 @@ +GF_SECURITY_ADMIN_PASSWORD=foobar +GF_USERS_ALLOW_SIGN_UP=false diff --git a/Whoami/docker-compose.yml b/Whoami/docker-compose.yml new file mode 100644 index 0000000..21fa1d5 --- /dev/null +++ b/Whoami/docker-compose.yml @@ -0,0 +1,51 @@ +version: "3.9" +services: + whoami: + image: "jennerwein/whoami" + ports: + - "6321:6321" + + whoami-node: + image: "jennerwein/whoami-node" + networks: + my_ipv6: + ipv6_address: "2001:638:408:200:fc59:cafe:0:100" + + miniwhoami: + image: "jennerwein/miniwhoami" + networks: + my_ipv6: + ipv6_address: "2001:638:408:200:fc59:cafe:0:101" + + node-exporter: + image: prom/node-exporter + restart: always + container_name: node-exporter + ports: + - "9100:9100" + + cadvisor: + image: gcr.io/cadvisor/cadvisor:latest + restart: always + container_name: cadvisor + ports: + - "8080:8080" + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + depends_on: + - redis + + redis: + image: redis:latest + restart: always + container_name: redis + ports: + - "6379:6379" + +networks: + my_ipv6: + external: + name: my_ipv6 diff --git a/mywebsite/app.py b/mywebsite/app.py new file mode 100644 index 0000000..63c7199 --- /dev/null +++ b/mywebsite/app.py @@ -0,0 +1,45 @@ +import time + +import redis +from flask import Flask + +app = Flask(__name__) +cache = redis.Redis(host='redis', port=6379) + +def get_hit_count(): + retries = 5 + while True: + try: + return cache.incr('hits') + except redis.exceptions.ConnectionError as exc: + if retries == 0: + raise exc + retries -= 1 + time.sleep(0.5) + +@app.route('/') +def hello(): + count = get_hit_count() + return 'Hello World! I have been seen {} times.\n'.format(count)import time + +import redis +from flask import Flask + +app = Flask(__name__) +cache = redis.Redis(host='redis', port=6379) + +def get_hit_count(): + retries = 5 + while True: + try: + return cache.incr('hits') + except redis.exceptions.ConnectionError as exc: + if retries == 0: + raise exc + retries -= 1 + time.sleep(0.5) + +@app.route('/') +def hello(): + count = get_hit_count() + return 'Hello World! I have been seen {} times.\n'.format(count) diff --git a/mywebsite/docker-compose.yml b/mywebsite/docker-compose.yml new file mode 100644 index 0000000..c4bab3f --- /dev/null +++ b/mywebsite/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.9" +services: + app: + image: "jennerwein/miniwhoami" + ports: + - "6456:80" + networks: + my_ipv6: + ipv6_address: "2001:638:408:200:fc59:cafe:0:2222" + +networks: + my_ipv6: + external: + name: my_ipv6 -- GitLab