ELK部署-Logstash

概述

简介

Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。

简单来说,就是负责日志收集、过滤和格式化。

安装

下载

官方下载地址:https://www.elastic.co/cn/downloads/logstash

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.16.2-linux-x86_64.tar.gz

由于和Kibana使用同一台机,环境就不需要再进行特别配置了。

设置

解压并设置权限:

tar zxf logstash-7.16.2-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/logstash-7.16.2/
chown -R es.es config data jdk modules

测试简单的标准输入输出:

./bin/logstash -e 'input { stdin { } } output { stdout {} }'

配置文件

Logstash有两种类型的配置文件:pipeline配置文件用于定义Logstash处理的流水任务;和设置文件,用于指定选项来控制Logstash的启动和执行。

修改主配置文件,添加支持子配置(pipeline配置文件目录):

vim config/logstash.yml
path.config: ${LOGSTASH_HOME}/config/conf.d
mkdir config/conf.d
chown -R es.es config
grep -Ev "^$|^#" config/logstash.yml

这样就支持子配置了,之后就可以把新建的pipeline配置都放在conf.d目录里。

新建一个简单的任务配置文件,用于接收后面filebeat发过来的信息:

vim config/conf.d/collect_filebeat.conf
input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://ES-dn2:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}"
  }
}
  • %{[@metadata][beat]} 设置beat的metadata字段值为索引名称的第一部分
  • %{[@metadata][version]} 设置beat版本为第二部分
  • 连起来例如:filebeat-7.16.0。
error: Content is protected !!