2016-03-15 119 views
0

我是一個新的lostash和elastichsearch。我想通過snmptrap收集網絡設備的日誌。我有一個logstash問題。如何設置logstash來監聽snmptrap?

+logstash-snmptrap.conf 

input { 
     snmptrap { 
      community => "public" 
      port => 160 
      type => "snmp_trap" 
      } 
     } 

output { 
if [type] == "snmp_trap" { 
    file { 
    codec => "rubydebug" 
    flush_interval => 1 
    path => "/tmp/logstash-snmptrap.log" 
     } 
     } 
} 

我沒有得到任何錯誤味精當我執行命令如下,

[email protected]:~# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash- 
snmptrap.conf 

Settings: Default filter workers: 1 
Logstash startup completed 
Settings: Default filter workers: 1 
Logstash startup completed 

,但我無法找到文件「/tmp/logstash-snmptrap.log」, 我的logstash配置有什麼問題?

回答

0

我通常看到確實在端口162 SNMPTRAP運行你的是160?

另外,不要以root身份運行進程。使用端口轉發器(例如iptables)發送162到1062(snmptrap偵聽的默認端口)。

請記住,如果logstash關閉,您將失去陷阱。以前,我有一個小型logstash安裝,它會偵聽snmptrap和syslog,並將它們寫入redis,以便在主Logstash啓動時讀取。我用snmptrapd將其替換爲本地文件並讓logstash從該文件中讀取。我比logstash給了我更多的控制權。

+0

現在,我已經在logstash-snmptrap.conf中將端口從160修改爲1062,並檢查netstat如下:udp 0 0 0.0.0.0:162 0.0.0.0:* udp6 0 0 ::: 1062 ::: * 10771/java,但仍找不到文件「/tmp/logstash-snmptrap.log」? – andrewarnier

+0

什麼是轉發162到1062? –

+0

看起來陷阱沒有轉發到1062,你知道如何將陷阱從162轉發到1062嗎? – andrewarnier