温馨提示×

CentOS Filebeat与Logstash协同工作方式

小樊
40
2025-02-22 20:01:11
栏目: 智能运维

Filebeat与Logstash协同工作的方式主要涉及Filebeat收集日志数据并将其发送到Logstash进行进一步处理。以下是它们协同工作的具体步骤和配置示例:

Filebeat与Logstash协同工作方式

  1. Filebeat收集日志:Filebeat部署在每个需要收集日志的节点上,负责读取日志文件并将其发送到Logstash。
  2. Logstash处理日志:Logstash接收来自Filebeat的日志数据,进行必要的处理和转换,然后将处理后的数据发送到Elasticsearch。

配置示例

Filebeat配置示例

以下是一个Filebeat配置示例,展示如何配置Filebeat以收集特定日志文件并将其发送到Logstash:

filebeat.inputs:
- type: log
  enabled: true
  paths:
  - /var/log/nginx/access.log
  - /var/log/nginx/error.log

output.logstash:
  enabled: true
  hosts: ["logstash_host:5044"]

Logstash配置示例

以下是一个Logstash配置示例,展示如何配置Logstash以接收来自Filebeat的日志并进行处理:

input {
  beats {
    port => 5044
  }
}

filter {
  if [fields][log_type] == "nginx-access" {
    grok {
      match { "message" => "%{COMBINEDAPACHELOG}" }
    }
    date {
      match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
    }
  }
  if [fields][log_type] == "nginx-error" {
    grok {
      match { "message" => "%{ERRORLOG}" }
    }
    date {
      match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
    }
  }
}

output {
  elasticsearch {
    hosts => ["elasticsearch_host:9200"]
    index => "nginx-%{+YYYY.MM.dd}"
  }
}

在这个配置中,Filebeat将收集/var/log/nginx/access.log/var/log/nginx/error.log文件,并将它们发送到Logstash。Logstash接收到日志后,会根据日志类型进行不同的处理,并将处理后的数据发送到Elasticsearch。通过这种方式,Filebeat和Logstash可以协同工作,实现高效的日志收集和处理。

0