Skip to content

batazor/go-logger

Repository files navigation

go-logger

Writes telemetry to TSDB GoDoc OpenTracing Badge

Feature

  • Support JSON data
    • Convert nested JSON to flat JSON
  • Support transports
    • AMQP (RabbitMQ) (Input data)
  • API
    • gRPC
  • Opentracing
  • Support
    • Kubernetes (Helm chart)
      • Healthcheck implementing Kubernetes liveness and readiness probe
    • Prometheus metrics
    • GitLab CI

Getting start

CLICK ME

# Generate gRPC code
go get -u github.com/golang/protobuf/proto
protoc --go_out=plugins=grpc:. pb/*.proto

# Run services
$ docker-compose up

ENV

Name Default value
GRPC_ENABLE true
GRPC_PORT "50051"
REDIS_ENABLE true
MONGO_ENABLE true
AMQP_ENABLE true
AMQP_API amqp://telemetry:telemetry@localhost:5672/
AMQP_NAME_QUEUE go-logger-packets
AMQP_EXCHANGE_LIST "demo1, demo2"
AMQP_EXCHANGE_TYPE "headers"
DB_ID "_oid"
PROMETHEUS_ENABLED "true"
OPENTRACING_ENABLED "true"
JAEGER_SERVICE_NAME go-logger
JAEGER_AGENT_HOST_PORT "localhost:5778"
JAEGER_RPC_METRICS "true"

Grafana

CLICK ME
Grafana dashboard example

Support:

  • Group by ID object

Prometheus

CLICK ME

Prometheus metrics localhost:9090/metrics

Prometheus metrics:

  • Basic metrics

GitLAb CI

This project support GitLab CI

CLICK ME

Name Description
DOCKER_PASS --
DOCKER_USER --
GITHUB_PASSWORD --
GITHUB_REPOSITORY_URL --
GITHUB_USER --
HELM_CONTEXT --
PROJECT_NAMESPACE --

Benchmark

CLICK ME

Run bot

Run go run /tests/bot/bot.go

Read from AMQP queue (1M message/1 instance)

read_packets