Skip to content
shadhavar: log collector * read logs * semi real time * run command, and collect output * continous output (ex: dstat) * output from one command (ex: df) * auto configure via central configuration system * lightweight * send to multicast address via zmq (zmq: easy and fast, and assures correct transfer of data / messages)
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
plugins
.gitignore
README.md
collector.py
config

README.md

collector

About

The collector is the data harvesting client of shadhavar.

It currently depends on python (2.6 and later) and optionally on py-setproctitle.

Features

  • Configuration is loaded from files on the machine running the collector, but a remote server can push changes as well. Files will be parsed using confuse
  • Data will be collected by simple plugins, running in seperate processes.
  • Planned plugins
    • Files
    • Sockets
    • Commands (both continously running and returning programs)
  • No parsing keeps the collector light
  • Messages are sent to the server using zeromq

Status

  • The basic plugin infrastructure has been implemented
  • Configuration uses json at the moment, only $PWD/config is read. Global options:
    • socketpath: string; path to the socket used for communication with plugins
  • Implemented plugins and their config options:
    • Dummy: Sends the same message every second
      • message: string; literal string sent to the collector
    • UDS: Reads unix domain sockets, useful for e.g. syslog
      • listen: boolean; indicates whether the socket should be bound or not
      • path: string; path to the socket
      • type: string; socket type, "DGRAM" for datagram, "STREAM" for stream
Something went wrong with that request. Please try again.