Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/batazor/go-logger

Writes telemetry to TSDB
https://github.com/batazor/go-logger

golang inluxdb logger microservice telemetry tsdb

Last synced: 8 days ago
JSON representation

Writes telemetry to TSDB

Awesome Lists containing this project

README

        

# go-logger

Writes telemetry to TSDB [![GoDoc][doc-img]][doc] [![OpenTracing Badge](https://img.shields.io/badge/OpenTracing-enabled-blue.svg)](http://opentracing.io)

### 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
+ Grafana dashboard (https://grafana.com/dashboards/240)
+ 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](./docs/read_packet.png)

[doc-img]: https://godoc.org/github.com/batazor/go-logger?status.svg
[doc]: https://godoc.org/github.com/batazor/go-logger