Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alerta/riemann-alerta
Create alerts from riemann metrics
https://github.com/alerta/riemann-alerta
alerta clojure riemann
Last synced: about 1 month ago
JSON representation
Create alerts from riemann metrics
- Host: GitHub
- URL: https://github.com/alerta/riemann-alerta
- Owner: alerta
- License: mit
- Created: 2013-10-07T20:11:28.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-09-04T15:55:44.000Z (over 6 years ago)
- Last Synced: 2024-05-21T04:15:39.254Z (7 months ago)
- Topics: alerta, clojure, riemann
- Language: HTML
- Homepage: http://alerta.io
- Size: 845 KB
- Stars: 16
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Riemann-to-Alerta
=================Forward Riemann events to Alerta for a consolidated view and improved visualisation.
Transform this ...
![nagios](/docs/images/riemann.png?raw=true)
Into this ...
![alerta](/docs/images/riemann26-alerta-v3.png?raw=true)
Installation
------------To install Riemann on Debian/Ubuntu...
$ export VERSION=0.3.1
$ sudo apt-get install openjdk-7-jre
$ wget -nv https://github.com/riemann/riemann/releases/download/${VERSION}/riemann_${VERSION}_all.deb
$ sudo dpkg -i riemann_${VERSION}_all.debReplace the default riemann.config file with the example...
$ sudo mv /etc/riemann/riemann.config{,.bak}
$ wget https://raw.github.com/alerta/riemann-alerta/master/riemann.config
$ sudo cp riemann.config /etc/riemann/Add the alerta clojure library...
$ wget https://raw.github.com/alerta/riemann-alerta/master/alerta.clj
$ sudo cp alerta.clj /etc/riemann/Configuration
-------------Include and require the Alerta plugin:
```clojure
(include "alerta.clj")
(:require '[alerta :refer [alert heartbeat]])
```Set the alert and heartbeat endpoints depending on where the alerta API is located:
```clojure
; Alerta configuration
(def alert (alerta/alert {:endpoint "https://alerta-api.herokuapp.com" :api-key "demo-key"}))
(def heartbeat (alerta/heartbeat {:endpoint "https://alerta-api.herokuapp.com" :api-key "demo-key"}))
```Start Riemann...
$ sudo service riemann startTesting
-------Generate some test alerts by generating metrics using `riemann-health`...
$ sudo apt-get install ruby1.9.1 ruby1.9.1-dev
$ sudo gem install riemann-tools
$ riemann-healthTroubleshooting
---------------To generate debug output from the HTTP client add `debug` and/or
`debug-body` to the Alerta configuration definitions as shown:```clojure
; Alerta configuration
(def alert (alerta/alert {:endpoint "https://alerta-api.herokuapp.com" :debug true :debug-body true}))
(def heartbeat (alerta/heartbeat {:endpoint "https://alerta-api.herokuapp.com" :debug true :debug-body true}))
```**Example Debug output**
```
HttpRequest:
{:config nil,
:method "POST",
:requestLine
#object[org.apache.http.message.BasicRequestLine 0x1eb6380d "POST https://alerta-api.herokuapp.com/alert HTTP/1.1"],
:aborted false,
:params
#object[org.apache.http.params.BasicHttpParams 0x4678323f "org.apache.http.params.BasicHttpParams@4678323f"],
:protocolVersion
#object[org.apache.http.HttpVersion 0x389a53e1 "HTTP/1.1"],
:URI
#object[java.net.URI 0xede089 "https://alerta-api.herokuapp.com/alert"],
:class org.apache.http.client.methods.HttpPost,
:allHeaders
[#object[org.apache.http.message.BasicHeader 0x42265e51 "Connection: close"],
#object[org.apache.http.message.BasicHeader 0x11b5e77c "Authorization: Key demo-key"],
#object[org.apache.http.message.BasicHeader 0x574090ad "content-type: application/json"],
#object[org.apache.http.message.BasicHeader 0x34bc7ac8 "accept: application/json"],
#object[org.apache.http.message.BasicHeader 0x675e94f2 "accept-encoding: gzip, deflate"]],
:entity
#object[org.apache.http.entity.StringEntity 0x59ee0162 "[Content-Type: text/plain; charset=UTF-8,Content-Length: 471,Chunked: false]"]}
```References
----------* clj-http - https://github.com/dakrone/clj-http
License
-------Copyright (c) 2013,2018 Nick Satterly. Available under the MIT License.