2015-11-05 76 views
1

我想讀訪問日誌從/var/log/wtmp S IN elasticsearch如何讀/無功/日誌/ wtmp文件記錄在elasticsearch

若用last -F /var/log/wtmp

我登錄到箱子我可以讀取該文件logstash運行併發送日誌到elasticsearch,這裏是logstash conf文件。

input { 
    file { 
    path => "/var/log/wtmp" 
    start_position => "beginning" 
    } 
} 

output { 
    elasticsearch { 
    host => localhost 
    protocol => "http" 
    port => "9200" 
    } 
} 

什麼是elasticsearch顯示是

enter image description here

回答

4

一旦我使用較少打開的文件,我只能看到二進制數據。 現在logstash不能理解這些數據。 像下圖的logstash文件應該很好地工作 -

input { 
    pipe { 
    command => "/usr/bin/last -f /var/log/wtmp" 
    } 
} 

output { 
    elasticsearch { 
    host => localhost 
    protocol => "http" 
    port => "9200" 
    } 
} 
+0

它的工作原理。我只是添加了一些上下文... – hurb

+0

100%的錢,感謝您的快速回復@Vineeth Mohan – Gman

+0

當然,任何時間傢伙 –

1

比涅斯的答案是正確的,但下面的清潔工作配置,以及:

input { pipe { command => "last" } } 

last /var/log/wtmplast是完全一樣的。


utmp, wtmp, btmp用於跟蹤用戶登錄和退出的Unix的文件。它們不能被直接讀取,因爲它們不是常規的文本文件。但是,有last命令以純文本形式顯示/var/log/wtmp的信息。

$ last --help 

Usage: 
last [options] [<username>...] [<tty>...] 

若用最後-F/VAR登錄框,我可以讀取文件/日誌/ wtmp文件

我對此表示懷疑。在-F標誌做些什麼:

-F, --fulltimes  print full login and logout times and dates 

所以,last -F /var/log/wtmp將解釋/var/log/wtmp作爲一個用戶名,並不會顯示任何登錄信息。

-f標誌做些什麼:

-f, --file <file> use a specific file instead of /var/log/wtmp