Cloud native log shipping daemon written in Go
Go to file
2022-11-09 21:13:36 +02:00
pkg metrics: move Subsystem to constants 2022-11-09 21:13:36 +02:00
vendor refactor: use py mongo struct + stdlib log 2022-11-09 15:59:30 +02:00
.drone.yml add drone? 2022-11-07 00:26:12 +02:00
.gitignore it is shipping and parsing 2022-11-06 03:43:52 +02:00
Dockerfile go mod vendor 2022-11-07 00:26:05 +02:00
go.mod refactor: use py mongo struct + stdlib log 2022-11-09 15:59:30 +02:00
go.sum refactor: use py mongo struct + stdlib log 2022-11-09 15:59:30 +02:00
main.go move interrupt signal to main 2022-11-09 20:13:50 +02:00
README.md implement Simulate and globalize BufferLimit 2022-11-09 20:33:44 +02:00

logmower-shipper

Watches log directory for logs, and ships them to mongo.

  • Running: go run .
  • Building: go build .

Files

  1. pkg/globals defines globals. This is used for Prometheus namespace, and for forwarding static global CLI configuration with less clutter.
  2. main.go serves /metrics and runs watcher.go.
  3. pkg/watcher main routine; initializes (including mongo.go) and watches for new log files.
    • pkg/mongo provides statically safe and central tools to interact with the database.
    • pkg/util provides additional utility functions.
  4. pkg/file handles file lifecycle; watches files and tails them, streaming lines to pkg/lines.
  5. pkg/lines processes lines and streams them to pkg/sender.
  6. pkg/sender batches lines and ships them to mongo.