以 Riemann 0.2.13 安裝為例:

在 CentOS 6 安裝 Riemann

  1. 下載
    wget https://github.com/riemann/riemann/releases/download/0.2.13/riemann-0.2.13-1.noarch.rpm
    
  2. 安裝
    yum install riemann-0.2.13-1.noarch.rpm
    

在 Ubuntu 安裝 Riemann

  1. 下載

    wget  https://github.com/riemann/riemann/releases/download/0.2.13/riemann_0.2.13_all.deb
    
  2. 安裝

    sudo apt-get install gdebi-core
    sudo gdebi ./riemann_0.2.14_all.deb
    

config 檔的位置

   /etc/riemann/riemann.config

動態重新載入新的 config 檔

service riemann reload

安裝 Riemann client 端程式

Riemann 的 client 端程式主要有兩大類選項:

  1. 各種語言的 library ,可以用來使用各式的程式語言將監控項送入 Riemann 裡。以 riemann python client 為例,它就是 python 寫的 client side library。這一類的 library 只處理通訊協定 (google protobuf) 和「監控項格式化」的部分。「週期性資料採集」的邏輯並沒有實現。

  2. 使用 riemann-tools 來採集監控項。

範例: 以 riemann-client 將監控項送入 Riemann

riemann-client send -s "net.if.in.bits" -m 1000 -h AA -t tag1 -t tag2 -l 60 -d "ddd"

像這樣子的指令,就是說,送一個 Riemann 的監控項進去。監控項長成這樣:

欄位名稱
service net.if.in.bits
metric 1000
host AA
tags ["tag1", "tag2"]
ttl 60
description ddd
state nil

範例:以 riemann-net 採集網卡的流量送入 Riemann

  1. 在命令列,下 riemann-net 指令。只選擇其中兩張網卡介面: eth0, eth1 來採集監控項。

    riemann-net -n eth0 eth1
    
  2. 在 Riemann 的設定檔 riemann.config 設定,對於 service 欄位含有 bytes, packets 這兩個關鍵字的監控項,列印出來。

    (streams
      (where* (fn [e]
                (re-matches #".*(bytes|packets)" (:service e)))
              prn))
    
  3. Sample logs

    #riemann.codec.Event{:host "owl-docker", :service "eth0 rx bytes", :state "ok", :description nil, :metric 96.0, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth0 rx packets", :state "ok", :description nil, :metric 1.6, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth0 tx bytes", :state "ok", :description nil, :metric 148.8, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth0 tx packets", :state "ok", :description nil, :metric 1.6, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth1 rx bytes", :state "ok", :description nil, :metric 0.0, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth1 rx packets", :state "ok", :description nil, :metric 0.0, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth1 tx bytes", :state "ok", :description nil, :metric 0.0, :tags nil, :time 1497866517, :ttl 10.0}
    #riemann.codec.Event{:host "owl-docker", :service "eth1 tx packets", :state "ok", :description nil, :metric 0.0, :tags nil, :time 1497866517, :ttl 10.0}
    

results matching ""

    No results matching ""