OTEL cluster example:
version: "3" services: # To eventually offload to Tempo... tempo: image: grafana/tempo:r24-161073a command: [ "-config.file=/etc/tempo.yaml" ] volumes: - ./tempo-local.yaml:/etc/tempo.yaml - ./overrides.yaml:/etc/overrides.yaml ports: - "14268" # jaeger ingest - "3200" # tempo - "4317" # otlp grpc - "4318" # otlp http - "9411" # zipkin loki: image: grafana/loki:2.4.1 platform: linux/amd64 ports: - "3100:3100" command: -config.file=/etc/loki/local-config.yaml # Collector otel-collector: platform: linux/amd64 image: otel/opentelemetry-collector-contrib:0.43.0-amd64 command: [ "--config=/etc/otel-collector-config.yaml", # Memory Ballast size should be max 1/3 to 1/2 of memory. # "--mem-ballast-size-mib=683", "${OTELCOL_ARGS}" ] volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - "1888:1888" # pprof extension - "8888:8888" # Prometheus metrics exposed by the collector - "8889:8889" # Prometheus exporter metrics - "13133:13133" # health_check extension - "4317:4317" # OTLP gRPC receiver - "55670:55679" # zpages extension - "24224:24224" # fluentforwarder - "24224:24224/udp" # fluentforwarder depends_on: - tempo prometheus: container_name: prometheus image: prom/prometheus:latest volumes: - ./prometheus.yaml:/etc/prometheus/prometheus.yml ports: - "9090:9090" grafana: container_name: grafana platform: linux/amd64 image: grafana/grafana:8.4.4 volumes: - ./grafana.ini:/etc/grafana/grafana.ini - ./grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml environment: GF_INSTALL_PLUGINS: grafana-clock-panel,grafana-simple-json-datasource GF_AUTH_ANONYMOUS_ENABLED: "true" GF_AUTH_ANONYMOUS_ORG_ROLE: Admin GF_AUTH_DISABLE_LOGIN_FORM: "true" ports: - "3000:3000"
Use check
command which check target collectors address for compliance OTLP protocol possibility to gather logs.
Use demo
to perform emulate all log possibilities: send logs with traces and metrics.