diff --git a/NodeExporter_cAdvisor/docker-compose.yml b/NodeExporter_cAdvisor/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..c4bab3fb7ec791e038d02ea8278b396d3edf14e7 --- /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 0000000000000000000000000000000000000000..3212fdbb89839453c7c4ffae249a5d9286c1eb4b --- /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 0000000000000000000000000000000000000000..f12466bb05e34857fb80de35173c88a4a5a86032 --- /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 0000000000000000000000000000000000000000..21fa1d5761990086fcec05928373a8d93b826af8 --- /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 0000000000000000000000000000000000000000..63c71994b6302ac9a6544c4b4a7d85a1883e9f45 --- /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 0000000000000000000000000000000000000000..c4bab3fb7ec791e038d02ea8278b396d3edf14e7 --- /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