🐳 tracee

Linux Runtime Security and Forensics using eBPF

Docker Ready 4 Services 4,478 stars
1. Pull Image docker pull prom/node-exporter@sha256
2. 1-Click Launch Command docker run -d --name tracee prom/node-exporter@sha256:4032c6d5bfd752342c3e631c2f1de93ba6b86c41db6b167b9a35372c139e7706
3. Compose Deployment docker compose up -d
performance/dashboard/docker-compose.yml
Download .yml
volumes:
  prometheus_data: {}

services:
  node-exporter:
    image: prom/node-exporter@sha256:4032c6d5bfd752342c3e631c2f1de93ba6b86c41db6b167b9a35372c139e7706 # v1.8.2
    container_name: tracee-node
    restart: unless-stopped
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro,rslave
    command:
      - '--path.procfs=/host/proc'
      - '--path.rootfs=/rootfs'
      - '--path.sysfs=/host/sys'
      - '--collector.disable-defaults'
      - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
      - '--collector.cpu'
      - '--collector.ethtool'
      - '--collector.loadavg'
      - '--collector.meminfo'
      - '--collector.meminfo_numa'
      - '--collector.netdev'
      - '--collector.netstat'
      - '--collector.os'
      - '--collector.pressure'
      - '--collector.processes'
      - '--collector.sockstat'
      - '--collector.softnet'
      - '--collector.tcpstat'
    expose:
      - 9100
    network_mode: "host"

  prometheus:
    image: prom/prometheus@sha256:2659f4c2ebb718e7695cb9b25ffa7d6be64db013daba13e05c875451cf51b0d3 # v2.55.1
    container_name: tracee-prometheus
    restart: unless-stopped
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - 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'
      - '--web.enable-lifecycle'
    expose:
      - 9090
    network_mode: "host"

  grafana:
    image: grafana/grafana@sha256:413503f21b7e854811d74ef68ae1d3dce4c4814aef5daf4424c4a7ef6d42c31d # 11.4.1
    container_name: tracee-grafana
    restart: unless-stopped
    volumes:
      - ./provisioning:/etc/grafana/provisioning
    environment:
      - GF_SECURITY_ALLOW_EMBEDDING=true
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
      - GF_AUTH_DISABLE_LOGIN_FORM=true
      - GF_AUTH_OAUTH_AUTO_LOGIN=true
      - GF_EXPLORE_ENABLED=false
      - GF_ALERTING_ENABLED=false
      - GF_UNIFIED_ALERTING_ENABLED=false
      - GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/etc/grafana/provisioning/dashboards/tracee.json
    expose:
      - 3000
    network_mode: "host"

  pyroscope:
    image: pyroscope/pyroscope@sha256:dbca95a15bc1af46b25eb85f417934dcd78f2e0bbe2037aa52b92cb3b0d391ff # 0.37.2
    container_name: tracee-pyroscope
    restart: unless-stopped
    environment:
        - PYROSCOPE_LOG_LEVEL=info
    expose:
      - 4040
    command:
      - "server"
    network_mode: "host"