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 mainimport ("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

转载于:https://www.cnblogs.com/zhangqingping/p/4707186.html

riemann的安装和使用相关推荐

  1. Ubuntu 14.04安装配置Calamari

    操作系统安装 --省略-- 配置服务器信任 --省略-- Calamari服务端部署 1. 配置ubuntu默认仓库为阿里云镜像库 deb http://mirrors.aliyun.com/ubun ...

  2. mac下安装python3

    mac下安装python3 1.先用brew search命令查看 brew search python3 结果如下所示: ==> Formulae boost-python3 python3 ...

  3. mac安装MySQL-very easy

    文章目录 1.命令: 2.安装过程 3.启动MySQL 4.设置密码 5.遇到问题 方法:直接用Homebrew安装 1.命令: brew install mysql 2.安装过程 zhangjing ...

  4. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  5. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  6. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  7. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  8. docker一步安装mysql,docker的魅力就在于此

    正常来说,使用docker安装东西的步骤是serach它有没有,然后pull它 这里其实只要一步(如果你没有安装过.没有端口占用等问题的话!!) $ docker run -d -p 3306:330 ...

  9. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

最新文章

  1. 《挑战程序设计竞赛(第2版)》习题册攻略
  2. 14.8类成员的属性
  3. 范围查询 BETWEEN AND
  4. python中的ix是啥_python pandas (ix iloc loc) 的区别
  5. shell与subshell与执行脚本的几种方式
  6. ExtJS Grid 与 Asp.NET 通信
  7. CPU特性标志及含义
  8. 树莓派3B+编译OpenCV3.4.3详细步骤
  9. io vivado 怎么查看ps_vivado学习之PS与PL通信
  10. java serviceimple,java apiimpl怎么调用 service接口
  11. redis缓存数据库技术
  12. 通达(极限)OA2007SE第二版开源代码,注意哦,是100%开源代码,不是破解的!!!
  13. ADNI-Study-Data
  14. wordpress短代码转php,七个超级实用的WordPress 短代码
  15. 移动端H5页面必用代码
  16. 重建oracle inventory
  17. uip-0[1].6中文说明
  18. html表格自动分列,html页面中表单怎么用div分列布局
  19. 树状结构导出到excel表格
  20. 使用Python的psutil包获取机器IPv4信息

热门文章

  1. 构建高性能WEB站点笔记二
  2. Git学习笔记与IntelliJ IDEA整合
  3. freebsd下支持LATEX书写数学公式的网站搭建
  4. hmcl手机版_hmcl启动器
  5. python用matplotlib画球_python 如何用matplotlib画一个漂亮的圆-百度经验
  6. (23)触发器verilog与VHDL编码(学无止境)
  7. linux日志删除1天前,Linux自动删除n天前日志
  8. 数据返回nan_数据处理教程
  9. mdk cubemx 移植RT-Thread Nano 至stm32f424zgt6
  10. flash 4K扇区写入函数