如果配置收集多个目录的logstash

发布于 2022-09-06 09:05:08 字数 1413 浏览 31 评论 0

各位大虾好!

小虾此前配置了一个elk,在logstash的服务器上是这么写conf的:

$ cat /usr/local/logstash/config/conf.d/logstash.conf
#在输入部分,配置Logstash通信端口以及添加SSL证书,从而进行安全通信。
input {
 beats {
   port => 5044
   ssl => true
   ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
   ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
  }
}
 
#在过滤器部分,我们将使用Grok来解析这些日志,然后将其发送到Elasticsearch。以下grok过滤器将查找“syslog”标记的日志,并尝试解析它们,以生成结构化索引。
filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    syslog_pri { }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}
 
#输出部分,我们将定义要存储的日志位置
output {
 elasticsearch {
  hosts => [ "10.162.80.192:9200" ]                #这个地址是elasticsearch的内网地址
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
 user => elastic
 password => changeme
       }
stdout {
    codec => rubydebug
       }
}

现在我要再添加一个nginx日志(这次不用filebeat而是redis),是要重新写一个logstash么?然后启动两个logstash?

还是在这个logstash.conf里写两个input?
还是一个input下面再加一个redis{}?

我原有的日志跟nginx的过滤器语法是不一样的,那么过滤器那部分又如何更改?是多写一个过滤器么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文