compliance

command module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2022 License: MIT Imports: 2 Imported by: 0

README

= compliance
perform compliance test OTEL infrastructure: logging, metric and tracing via one grpc channel

OTEL cluster example:
[yaml]
----
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
=== download
https://github.com/tel-io/compliance/releases

=== golang
Go 1.16+
[bash]
----
go install github.com/d7561985/nats-ab@latest
----

Go version < 1.16
[bash]
----
go get -u github.com/d7561985/nats-ab@latest
----

== 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:

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL