From d100cd8e9598368cefac08b48b37c04e123f9671 Mon Sep 17 00:00:00 2001 From: cruizba Date: Thu, 4 Feb 2021 15:19:50 +0100 Subject: [PATCH] openvidu-pro: Add to metricbeat the ability to monitor docker containers --- .../beats/metricbeat-elasticsearch.yml | 14 ++++ .../openvidu-server-pro/beats/metricbeat.yml | 76 +++++++++++-------- .../openvidu-server-pro/docker-compose.yml | 2 + 3 files changed, 61 insertions(+), 31 deletions(-) diff --git a/openvidu-server/deployments/pro/docker-compose/media-node/beats/metricbeat-elasticsearch.yml b/openvidu-server/deployments/pro/docker-compose/media-node/beats/metricbeat-elasticsearch.yml index 5bedc23a..0ef1f5b1 100644 --- a/openvidu-server/deployments/pro/docker-compose/media-node/beats/metricbeat-elasticsearch.yml +++ b/openvidu-server/deployments/pro/docker-compose/media-node/beats/metricbeat-elasticsearch.yml @@ -1,4 +1,18 @@ metricbeat.modules: + - module: docker + metricsets: + - "container" + - "cpu" + - "diskio" + - "event" + - "healthcheck" + - "info" + - "image" + - "memory" + - "network" + hosts: ["unix:///var/run/docker.sock"] + period: ${OPENVIDU_PRO_STATS_MONITORING_INTERVAL}s + enabled: true - module: system metricsets: - cpu diff --git a/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/beats/metricbeat.yml b/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/beats/metricbeat.yml index 279e2e07..ca58ffa5 100644 --- a/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/beats/metricbeat.yml +++ b/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/beats/metricbeat.yml @@ -1,35 +1,49 @@ metricbeat.modules: -- module: nginx - metricsets: ["stubstatus"] - enabled: true - period: 10s - hosts: ["http://127.0.0.1"] - server_status_path: "nginx_status" -- module: system - metricsets: - - cpu - - diskio - - memory - - network - - filesystem - - fsstat - - process_summary - - uptime - filesystem.ignore_types: [nfs, smbfs, autofs, devtmpfs, devpts, hugetlbfs, tmpfs, sysfs, securityfs, cgroup2, cgroup, pstore, debugfs, configfs, fusectl, proc, fuse.lxcfs, squashfs] - processes: ['.*'] - processors: - - drop_event: - when: - or: - - regexp: - system.network.name: '^(veth|lo|docker|br-)($|)' - - regexp: - system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host)($|/)' - - regexp: - system.filesystem.mount_point: '^/hostfs/(sys|cgroup|proc|dev|etc|host)($|/)' - enabled: true - period: ${OPENVIDU_PRO_STATS_MONITORING_INTERVAL}s - cpu.metrics: [normalized_percentages] + - module: docker + metricsets: + - "container" + - "cpu" + - "diskio" + - "event" + - "healthcheck" + - "info" + - "image" + - "memory" + - "network" + hosts: ["unix:///var/run/docker.sock"] + period: ${OPENVIDU_PRO_STATS_MONITORING_INTERVAL}s + enabled: true + - module: nginx + metricsets: ["stubstatus"] + enabled: true + period: ${OPENVIDU_PRO_STATS_MONITORING_INTERVAL}s + hosts: ["http://127.0.0.1"] + server_status_path: "nginx_status" + - module: system + metricsets: + - cpu + - diskio + - memory + - network + - filesystem + - fsstat + - process_summary + - uptime + filesystem.ignore_types: [nfs, smbfs, autofs, devtmpfs, devpts, hugetlbfs, tmpfs, sysfs, securityfs, cgroup2, cgroup, pstore, debugfs, configfs, fusectl, proc, fuse.lxcfs, squashfs] + processes: ['.*'] + processors: + - drop_event: + when: + or: + - regexp: + system.network.name: '^(veth|lo|docker|br-)($|)' + - regexp: + system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host)($|/)' + - regexp: + system.filesystem.mount_point: '^/hostfs/(sys|cgroup|proc|dev|etc|host)($|/)' + enabled: true + period: ${OPENVIDU_PRO_STATS_MONITORING_INTERVAL}s + cpu.metrics: [normalized_percentages] output: elasticsearch: hosts: ["${OPENVIDU_PRO_ELASTICSEARCH_HOST}"] diff --git a/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml b/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml index 869c8b0b..95684a5d 100644 --- a/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml +++ b/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml @@ -143,12 +143,14 @@ services: image: docker.elastic.co/beats/metricbeat-oss:7.8.0 network_mode: host restart: always + user: root env_file: - .env environment: - OPENVIDU_PRO_ELASTICSEARCH_HOST=${OPENVIDU_PRO_ELASTICSEARCH_HOST:-http://127.0.0.1:9200} - OPENVIDU_PRO_STATS_MONITORING_INTERVAL=${OPENVIDU_PRO_STATS_MONITORING_INTERVAL:-10} volumes: + - /var/run/docker.sock:/var/run/docker.sock - ./beats/metricbeat.yml:/usr/share/metricbeat/metricbeat.yml:ro - /proc:/hostfs/proc:ro - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro