我在10.x.x.1中设置了单节点ELK,我已经安装了logstash,弹性搜索和kibana。
我的应用程序在另一台服务器10.x.x.2中运行,我想将我的日志转发到弹性搜索。
10.x.x.2中的日志文件/var/log/myapp/myapp.log
在10.x.x.1中,我在/etc/logstash/conf.d
中提供了此输入input {
file {
path => "/var/log/myapp/myapp.log"
type => "syslog"
}
}
output {
elasticsearch {
hosts => ["10.252.30.11:9200"]
index => "versa"
}
}
我的问题如下
答案 0 :(得分:3)
我可以回答1和2。
Logstash
(不推荐)或Filebeat
或Packetbeat
中的至少一个。 Filebeat或Packetbeat都很好并且免于Elastic.co公司。 Packetbeat用于通过网络捕获应用程序日志,而不是日志文件。对于您的情况,使用文件日志,只需使用Filebeat。(filebeat .yml)
编辑为将其日志编辑为10.x.x.1 filebeat:
prospectors:
-
paths:
- /var/log/myapp/myapp.log
和
logstash:
hosts: ["10.x.x.1:5044"]
在10.x.x.1上安装了Logstash(以及其他用于制作ELK的内容),您需要为Logstash创建一些配置文件:
02-beats-input.conf
的输入文件添加到/etc/logstash/conf.d/
input {
beats {
port => 5044
ssl => false
}
}
03-myapp-filter.conf
的过滤器文件添加到/etc/logstash/conf.d/
。您应该找到与您的日志匹配的过滤器模式。答案 1 :(得分:1)
2:
Kibana充当Elasticsearch的Web界面。一旦启动,默认情况下它将在端口5601上可用。然后,您可以使用发现界面搜索术语,例如“错误”。它将返回带有该术语的前500个文档。
3:
另一个Elasticsearch允许在节点之间传播数据。但是一个节点可以轻松地处理几个gigas而没有问题。
4:
您无法为数据设置到期日期。至少它不是自动的,你必须搜索今天到期的所有日志并删除它们
另一个解决方案(以及更好的解决方案)是每天有一个索引(使用index => "versa-%{+YYYY.MM.dd}"
)并在7天后删除索引(使用elasticsearch curator和cron作业轻松完成)