Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tel-io/compliance

perform compliance test OTEL infrasracture: logging, metreic and tracing via one grpc channel
https://github.com/tel-io/compliance

Last synced: 16 days ago
JSON representation

perform compliance test OTEL infrasracture: logging, metreic and tracing via one grpc channel

Awesome Lists containing this project

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: