首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用logstash将日志发送到弹性搜索

使用logstash将日志发送到弹性搜索
EN

Stack Overflow用户
提问于 2016-08-17 07:21:44
回答 2查看 4.4K关注 0票数 2

我在10.x.x.1中安装了单节点ELK,安装了logstash、弹性搜索和kibana。

我的应用程序运行在另一个服务器10.x.x.2中,我希望将我的日志转发到弹性搜索。

我的日志文件/var/ log /myapp/myapp.log在10.x.x.2中

在10.x.x.1中,我在/etc/logstash/conf.d .d中提供了这个输入。

代码语言:javascript
复制
input {
  file {
    path => "/var/log/myapp/myapp.log"
    type => "syslog"
  }
}

output {
   elasticsearch {
       hosts => ["10.252.30.11:9200"]
       index => "versa"
   }
}

我的问题如下

  1. 是否需要在10.x.x.2中安装logstash
  2. 如何只针对有“错误”的行进行grep?
  3. 每天,我的应用程序都会生成一个大小为10 my的日志。我只想知道,我是否可以在弹性搜索中再添加一个节点,这样空间就不会被填满。
  4. 我不想永久地把我的日志放在弹性搜索中。有什么办法可以为发送的日志设置过期时间吗?即在7天后删除日志。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-17 08:14:37

我可以回答1和2。

  • 您需要在10.x.x.2上安装至少一个Logstash (不推荐)或FilebeatPacketbeat。Filebeat或Packetbeat都是好的,而且不受Elastic.co公司的影响。Packet节拍用于通过网络捕获应用程序日志,而不是日志文件。对于您的情况,使用文件日志,只需使用File节拍。
  • 您需要编辑文件配置文件(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创建一些配置文件:
代码语言:javascript
复制
- Add a input file named `02-beats-input.conf` into `/etc/logstash/conf.d/`

input { beats { port => 5044 ssl => false } }

代码语言:javascript
复制
- Add a filter file named `03-myapp-filter.conf` into `/etc/logstash/conf.d/`. You should find a filter pattern to match your log.

票数 3
EN

Stack Overflow用户

发布于 2016-08-17 13:58:45

2:

Kibana充当Elasticsearch的网络接口。一旦启动,默认情况下它将在端口5601上可用。然后,您可以使用发现界面搜索术语,比如"Error“。它将返回这一术语的前500份文件。

3:

另一个Elasticsearch将允许在节点之间传播数据。但是一个节点可以很容易地处理一些千兆气体,而不存在任何问题。

4:

不能为数据设置过期日期。至少它不是自动的,您必须搜索所有今天到期的日志并删除它们。

另一种解决方案(也是更好的解决方案)是每天有一个索引(使用index => "versa-%{+YYYY.MM.dd}"),并在7天后删除索引(使用elasticsearch管理员和cron作业很容易)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38990447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档