【发布时间】:2016-07-19 09:27:53
【问题描述】:
我的logstash版本是:
# /opt/logstash/bin/logstash --version
logstash 2.2.4
配置为根据filebeat文件从5044端口接收输入:
/etc/logstash/conf.d/02-beats-input.conf
input {
beats {
port => 5044
ssl => false
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}
我已将 ssl 设置为 false,因为我没有使用它
但是当我使用 systemctl 正常启动 logstash 服务时,它会启动并检查状态以确认它正在运行
systemctl status logstash
● logstash.service - LSB: Starts Logstash as a daemon.
Loaded: loaded (/etc/rc.d/init.d/logstash)
Active: active (exited) since Mon 2016-07-18 19:14:51 BST; 15h ago
Docs: man:systemd-sysv-generator(8)
Process: 19965 ExecStop=/etc/rc.d/init.d/logstash stop (code=exited, status=0/SUCCESS)
Process: 19970 ExecStart=/etc/rc.d/init.d/logstash start (code=exited, status=0/SUCCESS)
...
logstash started
问题是logstash似乎没有在端口5044上接收输入。发送filebeats的主机遇到:
single.go:126: INFO Connecting error publishing events (retrying): dial tcp 192.72.0.92:5044: getsockopt: connection refused
当我检查端口时
# netstat -an | grep 5044
我什么也得不到。因此,即使 logstash 正在运行,我也无法确定它绑定和监听的端口。
防火墙也暂时停止以调查此事。
奇怪的是我运行logstash是这样的调试模式:
# ./logstash --debug -f /etc/logstash/conf.d/02-beats-input.conf
我可以看到
# netstat -an | grep 5044
tcp6 0 0 :::5044 :::* LISTEN
tcp6 0 0 192.72.0.92:5044 192.168.36.70:53720 ESTABLISHED
tcp6 0 0 192.72.0.92:5044 192.72.0.90:45980 ESTABLISHED
tcp6 0 0 192.72.0.92:5044 192.72.0.90:45975 ESTABLISHED
tcp6 0 0 192.72.0.92:5044 192.72.0.90:45976 ESTABLISHED
或
# lsof -i :5044
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 15136 root 7u IPv6 7191510 0t0 TCP *:lxi-evntsvc (LISTEN)
java 15136 root 33u IPv6 7192379 0t0 TCP hostname:lxi-evntsvc->192.72.0.90:45975 (ESTABLISHED)
和发送filebeats的主机可以连接
output.go:87: DBG output worker: publish 7 events
2016/07/19 10:02:08.017890 client.go:146: DBG Try to publish 7 events to logstash with window size 10
2016/07/19 10:02:08.038579 client.go:124: DBG 7 events out of 7 events sent to logstash. Continue sending ...
2016/07/19 10:02:08.038615 single.go:135: DBG send completed
请帮助指出我在此配置中可能做错了什么。谢谢
【问题讨论】:
-
你试过 systemctl logstash reload 吗?
-
在 CentOS 7 上,命令 systemctl logstash reload 返回 Unknown operation 'logstash' 并且 systemctl reload logstash 返回 Failed to reload logstash.service: Job type reload is not applicable for unit logstash.service。
-
好的。您是否检查过您的 .conf 文件是否已被解析和加载?
-
请问如何检查?
-
@pi。要检查是否加载了配置文件,粗略的解决方案是在配置文件中添加错误(如无效选项)。然后你启动 Logstash,它应该会失败,比如
"Error: Something is wrong with your configuration."
标签: logstash logstash-configuration