From 45199b1060d0a654f0ee89272ca6e96c2cac0a91 Mon Sep 17 00:00:00 2001 From: Yury Hrytsuk <50014626+YuryHrytsuk@users.noreply.github.com> Date: Tue, 21 Nov 2023 11:45:21 +0100 Subject: [PATCH] Remove prom cadvisor (#448) * Return removed staging CA for letsenrypt * Fix missing $ * Remove PAYMENTS_AUTORECHARGE_DEFAULT_MIN_BALANCE * Remove cadvisor --- services/monitoring/docker-compose.aws.yml | 26 ++--- services/monitoring/docker-compose.dalco.yml | 8 +- .../docker-compose.letsencrypt.dns.yml | 4 - .../docker-compose.letsencrypt.http.yml | 5 - services/monitoring/docker-compose.master.yml | 6 -- services/monitoring/docker-compose.public.yml | 7 +- services/monitoring/docker-compose.yml.j2 | 99 +++++-------------- .../prometheus/prometheus-cadvisor.yml | 92 ----------------- 8 files changed, 36 insertions(+), 211 deletions(-) delete mode 100644 services/monitoring/prometheus/prometheus-cadvisor.yml diff --git a/services/monitoring/docker-compose.aws.yml b/services/monitoring/docker-compose.aws.yml index 4d7fa2d2..f872d413 100644 --- a/services/monitoring/docker-compose.aws.yml +++ b/services/monitoring/docker-compose.aws.yml @@ -1,5 +1,13 @@ version: "3.7" services: + cadvisor-exporter: + volumes: + - /:/rootfs:ro + - /var/run:/var/run:ro + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + - /dev/disk/:/dev/disk:ro + prometheuscatchall: dns: 8.8.8.8 deploy: @@ -11,17 +19,6 @@ services: memory: 24576M reservations: memory: 24576M - prometheuscadvisor: - dns: 8.8.8.8 - deploy: - placement: - constraints: - - node.labels.prometheuscadvisor==true - resources: - limits: - memory: 4096M - reservations: - memory: 4096M prometheusfederation: dns: 8.8.8.8 deploy: @@ -39,10 +36,3 @@ services: placement: constraints: - node.labels.grafana==true - cadvisor-exporter: - volumes: - - /:/rootfs:ro - - /var/run:/var/run:ro - - /sys:/sys:ro - - /var/lib/docker/:/var/lib/docker:ro - - /dev/disk/:/dev/disk:ro diff --git a/services/monitoring/docker-compose.dalco.yml b/services/monitoring/docker-compose.dalco.yml index 862d59e6..62b4b8c2 100644 --- a/services/monitoring/docker-compose.dalco.yml +++ b/services/monitoring/docker-compose.dalco.yml @@ -1,5 +1,6 @@ version: '3.7' services: + cadvisor-exporter: volumes: - /:/rootfs:ro @@ -7,6 +8,7 @@ services: - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro + grafana: dns: 8.8.8.8 deploy: @@ -19,11 +21,7 @@ services: placement: constraints: - node.labels.prometheus==true - prometheuscadvisor: - deploy: - placement: - constraints: - - node.labels.prometheus==true + prometheusfederation: deploy: placement: diff --git a/services/monitoring/docker-compose.letsencrypt.dns.yml b/services/monitoring/docker-compose.letsencrypt.dns.yml index 0174d3f4..af48f2e2 100644 --- a/services/monitoring/docker-compose.letsencrypt.dns.yml +++ b/services/monitoring/docker-compose.letsencrypt.dns.yml @@ -12,7 +12,3 @@ services: deploy: labels: - traefik.http.routers.prometheusfederation.tls.certresolver=myresolver - # prometheuscadvisor: - # deploy: - # labels: - # - traefik.http.routers.prometheus.tls.certresolver=myresolver diff --git a/services/monitoring/docker-compose.letsencrypt.http.yml b/services/monitoring/docker-compose.letsencrypt.http.yml index f130cf78..7ddb0f20 100644 --- a/services/monitoring/docker-compose.letsencrypt.http.yml +++ b/services/monitoring/docker-compose.letsencrypt.http.yml @@ -12,8 +12,3 @@ services: deploy: labels: - traefik.http.routers.prometheusfederation.tls.certresolver=lehttpchallenge - # prometheuscadvisor: - # deploy: - # placement: - # constraints: - # - traefik.http.routers.prometheus.tls.certresolver=lehttpchallenge diff --git a/services/monitoring/docker-compose.master.yml b/services/monitoring/docker-compose.master.yml index 21f26e27..a0fd2fc2 100644 --- a/services/monitoring/docker-compose.master.yml +++ b/services/monitoring/docker-compose.master.yml @@ -9,12 +9,6 @@ services: deploy: placement: constraints: - - node.labels.prometheus==true - prometheuscadvisor: - deploy: - placement: - constraints: - - node.labels.prometheus==true prometheusfederation: deploy: placement: diff --git a/services/monitoring/docker-compose.public.yml b/services/monitoring/docker-compose.public.yml index 862d59e6..82501033 100644 --- a/services/monitoring/docker-compose.public.yml +++ b/services/monitoring/docker-compose.public.yml @@ -7,6 +7,7 @@ services: - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro + grafana: dns: 8.8.8.8 deploy: @@ -19,11 +20,7 @@ services: placement: constraints: - node.labels.prometheus==true - prometheuscadvisor: - deploy: - placement: - constraints: - - node.labels.prometheus==true + prometheusfederation: deploy: placement: diff --git a/services/monitoring/docker-compose.yml.j2 b/services/monitoring/docker-compose.yml.j2 index f2ceb475..84e73991 100644 --- a/services/monitoring/docker-compose.yml.j2 +++ b/services/monitoring/docker-compose.yml.j2 @@ -4,7 +4,6 @@ volumes: prometheus_data: {} grafana_data: {} alertmanager_data: {} - prometheus_data_cadvisor: {} prometheus_data_federation: {} networks: @@ -25,8 +24,6 @@ configs: file: ./node-exporter/docker-entrypoint.sh prometheus_config: file: ./prometheus/prometheus.yml - prometheus_config_cadvisor: - file: ./prometheus/prometheus-cadvisor.yml prometheus_config_federation: file: ./prometheus/prometheus-federation.yml prometheus_rules: @@ -38,6 +35,29 @@ configs: smokeping_prober_config: file: ./smokeping_prober_config.yaml services: + cadvisor-exporter: + image: gcr.io/cadvisor/cadvisor:v0.47.2 + volumes: + - /:/rootfs:ro + - /var/run:/var/run:ro + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + networks: + - internal + - monitored + command: --logtostderr --docker_only --allow_dynamic_housekeeping=true + deploy: + labels: + - prometheus-job=cadvisor + - prometheus-port=8080 + mode: global + resources: + limits: + memory: 256M + cpus: "0.5" + reservations: + memory: 128M + cpus: "0.1" prometheuscatchall: hostname: "{% raw %}{{.Service.Name}}{% endraw %}" image: prom/prometheus:v2.47.2 @@ -132,55 +152,6 @@ services: reservations: memory: 2048M cpus: "0.2" - prometheuscadvisor: - hostname: "{% raw %}{{.Service.Name}}{% endraw %}" - image: prom/prometheus:v2.47.2 - volumes: - - prometheus_data_cadvisor:/prometheus - - /var/run/docker.sock:/var/run/docker.sock:ro - user: root # only user root can use the docker socket - configs: - - source: prometheus_config_cadvisor - target: /etc/prometheus/prometheus.yml - - source: prometheus_rules - target: /etc/prometheus/prometheus.rules.yml - command: - - "--config.file=/etc/prometheus/prometheus.yml" - - "--storage.tsdb.path=/prometheus" - - "--storage.tsdb.retention=30d" - - "--web.console.libraries=/usr/share/prometheus/console_libraries" - - "--web.console.templates=/usr/share/prometheus/consoles" - - "--web.external-url=https://${MONITORING_DOMAIN}/prometheuscadvisor/" - - "--web.route-prefix=/" - - "--storage.tsdb.allow-overlapping-blocks" # via https://jessicagreben.medium.com/prometheus-fill-in-data-for-new-recording-rules-30a14ccb8467 - #- "--web.enable-admin-api" This allows messing with prometheus using its API from the CLI. Disabled for security reasons by default. - networks: - - internal - - monitored - - public - extra_hosts: [] - deploy: - replicas: 0 - labels: - - traefik.enable=true - - traefik.docker.network=${PUBLIC_NETWORK} - # direct access through port - - traefik.http.services.prometheuscadvisor.loadbalancer.server.port=${MONITORING_PROMETHEUS_PORT} - - traefik.http.routers.prometheuscadvisor.rule=Host(`${MONITORING_DOMAIN}`) && PathPrefix(`/prometheuscadvisor`) - - traefik.http.routers.prometheuscadvisor.entrypoints=https - - traefik.http.routers.prometheuscadvisor.tls=true - - traefik.http.middlewares.prometheuscadvisor_stripprefixregex.stripprefixregex.regex=^/prometheuscadvisor - - traefik.http.routers.prometheuscadvisor.middlewares=ops_whitelist_ips@docker, ops_auth@docker, ops_gzip@docker, prometheuscadvisor_stripprefixregex - - prometheus-job=prometheuscadvisor - - prometheus-port=${MONITORING_PROMETHEUS_PORT} - resources: - limits: - memory: 4096M - cpus: "1" - reservations: - memory: 2048M - cpus: "0.2" - node-exporter: image: prom/node-exporter:v1.6.1 volumes: @@ -265,30 +236,6 @@ services: memory: 16M cpus: "0.1" - cadvisor-exporter: - image: gcr.io/cadvisor/cadvisor:v0.47.2 - volumes: - - /:/rootfs:ro - - /var/run:/var/run:ro - - /sys:/sys:ro - - /var/lib/docker/:/var/lib/docker:ro - networks: - - internal - - monitored - command: --logtostderr --docker_only --allow_dynamic_housekeeping=true - deploy: - labels: - - prometheus-job=cadvisor - - prometheus-port=8080 - mode: global - resources: - limits: - memory: 256M - cpus: "0.5" - reservations: - memory: 128M - cpus: "0.1" - docker-events-exporter: image: itisfoundation/docker-events-exporter:latest volumes: diff --git a/services/monitoring/prometheus/prometheus-cadvisor.yml b/services/monitoring/prometheus/prometheus-cadvisor.yml deleted file mode 100644 index ecc60402..00000000 --- a/services/monitoring/prometheus/prometheus-cadvisor.yml +++ /dev/null @@ -1,92 +0,0 @@ -# global config -# DOLLAR SIGNS NEED TO BE EXCAPED (see https://stackoverflow.com/a/61259844/10198629) -global: - scrape_interval: 16s # By default, scrape targets every 15 seconds. - evaluation_interval: 16s # By default, scrape targets every 15 seconds. - # scrape_timeout global default would be (10s). - - # Attach these labels to any time series or alerts when communicating with - # external systems (federation, remote storage, Alertmanager). - external_labels: - monitor: "sim-core-monitor" - -# A scrape configuration containing exactly one endpoint to scrape: -scrape_configs: - # The job name is added as a label `job=` to any timeseries scraped from this config. - - # Create a job for Docker daemons. see [https://prometheus.io/docs/guides/dockerswarm/] - - # Create a job for Docker Swarm containers. - # Prometheus docker swarm discovery will automatically discover services that need to be scraped by prometheus - # All services that need to be monitored must at least define the following SERVICE labels (in deploy/labels section): - # deploy: - # labels: - # # prometheus labels - # - prometheus-job=traefik_ops - # - prometheus-port=8082 - # - - job_name: "dockerswarm-tasks" - dockerswarm_sd_configs: - - host: unix:///var/run/docker.sock - role: tasks # this scrapes docker tasks - relabel_configs: - # Only keep containers that should be running - - source_labels: [__meta_dockerswarm_task_desired_state] - regex: running - action: keep - # Only keep containers that have a `prometheus-job` label. - - source_labels: [__meta_dockerswarm_service_label_prometheus_job] - regex: cadvisor - action: keep - # Keep the containers IP and Port, very necessary for our setup DONT MESS WITH THIS - - source_labels: - [__address__, __meta_dockerswarm_service_label_prometheus_port] - separator: ";" - regex: "(.*):.*;(.*)" - target_label: __address__ - replacement: $1:$2 - # Use the prometheus-port Swarm label as Prometheus job port. - - source_labels: [__meta_dockerswarm_service_label_prometheus_job] - target_label: job - # Set hostname as instance label - - source_labels: [__meta_dockerswarm_node_hostname] - target_label: instance - metric_relabel_configs: - - regex: "container_label_com_docker_compose_config_hash" - action: labeldrop # cAdvisor pruning - - regex: "container_label_com_docker_compose_container_number" - action: labeldrop # cAdvisor pruning - # - regex: "container_label_io_simcore_.*" - # action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_authors" - action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_contact" - action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_description" - action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_inputs" - action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_outputs" - action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_name" - action: labeldrop # cAdvisor pruning - - regex: "container_label_io_simcore_outputs" - action: labeldrop # cAdvisor pruning - - regex: "container_label_simcore_service_compose_spec" - action: labeldrop # cAdvisor pruning - - regex: "container_label_simcore_service_container_http_entrypoint" - action: labeldrop # cAdvisor pruning - - regex: "container_label_simcore_service_paths_mapping" - action: labeldrop # cAdvisor pruning - - regex: "container_label_org_.*" - action: labeldrop # cAdvisor pruning - - regex: "container_label_com_docker_compose_project" - action: labeldrop # cAdvisor pruning - - regex: "container_label_com_docker_compose_project_config_files" - action: labeldrop # cAdvisor pruning - - regex: "container_label_com_docker_compose_service" - action: labeldrop # cAdvisor pruning - - regex: "container_label_com_docker_compose_project" - action: labeldrop # cAdvisor pruning - - regex: "container_label_maintainer" - action: labeldrop # cAdvisor pruning