From f7cf301800ac380b8dcb54c8c36910137e9eaeab Mon Sep 17 00:00:00 2001 From: Andrey Ivanov Date: Sat, 13 Feb 2021 09:23:19 -0500 Subject: [PATCH] Add prom&grafana --- Makefile | 40 +- cicd/docker-compose.yml | 136 +- test/{ => dz002}/dz002.sh | 0 test/dz003/README.md | 36 +- test/{ => dz003}/dz003.sh | 0 test/dz003/img/dz003_part1.jpg | Bin 0 -> 187154 bytes test/dz003/report.md | 27 + test/dz003/{ => scripts}/post.lua | 0 .../monitor}/alertmanager/config.yml | 0 {cicd => test/monitor}/caddy/Caddyfile | 0 {cicd => test/monitor}/config | 0 test/monitor/docker-compose.yml | 117 ++ test/monitor/grafana/MyDashboard.json | 1133 +++++++++++++++++ .../provisioning/dashboards/dashboard.yml | 0 .../dashboards/docker_containers.json | 0 .../provisioning/dashboards/docker_host.json | 0 .../dashboards/monitor_services.json | 0 .../dashboards/nginx_container.json | 0 .../provisioning/datasources/datasource.yml | 0 {cicd => test/monitor}/helpers/aws/README.md | 0 .../aws/cadvisor_ecs_task_definition.json | 0 .../aws/node_exporter_task_definition.json | 0 .../monitor}/helpers/aws/prometheus.yml | 0 {cicd => test/monitor}/prometheus/alert.rules | 0 .../monitor}/prometheus/prometheus.yml | 0 25 files changed, 1342 insertions(+), 147 deletions(-) rename test/{ => dz002}/dz002.sh (100%) rename test/{ => dz003}/dz003.sh (100%) create mode 100644 test/dz003/img/dz003_part1.jpg create mode 100644 test/dz003/report.md rename test/dz003/{ => scripts}/post.lua (100%) rename {cicd => test/monitor}/alertmanager/config.yml (100%) rename {cicd => test/monitor}/caddy/Caddyfile (100%) rename {cicd => test/monitor}/config (100%) create mode 100644 test/monitor/docker-compose.yml create mode 100644 test/monitor/grafana/MyDashboard.json rename {cicd => test/monitor}/grafana/provisioning/dashboards/dashboard.yml (100%) rename {cicd => test/monitor}/grafana/provisioning/dashboards/docker_containers.json (100%) rename {cicd => test/monitor}/grafana/provisioning/dashboards/docker_host.json (100%) rename {cicd => test/monitor}/grafana/provisioning/dashboards/monitor_services.json (100%) rename {cicd => test/monitor}/grafana/provisioning/dashboards/nginx_container.json (100%) rename {cicd => test/monitor}/grafana/provisioning/datasources/datasource.yml (100%) rename {cicd => test/monitor}/helpers/aws/README.md (100%) rename {cicd => test/monitor}/helpers/aws/cadvisor_ecs_task_definition.json (100%) rename {cicd => test/monitor}/helpers/aws/node_exporter_task_definition.json (100%) rename {cicd => test/monitor}/helpers/aws/prometheus.yml (100%) rename {cicd => test/monitor}/prometheus/alert.rules (100%) rename {cicd => test/monitor}/prometheus/prometheus.yml (100%) diff --git a/Makefile b/Makefile index 1bbc546..55e96e4 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,38 @@ cdir = $(shell pwd) -up: - docker-compose -f ./cicd/docker-compose.yml up -d --build +app-up: + docker-compose -f ./cicd/docker-compose.yml up -d --build ; \ ./cicd/init.sh -down: shutdown clean -shutdown: - docker-compose -f ./cicd/docker-compose.yml down - sudo docker rmi $$(sudo docker images -a | grep '' | awk '{print $$3}') +app-down: + docker-compose -f ./cicd/docker-compose.yml down ; \ + docker rmi $$(sudo docker images -a | grep '' | awk '{print $$3}') ; \ + rm -rf /opt/mysql_slave1/* ; \ + rm -rf /opt/mysql_slave2/* -clean: - rm -rf /opt/mysql_master/* ; \ +app-reload: + docker-compose -f ./cicd/docker-compose.yml down ; \ + docker-compose -f ./cicd/docker-compose.yml up -d ; \ + ./cicd/init.sh + +prom-up: + docker-compose -f ./test/monitor/docker-compose.yml up -d --build + +prom-down: + docker-compose -f ./test/monitor/docker-compose.yml down ; \ + docker rmi $$(sudo docker images -a | grep '' | awk '{print $$3}') + +up: rm -rf /opt/mysql_slave1/* ; \ rm -rf /opt/mysql_slave2/* ; \ - sudo docker rmi $$(sudo docker images -a | grep '' | awk '{print $$3}') + docker-compose -f ./cicd/docker-compose.yml up -d --build ; \ + ./cicd/init.sh + docker-compose -f ./test/monitor/docker-compose.yml up -d --build ; \ -.PHONY: up down \ No newline at end of file +down: + docker-compose -f ./test/monitor/docker-compose.yml down ; \ + docker-compose -f ./cicd/docker-compose.yml down ; \ + docker rmi $$(sudo docker images -a | grep '' | awk '{print $$3}') + + +.PHONY: app-up app-down app-reload prom-up prom-down up down \ No newline at end of file diff --git a/cicd/docker-compose.yml b/cicd/docker-compose.yml index 39b57d7..a7dbfc3 100644 --- a/cicd/docker-compose.yml +++ b/cicd/docker-compose.yml @@ -58,138 +58,4 @@ services: APP_DSN_PASS: app APP_DSN_BASE: app ports: - - "8080:8080" - - prometheus: - image: prom/prometheus:v2.24.1 - container_name: prometheus - volumes: - - ./prometheus:/etc/prometheus - - prometheus_data:/prometheus - command: - - '--config.file=/etc/prometheus/prometheus.yml' - - '--storage.tsdb.path=/prometheus' - - '--web.console.libraries=/etc/prometheus/console_libraries' - - '--web.console.templates=/etc/prometheus/consoles' - - '--storage.tsdb.retention.time=200h' - - '--web.enable-lifecycle' - restart: unless-stopped - expose: - - 9090 - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - - alertmanager: - image: prom/alertmanager:v0.21.0 - container_name: alertmanager - volumes: - - ./alertmanager:/etc/alertmanager - command: - - '--config.file=/etc/alertmanager/config.yml' - - '--storage.path=/alertmanager' - restart: unless-stopped - expose: - - 9093 - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - - nodeexporter: - image: prom/node-exporter:v1.1.0 - container_name: nodeexporter - volumes: - - /proc:/host/proc:ro - - /sys:/host/sys:ro - - /:/rootfs:ro - command: - - '--path.procfs=/host/proc' - - '--path.rootfs=/rootfs' - - '--path.sysfs=/host/sys' - - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)' - restart: unless-stopped - expose: - - 9100 - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - - cadvisor: - image: gcr.io/cadvisor/cadvisor:v0.38.7 - container_name: cadvisor - volumes: - - /:/rootfs:ro - - /var/run:/var/run:rw - - /sys:/sys:ro - - /var/lib/docker:/var/lib/docker:ro - #- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux - restart: unless-stopped - expose: - - 8080 - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - - grafana: - image: grafana/grafana:7.4.0 - container_name: grafana - volumes: - - grafana_data:/var/lib/grafana - - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards - - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources - environment: - - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} - - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} - - GF_USERS_ALLOW_SIGN_UP=false - restart: unless-stopped - expose: - - 3000 - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - ports: - - "3001:3000" - - pushgateway: - image: prom/pushgateway:v1.4.0 - container_name: pushgateway - restart: unless-stopped - expose: - - 9091 - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - - caddy: - image: stefanprodan/caddy - container_name: caddy - ports: - - "3000:3000" - - "9090:9090" - - "9093:9093" - - "9091:9091" - volumes: - - ./caddy:/etc/caddy - environment: - - ADMIN_USER=${ADMIN_USER:-admin} - - ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} - restart: unless-stopped - networks: - - monitor-net - labels: - org.label-schema.group: "monitoring" - - -networks: - monitor-net: - driver: bridge - -volumes: - prometheus_data: { } - grafana_data: { } + - "8080:8080" \ No newline at end of file diff --git a/test/dz002.sh b/test/dz002/dz002.sh similarity index 100% rename from test/dz002.sh rename to test/dz002/dz002.sh diff --git a/test/dz003/README.md b/test/dz003/README.md index aa8ce3f..fc3a057 100644 --- a/test/dz003/README.md +++ b/test/dz003/README.md @@ -1,2 +1,34 @@ -Встроен запуск prometeus, grafana и т.д. -Графана доступна на http://localhost:3001/ \ No newline at end of file +#Полусинхронная репликация + +В результате выполнения ДЗ вы настроите полусинхронную репликацию, протестируете ее влияние на производительность системы и убедитесь, что теперь вы не теряете транзакции в случае аварии. + +### В данном задании тренируются навыки: +- обеспечение отказоустойчивости проекта; +- администрирование MySQL; +- настройка репликации; +- проведение нагрузочных тестов. + +### План выполнения ДЗ: +1) Настраиваем асинхронную репликацию. +2) Выбираем 2 любых запроса на чтения (в идеале самых частых и тяжелых по логике работы сайта) и переносим их на чтение со слейва. +3) Делаем нагрузочный тест по странице, которую перевели на слейв до и после репликации. Замеряем нагрузку мастера (CPU, la, disc usage, memory usage). +4) ОПЦИОНАЛЬНО: в качестве конфига, который хранит IP реплики сделать массив для легкого добавления реплики. Это не самый правильный способ балансирования нагрузки. Поэтому опционально. +5) Настроить 2 слейва и 1 мастер. +6) Включить row-based репликацию. +7) Включить GTID. +8) Настроить полусинхронную репликацию. +9) Создать нагрузку на запись в любую тестовую таблицу. На стороне, которой нагружаем считать, сколько строк мы успешно записали. +10) С помощью kill -9 убиваем мастер MySQL. +11) Заканчиваем нагрузку на запись. +12) Выбираем самый свежий слейв. Промоутим его до мастера. Переключаем на него второй слейв. +13) Проверяем, есть ли потери транзакций. + +Результатом сдачи ДЗ будет в виде исходного кода на github и отчета в текстовом виде, где вы отразите как вы выполняли каждый из пунктов. +Критерии оценки: Оценка происходит по принципу зачет/незачет. + +### Требования: +- В отчете корректно описано, как настроена репликация. +- 2 запроса переведено на чтение со слейва. +- Нагрузочное тестирование показало, что нагрузка перешла на слейв. +- В отчете описано как включить row-based репликацию и GTID +- Проведен эксперимент по потере и непотере транзакций при аварийной остановке master. \ No newline at end of file diff --git a/test/dz003.sh b/test/dz003/dz003.sh similarity index 100% rename from test/dz003.sh rename to test/dz003/dz003.sh diff --git a/test/dz003/img/dz003_part1.jpg b/test/dz003/img/dz003_part1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56c44e51ac5e1cfd56e7a8d50d90ad1eb4e6e5af GIT binary patch literal 187154 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%0D9_pQ@q%_w3&J?4$3(`yqv{e$cniEwSjvm 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%0Axf4 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 literal 0 HcmV?d00001 diff --git a/test/dz003/report.md b/test/dz003/report.md new file mode 100644 index 0000000..634915b --- /dev/null +++ b/test/dz003/report.md @@ -0,0 +1,27 @@ +Встроен запуск prometeus, grafana и т.д. +Графана доступна на http://localhost:3001/ + +$ sudo docker run --rm -v /root/scripts:/scripts williamyeh/wrk -t1 -c10 -d5m --timeout 30s http://192.168.1.66:8080/search -s /scripts/post.lua -- debug true +Running 5m test @ http://192.168.1.66:8080/search +1 threads and 10 connections +Thread Stats Avg Stdev Max +/- Stdev +Latency 5.83s 1.74s 13.29s 77.58% +Req/Sec 3.57 4.74 30.00 82.50% +511 requests in 5.00m, 18.69MB read +Requests/sec: 1.70 +Transfer/sec: 63.79KB + +$ sudo make app-reload +... +... +... +$ sudo docker run --rm -v /root/scripts:/scripts williamyeh/wrk -t1 -c10 -d5m --timeout 30s http://192.168.1.66:8080/search -s /scripts/post.lua -- debug true +Running 5m test @ http://192.168.1.66:8080/search +1 threads and 10 connections +Thread Stats Avg Stdev Max +/- Stdev +Latency 32.12ms 31.59ms 561.62ms 90.65% +Req/Sec 373.34 147.37 610.00 68.45% +110834 requests in 5.00m, 433.90MB read +Non-2xx or 3xx responses: 110834 +Requests/sec: 369.39 +Transfer/sec: 1.45MB \ No newline at end of file diff --git a/test/dz003/post.lua b/test/dz003/scripts/post.lua similarity index 100% rename from test/dz003/post.lua rename to test/dz003/scripts/post.lua diff --git a/cicd/alertmanager/config.yml b/test/monitor/alertmanager/config.yml similarity index 100% rename from cicd/alertmanager/config.yml rename to test/monitor/alertmanager/config.yml diff --git a/cicd/caddy/Caddyfile b/test/monitor/caddy/Caddyfile similarity index 100% rename from cicd/caddy/Caddyfile rename to test/monitor/caddy/Caddyfile diff --git a/cicd/config b/test/monitor/config similarity index 100% rename from cicd/config rename to test/monitor/config diff --git a/test/monitor/docker-compose.yml b/test/monitor/docker-compose.yml new file mode 100644 index 0000000..fad070c --- /dev/null +++ b/test/monitor/docker-compose.yml @@ -0,0 +1,117 @@ +version: '3' +services: + + prometheus: + image: prom/prometheus:v2.24.1 + container_name: prometheus + volumes: + - ./prometheus:/etc/prometheus + - prometheus_data:/prometheus + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.console.libraries=/etc/prometheus/console_libraries' + - '--web.console.templates=/etc/prometheus/consoles' + - '--storage.tsdb.retention.time=200h' + - '--web.enable-lifecycle' + restart: unless-stopped + expose: + - 9090 + labels: + org.label-schema.group: "monitoring" + + alertmanager: + image: prom/alertmanager:v0.21.0 + container_name: alertmanager + volumes: + - ./alertmanager:/etc/alertmanager + command: + - '--config.file=/etc/alertmanager/config.yml' + - '--storage.path=/alertmanager' + restart: unless-stopped + expose: + - 9093 + labels: + org.label-schema.group: "monitoring" + + nodeexporter: + image: prom/node-exporter:v1.1.0 + container_name: nodeexporter + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + command: + - '--path.procfs=/host/proc' + - '--path.rootfs=/rootfs' + - '--path.sysfs=/host/sys' + - '--collector.filesystem.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)' + restart: unless-stopped + expose: + - 9100 + labels: + org.label-schema.group: "monitoring" + + cadvisor: + image: gcr.io/cadvisor/cadvisor:v0.38.7 + container_name: cadvisor + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker:/var/lib/docker:ro + #- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux + restart: unless-stopped + expose: + - 8080 + labels: + org.label-schema.group: "monitoring" + + grafana: + image: grafana/grafana:7.4.0 + container_name: grafana + volumes: + - grafana_data:/var/lib/grafana + - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards + - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources + environment: + - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} + - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} + - GF_USERS_ALLOW_SIGN_UP=false + restart: unless-stopped + expose: + - 3000 + labels: + org.label-schema.group: "monitoring" + ports: + - "3001:3000" + + pushgateway: + image: prom/pushgateway:v1.4.0 + container_name: pushgateway + restart: unless-stopped + expose: + - 9091 + labels: + org.label-schema.group: "monitoring" + + caddy: + image: stefanprodan/caddy + container_name: caddy + ports: + - "3000:3000" + - "9090:9090" + - "9093:9093" + - "9091:9091" + volumes: + - ./caddy:/etc/caddy + environment: + - ADMIN_USER=${ADMIN_USER:-admin} + - ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} + restart: unless-stopped + labels: + org.label-schema.group: "monitoring" + +volumes: + prometheus_data: { } + grafana_data: { } diff --git a/test/monitor/grafana/MyDashboard.json b/test/monitor/grafana/MyDashboard.json new file mode 100644 index 0000000..f89c668 --- /dev/null +++ b/test/monitor/grafana/MyDashboard.json @@ -0,0 +1,1133 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Containers metrics", + "editable": true, + "gnetId": null, + "graphTooltip": 1, + "id": 3, + "links": [], + "panels": [ + { + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 0 + }, + "id": 10, + "links": [], + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.0", + "targets": [ + { + "expr": "node_load1", + "interval": "", + "intervalFactor": 2, + "legendFormat": "load 1m", + "metric": "node_load1", + "refId": "A", + "step": 2 + } + ], + "timeFrom": null, + "timeShift": null, + "title": "System Load", + "type": "gauge" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 11, + "x": 2, + "y": 0 + }, + "hiddenSeries": false, + "id": 8, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.0", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (name) (rate(container_cpu_usage_seconds_total{image!=\"\",container_label_org_label_schema_group=\"\"}[1m])) / scalar(count(node_cpu_seconds_total{mode=\"user\"})) * 100", + "intervalFactor": 10, + "legendFormat": "{{ name }}", + "metric": "container_cpu_user_seconds_total", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container CPU Usage", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 11, + "x": 13, + "y": 0 + }, + "hiddenSeries": false, + "id": 11, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.0", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (name)(container_memory_usage_bytes{image!=\"\",container_label_org_label_schema_group=\"\"})", + "intervalFactor": 1, + "legendFormat": "{{ name }}", + "metric": "container_memory_usage", + "refId": "A", + "step": 1 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container Memory Usage", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "datasource": "Prometheus", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": {}, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 4 + }, + "id": 9, + "links": [], + "options": { + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "text": {} + }, + "pluginVersion": "7.4.0", + "targets": [ + { + "expr": "scalar(count(container_memory_usage_bytes{image!=\"\"}) > 0)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "containers", + "refId": "A", + "step": 2 + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Running Containers", + "type": "gauge" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 10, + "x": 3, + "y": 7 + }, + "hiddenSeries": false, + "id": 15, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.0", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "read", + "yaxis": 1 + }, + { + "alias": "written", + "yaxis": 1 + }, + { + "alias": "io time", + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (name) (rate(container_fs_reads_total{image!=\"\",container_label_org_label_schema_group=\"\"}[1m]))", + "instant": false, + "interval": "", + "intervalFactor": 10, + "legendFormat": "{{ name }}", + "metric": "", + "refId": "C", + "step": 8 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container FS Reads/min", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 11, + "x": 13, + "y": 7 + }, + "hiddenSeries": false, + "id": 16, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.0", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "read", + "yaxis": 1 + }, + { + "alias": "written", + "yaxis": 1 + }, + { + "alias": "io time", + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (name) (rate(container_fs_writes_total{image!=\"\",container_label_org_label_schema_group=\"\"}[1m]))", + "instant": false, + "interval": "", + "intervalFactor": 10, + "legendFormat": "{{ name }}", + "metric": "", + "refId": "C", + "step": 8 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container FS Writes/min", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 8 + }, + "hideTimeOverride": true, + "id": 4, + "interval": null, + "isNew": true, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(rate(container_cpu_user_seconds_total{image!=\"\"}[1m])) / count(node_cpu_seconds_total{mode=\"user\"}) * 100", + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": "65, 90", + "timeFrom": "10s", + "title": "CPU Load", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "datasource": "Prometheus", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 12 + }, + "hideTimeOverride": true, + "id": 5, + "interval": null, + "isNew": true, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "(sum(node_memory_MemTotal_bytes) - sum(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes) ) / sum(node_memory_MemTotal_bytes) * 100", + "interval": "10s", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 20 + } + ], + "thresholds": "65, 90", + "timeFrom": "10s", + "title": "Memory Load", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 11, + "x": 2, + "y": 14 + }, + "hiddenSeries": false, + "id": 13, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.0", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (name) (rate(container_network_receive_bytes_total{image!=\"\",container_label_org_label_schema_group=\"\"}[1m]))", + "intervalFactor": 10, + "legendFormat": "{{ name }}", + "metric": "container_network_receive_bytes_total", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container Network Input", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 11, + "x": 13, + "y": 14 + }, + "hiddenSeries": false, + "id": 14, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.4.0", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum by (name) (rate(container_network_transmit_bytes_total{image!=\"\",container_label_org_label_schema_group=\"\"}[1m]))", + "intervalFactor": 10, + "legendFormat": "{{ name }}", + "metric": "container_network_transmit_bytes_total", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Container Network Output", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "bytes", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 16 + }, + "hideTimeOverride": true, + "id": 2, + "interval": null, + "isNew": true, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(container_memory_usage_bytes{image!=\"\"})", + "interval": "10s", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 20 + } + ], + "thresholds": "", + "timeFrom": "10s", + "title": "Used Memory", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + } + ], + "refresh": "30s", + "schemaVersion": 27, + "style": "dark", + "tags": [ + "docker" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Docker Containers", + "uid": "kcaeWAPGk", + "version": 10 +} \ No newline at end of file diff --git a/cicd/grafana/provisioning/dashboards/dashboard.yml b/test/monitor/grafana/provisioning/dashboards/dashboard.yml similarity index 100% rename from cicd/grafana/provisioning/dashboards/dashboard.yml rename to test/monitor/grafana/provisioning/dashboards/dashboard.yml diff --git a/cicd/grafana/provisioning/dashboards/docker_containers.json b/test/monitor/grafana/provisioning/dashboards/docker_containers.json similarity index 100% rename from cicd/grafana/provisioning/dashboards/docker_containers.json rename to test/monitor/grafana/provisioning/dashboards/docker_containers.json diff --git a/cicd/grafana/provisioning/dashboards/docker_host.json b/test/monitor/grafana/provisioning/dashboards/docker_host.json similarity index 100% rename from cicd/grafana/provisioning/dashboards/docker_host.json rename to test/monitor/grafana/provisioning/dashboards/docker_host.json diff --git a/cicd/grafana/provisioning/dashboards/monitor_services.json b/test/monitor/grafana/provisioning/dashboards/monitor_services.json similarity index 100% rename from cicd/grafana/provisioning/dashboards/monitor_services.json rename to test/monitor/grafana/provisioning/dashboards/monitor_services.json diff --git a/cicd/grafana/provisioning/dashboards/nginx_container.json b/test/monitor/grafana/provisioning/dashboards/nginx_container.json similarity index 100% rename from cicd/grafana/provisioning/dashboards/nginx_container.json rename to test/monitor/grafana/provisioning/dashboards/nginx_container.json diff --git a/cicd/grafana/provisioning/datasources/datasource.yml b/test/monitor/grafana/provisioning/datasources/datasource.yml similarity index 100% rename from cicd/grafana/provisioning/datasources/datasource.yml rename to test/monitor/grafana/provisioning/datasources/datasource.yml diff --git a/cicd/helpers/aws/README.md b/test/monitor/helpers/aws/README.md similarity index 100% rename from cicd/helpers/aws/README.md rename to test/monitor/helpers/aws/README.md diff --git a/cicd/helpers/aws/cadvisor_ecs_task_definition.json b/test/monitor/helpers/aws/cadvisor_ecs_task_definition.json similarity index 100% rename from cicd/helpers/aws/cadvisor_ecs_task_definition.json rename to test/monitor/helpers/aws/cadvisor_ecs_task_definition.json diff --git a/cicd/helpers/aws/node_exporter_task_definition.json b/test/monitor/helpers/aws/node_exporter_task_definition.json similarity index 100% rename from cicd/helpers/aws/node_exporter_task_definition.json rename to test/monitor/helpers/aws/node_exporter_task_definition.json diff --git a/cicd/helpers/aws/prometheus.yml b/test/monitor/helpers/aws/prometheus.yml similarity index 100% rename from cicd/helpers/aws/prometheus.yml rename to test/monitor/helpers/aws/prometheus.yml diff --git a/cicd/prometheus/alert.rules b/test/monitor/prometheus/alert.rules similarity index 100% rename from cicd/prometheus/alert.rules rename to test/monitor/prometheus/alert.rules diff --git a/cicd/prometheus/prometheus.yml b/test/monitor/prometheus/prometheus.yml similarity index 100% rename from cicd/prometheus/prometheus.yml rename to test/monitor/prometheus/prometheus.yml