openshift/prometheus-alert-buffer-client-ruby

Name: prometheus-alert-buffer-client-ruby

Owner: OpenShift

Description: A Ruby library for reading alerts stored on a Prometheus Alert Buffer server

Created: 2017-08-03 09:47:52.0

Updated: 2017-11-07 15:36:56.0

Pushed: 2017-12-26 08:03:24.0

Homepage:

Size: 17

Language: Ruby

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Prometheus Alert Buffer Ruby Client

A Ruby library for reading alerts stored on a Prometheus Alert Buffer server.

Usage
Overview

require 'prometheus/alert_buffer_client'

# return a client for host http://example.com:9099/topics/alerts

prometheus = Prometheus::AlertBufferClient.client(url: 'http://example.com:9099')

Changing alerts path

# return a client for host http://example.com:9099/topics/topic1

prometheus = Prometheus::AlertBufferClient.client(url: 'http://example.com:9090', path: '/topics/topic1')

Authentication proxy

If an authentication proxy ( e.g. oauth2 ) is used in a layer above the prometheus-alert-buffer REST server, this client can use ssl and authentication headers.

# return a client for host https://example.com/topics/alerts using a Bearer token “TopSecret”

prometheus = Prometheus::AlertBufferClient.client(url: 'https://example.com:443',

                                      credentials: { token: 'TopSecret' })
Api calls
Reading alerts

# get all the alerts from server

alerts = prometheus.get()

Reading latest alerts

# get all the alerts with generation_id='12497ca8-b597-4590-ac5d-d55af7f3d185' and index >= 34

alerts = prometheus.get(generation_id: '12497ca8-b597-4590-ac5d-d55af7f3d185', from_index: 34)

Alerts will be returned in a Hash with following keys:

Posting alerts

# post an alert JSON to server

alerts = prometheus.post('{“alertId”:12}')


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.