compliance

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"

Install

golang

Go 1.16+

go install github.com/d7561985/[email protected]

Go version < 1.16

go get -u github.com/d7561985/[email protected]

Use-cases

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.

How to use

CLI support help command where you will find everything suitable:

GitHub

View Github