I figured I would throw this out to the wolves, before working on any of the
ideas, in hope of collecting experience from any who have worked with this
idea before me. I’m likely to implement at least a proof of concept unless
someone points out a glaring show-stopping logic flaw.
“Why not?” is the question really.
“Why?” is easy:
- Uses as much omnipresent tooling as possible.
- Uses established system library calls instead of requiring developers to write, install, or copy/paste new ones.
- Because I found myself asking the following this past week: “Why am I about to build and package GNU netcat, for distribution to all of our Solaris 10 boxes, to get remarkably simple frigging UDP packets sent from shell commands?”
How: Client (Ideas)
Standard syslog configuration:
Developers use standard syslog calls specifying the
For non-real-time metrics from “shell land”, just use
How: Server (Ideas)
Tweak rsyslog or other well-known syslog “collector” product to:
- Parse basic Graphite or Graphite-like metric messages and perform RRD and/or Whisper writes. Additionally could implement built-in stats aggregation stuff like StatsD quite easily.
- Ignore all non-metric-conforming syslog data
Thanks for any thoughts below or via the original thread that links here.