riemann的安装和使用

Riemann monitors distributed systems.

具体介绍就不多说了,一个分布式的监控系统。可以接收各种event上报,然后通过强大的脚本和插件,展示曲线,柱状,饼图等来对系统进行监控。

一、riemann安装

这里主要说ubuntu的安装:

首先,需要java、ruby环境:sudo apt-get -y install default-jre ruby-dev build-essential

然后下载riemann的包:

wget https://aphyr.com/riemann/riemann_0.2.8_all.deb
然后直接安装就OK了:sudo dpkg -i riemann_0.2.8_all.deb

采用命令就可以启动服务了:
 sudo service riemann start
 

二、riemann配置

配置文件在

/etc/riemann/riemann.config

默认配置如下

; -*- mode: clojure; -*-
; vim: filetype=clojure

(logging/init {:file "/var/log/riemann/riemann.log"})

; Listen on the local interface over TCP (5555), UDP (5555), and websockets
; (5556)
(let [host "127.0.0.1"]
(tcp-server {:host host})
(udp-server {:host host})
(ws-server  {:host host}))

; Expire old events from the index every 5 seconds.
(periodically-expire 5)

(let [index (index)]
; Inbound events will be passed to these streams:
(streams
  (default :ttl 60
    ; Index all events immediately.
    index

    ; Log expired events.
    (expired
      (fn [event] (info "expired" event))))))

可以使用go的client进行event的发送:

package main

import (
    "github.com/bigdatadev/goryman"
    //"fmt"
    "time"
    "math/rand"
)

func main(){
c := goryman.NewGorymanClient("localhost:5555")
err := c.Connect()
if err != nil {
    panic(err)
}

defer c.Close()

for {
rd := rand.New(rand.NewSource(time.Now().UnixNano()))

err = c.SendEvent(&goryman.Event{
    Host : "box1",
    Service: "foo",
    Metric:  rd.Intn(1000),
    Tags: []string{"meter","dev"},
})
if err != nil {
    panic(err)
}

rd = rand.New(rand.NewSource(time.Now().UnixNano()))

err = c.SendEvent(&goryman.Event{
    Host : "box2",
    Service: "bar",
    Metric:  rd.Intn(1000),
    Tags: []string{"meter","dev"},
})
if err != nil {
    panic(err)
}
}
}

三、把riemann数据使用graphite来进行画图

由于riemann本身提供的数据图形化比较难弄,但是它可以方便的只想graphite进行处理。

所以,我们装一下graphite。

#安装启动graphite
pip install carbonpip install whisperpip install graphite-web
pip install Django
pip install django-tagging
#默认安装路径在 /opt/graphite/目录下

#初始化配置
PYTHONPATH=`pwd`/webapp:`pwd`/whisper python ./webapp/graphite/manage.py syncdbecho DEBUG = True > webapp/graphite/local_settings.py

#启动web服务,web访问界面
PYTHONPATH=`pwd`/whisper ./bin/run-graphite-devel-server.py --libs=`pwd`/webapp/ /opt/graphite/

#启动接收数据的后台进程puchd config cp carbon/conf/carbon.conf.example carbon/conf/carbon.confPYTHONPATH=`pwd`/whisper ./carbon/bin/carbon-cache.py --debug start

在riemann的配置中增加一行:

; -*- mode: clojure; -*-
; vim: filetype=clojure

(logging/init {:file "/var/log/riemann/riemann.log"})

; Listen on the local interface over TCP (5555), UDP (5555), and websockets
; (5556)
(let [host "127.0.0.1"]
(tcp-server {:host host})
(udp-server {:host host})
(ws-server  {:host host}))

; Expire old events from the index every 5 seconds.
(periodically-expire 5)

(let [index (index)]
; Inbound events will be passed to these streams:
(streams
  (default :ttl 60
    ; Index all events immediately.
    index

    ; Log expired events.
    (expired
      (fn [event] (info "expired" event))))))

#定义graph绘图的host,这里是部署在一台机器上面的
(def graph (graphite {:host "localhost"}))

;所有的event数据都发给graph进行绘图

(streams  graph)

然后启动go的test程序进行发送数据,就能在graphite上面看到数据了:

总结:

riemann非常灵活,但灵活的同时是学习成本的增加。你必须要学会他的配置,而且要熟悉对应的配置语言的语法和函数(当然学会之后,就非常流弊了)。

具体可以参考它官网的howto介绍。 这里就浅尝辄止了,后面项目有需要再好好研究。

参考连接:

http://kartar.net/2014/12/an-introduction-to-riemann/

#如何配置
http://labs.amara.org/2012-07-16-metrics.html#riemann
#streams配置最重要
http://riemann.io/howto.html#running-riemann

时间: 2024-10-12 10:20:07

riemann的安装和使用的相关文章

安装Windows7系统时,提示:缺少所需的CD/DVD驱动器设备驱动程序

      测试机型:HP probook 430 g3       系统:Windows 7 Pro x64 现在笔记本电脑主板集成的USB口大多为3.0版本,而且一些厂商为了追求PC的轻薄,不再集成光驱,所以我们在安装系统时,一般只能通过U盘或U口外接光驱. 而当我们因为需要(安装OEM系统),在通过刻录软件(如UltraISO)将系统写入U盘或光盘的方式安装系统时,此时问题就可能悄悄出现了:因为Win7官方原版系统没有集成USB3.0驱动,所以可能的报错如下: 点击"浏览"或通过

Windows8.1-KB2999226-x64安装提示 此更新不适用你的计算机

如题 Windows8.1-KB2999226-x64.msu  双击安装 安装提示 此更新不适用你的计算机 . 解决方案: 放在D:\update\目录下 windows键+X  选择  命令提示符(管理员)  一定要是管理员 打开cmd 分别执行下面两句.红色部分就是自己的更新程序了.其他安装同理 例如Windows8.1-KB2919442-x64.msu 等 1    expand –F:* D:\update\Windows8.1-KB2999226-x64.msu D:\update

pip安装提示PermissionError: [WinError 5]错误问题解决

 问题现象 新安装python3.6版本后使用pip安装第三方模块失败,报错信息如下: C:\Users\linyfeng>pip install lxml Collecting lxml Downloading http://pypi.doubanio.com/packages/fb/41/b8d5c869d01fcb77c72d7d226a847a3946034ef19c244ac12920b71cd036/lxml-3.8.0-cp36-cp36m-win32.whl (2.9MB) 10

windows安装TortoiseGit详细使用教程【基础篇】

环境:win8.1 64bit 安装准备: 首先你得安装windows下的git msysgit1.9.5 安装版本控制器客户端tortoisegit  tortoisegit1.8.12.0 [32和64别下载错,不习惯英文的朋友,也可以下个语言包] 一.安装图解: 先安装GIT[一路默认即可] 安装好git以后,右键,会发现菜单多了几项关于GIT的选项 2.安装tortoisegit[一路默认即可] 安装好以后,右键,会发现菜单多了几项关于tortoisegit的选项 到此,安装算完成了,相

在Win10 Anaconda中安装Tensorflow

有需要的朋友可以参考一下 1.安装Anaconda 下载:https://www.continuum.io/downloads,我用的是Python 3.5 下载完以后,安装. 安装完以后,打开Anaconda Prompt,输入清华的仓库镜像,更新包更快: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_url

Linux下WebSphereV8.5.5.0 安装详细过程

Linux下WebSphereV8.5.5.0 安装详细过程 自WAS8以后安装包不再区别OS,一份介质可以安装到多个平台.只针对Installation Manager 进行了操作系统的区分 ,Websphere产品介质必须通过专门的工具Install Managere安装.进入IBM的官网http://www.ibm.com/us/en/进行下载.在云盘http://yun.baidu.com/share/linkshareid=2515770728&uk=4252782771 中是Linu

Python学习1-Python和Pycharm的下载与安装

本文主要介绍Python的下载安装和Python编辑器Pycharm的下载与安装. 一.Python的下载与安装 1.下载 到Python官网上下载Python的安装文件,进入网站后显示如下图: 网速访问慢的话可直接在这里下载:python-2.7.11.amd64 在Downloads中有对应的支持的平台,这里我们是在Windows平台下运行,所以点击Windows,出现如下: 在这里显示了Python更新的所有版本,其中最上面两行分别是Python2.X和Python3.X对应的最后更新版本

oracle安装故障:完美解决xhost +报错: unable to open display “”

oracle安装 先切换到root用户,执行xhost + 然后再切换到oracle用户,执行export DISPLAY=:0.0 出现乱码执行export LANG=US_en 在这里给大家介绍下两种情况的常见问题: 一种是本地运行的命令,另一种则是远程ssh命令安装. DISPLAY科普 DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行

centos7下使用yum安装mysql

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个