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