日誌文件監控利器 - logstash

最近在使用logstash進行日誌蒐集,很方便的一個開源軟件軟件,開包即用,使用JRuby來開發的,呵呵,我一看到不是java開發的開源項目,就有一種莫名其妙的牴觸情緒,怪哉怪哉,不過我去它們的jira系統,發現裏邊還是很活躍的,jira地址:https://logstash.jira.com/secure/Dashboard.jspa

在這裏先講一下logstash的用法吧, so easy.

下載logstash jar文件,https://download.elasticsearch.org/logstash/logstash/logstash-1.2.2-flatjar.jar

官方有一個場景是logstash監控日誌文件,統一吐到Redis server中,在用一個logstash讀取日誌,並存放到ElasticSearch,我感覺這塊還是挺實用的,具體地址:http://logstash.net/docs/1.2.2/tutorials/getting-started-centralized


要啓動logstash,首先要有一個配置文件sample.conf,它包含一個input域和output域,同時還可以設置filter和codecs。

Input就是文件的來源,有多種指定方式,支持通配符,同時也可以指定多個文件。

Output就是文件的輸出,可以設置輸出到多個目標源,在這裏指定它輸出到Redis server,同時設置輸出的類型爲list,key就是每一條日誌的名稱,它默認是以map形式輸出的,host爲redis的主機地址。

下面這個配置文件是我做的一個小例子。

input {

  file {

    type =>"linux-syslog"

 

    # Wildcardswork, here :)

    path =>[ "/var/log/messages"]

  }

 

}

output {

 redis {

    data_type=> "list" key => "test"

    host =>"localhost"

  }

}

啓動logstash:  java -jarlogstash-1.2.1-flatjar.jar agent -f sample.conf –web

Logstash提供web監控界面,地址爲:http://localhost:9292

這時,logstash可以將message更新的日誌文件,按條發送到Redis server中,用戶可以自己寫一個jar文件讀取redis的日誌,也可以使用logstash讀取。

下圖是logstash支持的inputs、codecs、filters和outputs的參數配置,你不必每一個都瞭解,當需要的時候現查就可以了,地址爲:http://logstash.net/docs/1.2.2/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章