Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 

Peak

Peak is an anamoly detection service for your metrics. The project began when I wanted to automate anamoly detection, but existing solutions weren't good enough.

At its heart, Peak consists of four things:

  • Metric - item you want to monitor and detect anamolies
  • Fetcher - source to pull the metrics from
  • Algorithm - determine if metric is an anamoly
  • Alerter - alert when metric is an anamoly

Here's a simple example:

Peak.metric :signups do
  describe "Number of new users per day."

  fetcher(:elasticsearch, {
    :query    => "signup",
    :index    => "analytics",
    :field    => "@timestamp",
    :interval => "12h",
    :from     => "2014-12-01",
    :till     => "now"
  })

  algorithm :less_than_10_percent

  alerter :slack
end

In above example we register an metric called :signups. This metric is fetched from elasticsearch fetcher using query options passed to it, checks against :less_than_10_percent algorithm and when that matches, it calls :slack alerter.

List of fetchers:

  • :elasticsearch

List of algorithms:

  • :simple_peak
  • :simple_drop
  • :peak_without_historic_peaks
  • :drop_without_historic_drops
  • :no_new_entries

List of alerters:

  • :slack

About

Anamoly detection service for your metrics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages