2014年9月25日 星期四

建立第一個Logstash設定檔

安裝完ELK之後,可以嘗試建立第一個設定檔。由於Kibana是設定在Apache服務中,我們就先拿apache access log來測試(位於 /var/log/httpd/access_log)
請到 /etc/logstash/conf.d 目錄下新增第一個設定檔,名稱可以任意定,例如 apache_access.conf。主要分成三個段落
  1. input : 設定輸入的類型、位置等資訊
    • 以檔案 file 的形式輸入
    • 指定檔案位置
  2. filter : 設定解析的方式、衍生欄位等
    • logstash已經有內建解析access log的方式,請直接用 grok 的設定。
  3. output : 輸出的位置
    • 本範例直接輸出到 elasticsearch 中
    • 若您的elasticsearch有指定 cluster名稱及node名稱,請記得設定在這邊,以免找不到服務。

input {
  file {
    path => "/var/log/httpd/access_log"
    type => "apache"  # a type to identify those logs (will need this later)
  }
}

filter {
  if [type] == "apache" {   # this is where we use the type from the input section
    grok {
      match => [ "message", "%{COMBINEDAPACHELOG}" ]
    }
  }
}

output {
  elasticsearch {
    host => "localhost"
    cluster => "LogCluster"
    node_name => "LogMaster"
  }
}
設定完成後,還要修改 /etc/init.d/logstash ,將啟動的使用者及群組改為root,以免權限不足沒辦法讀取access_log。

LS_USER=root
LS_GROUP=root 

 最後重新啟動logstash服務
# service logstash restart
Killing logstash (pid 1993) with SIGTERM
Waiting logstash (pid 1993) to die...
Waiting logstash (pid 1993) to die...
logstash stopped.
logstash started.
#

然後開啟瀏覽器 http://<your_ip_address 應該就可以看到了。

image

沒有留言:

張貼留言