Logstash 如何设置日志存储以侦听snmptrap?

Logstash 如何设置日志存储以侦听snmptrap?,logstash,Logstash,我是lostash和Elastich研究的新手。我想通过snmptrap收集网络设备的日志。我对logstash有问题 +logstash-snmptrap.conf input { snmptrap { community => "public" port => 160 type => "snmp_trap" } } output { if [type

我是lostash和Elastich研究的新手。我想通过snmptrap收集网络设备的日志。我对logstash有问题

+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"
         }
      }
}
在执行以下命令时,我没有收到任何错误消息

root@pc:~# /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”,
我的日志存储配置有什么问题?

我通常看到snmptrap在端口162上运行。你确定你的是160吗

另外,不要以root用户身份运行进程。使用端口转发器(例如iptables)发送162到1062(snmptrap侦听的默认端口)


记住,如果logstash关闭,您将丢失陷阱。以前,我安装了一个小的日志库,它将侦听snmptrap和syslog并将它们写入redis,在主日志库启动时由主日志库读取。我将其替换为snmptrapd写入本地文件并让logstash读取该文件。我对输入的控制比logstash给我的更多。

现在,我已经在logstash-snmptrap.conf中将端口从160修改为1062,并检查netstat,如下所示:udp0.0.0.0:1620.0.0:*udp60 0:::1062::::*10771/java,但仍然找不到文件“/tmp/logstash snmptrap.log”?有些东西正在将162转发到1062?看起来陷阱没有转发到1062,你知道如何将陷阱从162转发到1062吗?在我的回答中,我说,“使用端口转发器(例如iptables),发送162到1062(snmptrap侦听的默认端口)。”