我是lostash和elastichsearch的新手。我想通过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" , 我的logstash配置有什么问题?
答案 0 :(得分:0)
我通常会看到snmptrap在端口162上运行。你确定你的是在160吗?
另外,不要以root身份运行该进程。使用端口转发器(例如iptables)发送162到1062(snmptrap侦听的默认端口)。
请记住,如果logstash已关闭,您将丢失陷阱。以前,我有一个小的logstash安装,它会监听snmptrap和syslog并将它们写入redis,以便在主logstash启动时读取。我用snmptrapd写入本地文件替换它,并让logstash从该文件中读取。我对输入的控制比logstash给我的更多。