l2met

command module
v0.0.0-...-6af4885 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2013 License: GPL-3.0 Imports: 14 Imported by: 0

README

l2met

Turn these:

$stdout.puts("measure.db.latency=4ms")

Into this:

img

L2met receives HTTP requests that contain a body of RFC5424 formatted data. Commonly, data is drained into l2met by logplex or log-shuttle. Once data is delivered, l2met extracts and parses the log lines using the logging conventions and then stores the data in redis so that l2met outlets can read the data, build metrics, and deliver the metrics to your Librato account.

Checkout the wiki for information related to: usage, archetecture, and administration.

Getting Started

The easiest way to get l2met up and running is to deploy to Heroku. This guide assumes you have already created a Heroku & Librato account.

$ curl https://s3-us-west-2.amazonaws.com/l2met/v2.0beta/linux/amd64/l2met.tar.gz | tar xvz

$ ./setup my-l2met e@foo.com abc123
...
Drain URL: https://long-token@my-l2met.herokuapp.com/logs

This command will create Heroku app named my-l2met and return a drain URL with encrypted Librato credentials for a Librato account with email e@foo.com and an API token of abc123. After you have created my-l2met, you can add the drain URL to a Heroku app. A copy of the log stream will be delivered to my-l2met and metrics will be sent to the Librato account which your provided in the setup.

$ heroku drains:add https://long-token@my-l2met.herokuapp.com/logs -a myapp

You can manually send data to my-l2met by the following curl command:

$ curl "https://long-token@my-l2met.herokuapp.com/logs" --data "94 <190>1 2013-03-27T20:02:24+00:00 hostname token shuttle - - measure.hello=99 measure.world=100"

Verify the command worked by viewing the newly created metrics.

Hacking on l2met

Before working on a new feature, send your proposal to the mailing list for tips & feedback. Be sure to work on a feature branch and submit a PR when ready.

Documentation

GoDoc

Running Tests

Build Status

$ go version
go version go1.1.1 darwin/amd64
$ git clone git://github.com/ryandotsmith/l2met.git
$ cd l2met
$ export SECRETS=$(dd if=/dev/urandom bs=32 count=1 2>/dev/null | openssl base64)
$ export TZ=UTC
$ go test ./...

Documentation

Overview

L2met converts a formatted log stream into metrics.

Directories

Path Synopsis
Provides helpers for authentication & authorization via HTTP.
Provides helpers for authentication & authorization via HTTP.
A collection of measurements.
A collection of measurements.
Conf exposes a data structure containing all of the l2met configuration data.
Conf exposes a data structure containing all of the l2met configuration data.
An internal metrics channel.
An internal metrics channel.
The outlet pkg is responsible for taking buckets from the reader, formatting them in the Librato format and delivering the formatted librato metrics to Librato's API.
The outlet pkg is responsible for taking buckets from the reader, formatting them in the Librato format and delivering the formatted librato metrics to Librato's API.
The reader pkg is responsible for reading data from the store, building buckets from the data, and placing the buckets into a user-supplied channel.
The reader pkg is responsible for reading data from the store, building buckets from the data, and placing the buckets into a user-supplied channel.
Receiver provides mechanisms to read log requests, extract measurements from log requests, aggregate measurements in buckets, and flush buckets into a memory store.
Receiver provides mechanisms to read log requests, extract measurements from log requests, aggregate measurements in buckets, and flush buckets into a memory store.
The store pkg is responsible for coordinating bucket transfer between the receivers (front-end) and readers & outlets (back-end).
The store pkg is responsible for coordinating bucket transfer between the receivers (front-end) and readers & outlets (back-end).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL