Public | Automated Build

Last pushed: a year ago
Short Description
service for monitoring loggers, like Kafka
Full Description

Log Monitor

What is this?

Log monitor is a service for monitoring our logging services (helpful, I know).
It's a live view of the logs as they come in. It uses the very super fnacy
Rails 5 (wow)
ActionCable to tell
you all the things that are happeing IN REAL TIME (holy double wow, Batman).

As of today this only consumes Kafka

How do I boot it?

Because it's Rails 5 & ActionCable, you need to boot 3 separate things in 3
separate windows (probably)

  • rails s: main app, obvs bin/cable: this is the action cable bit. It does
  • the socked & redis stuff rake readers:start this spins up the process that
  • does the reading and the broadcast to AC

Or you can docker-compose up --build if you're into that sort of thing.

Env vars

You should customize

Kafka

  • KAFKA_HOSTS : What you want to read from
  • ZOOKEEPER_HOSTS : your zookeepers. Note: if one can't connect, everything will fail
  • KAFKA_READER_SUFFIX : If you are pointing at a shared env, this will set
    you apart from everyone else. Otherwise the first person to read a message
    gets it, and you're out of luck. And if you read a production message before
    the prod log_monitor, no one else will see it. Don't be that person. I
    recommend something like "{your name here}-devbox"

Requirements

  • Redis: you need this for Action Cable ruby 2.2.2+ : you need this for all the
  • rails 5 stuff. patience

Develpooment

Adding a new reader

Add to config/readers.yml topics list. Update the AvvoEvents gem
too, so it knows how to decode the Avro.

Code

Inherit from models/reader/base.rb

Config

config/readers.yml

Deployment

  1. ./bin/build.sh
  2. ./bin/publish.sh
  3. Visit http://rancher.stag.avvo.com:8080/env/1a49/apps/stacks/1e170 and
    Upgrade app, and probably reader too.
Docker Pull Command
Owner
avvo
Source Repository

Comments (0)