logstash

https://www.elastic.co/guide/en/logstash/current/introduction.html
logstash 是一个流数据引擎,具有数据收集、过滤、输出的功能
jvm依赖
下载地址 https://www.elastic.co/downloads
docker镜像 docker.elastic.co/logstash/logstash:8.1.0

logstash 的工作流程:

输入 过滤 输出
stdin grok stdout
file mutate elasticsearch
syslog drop file
redis drop graphite
filebeat geoip statsd

grok:解析和构建任意文本。Grok 目前是 Logstash 中将非结构化日志数据解析为结构化和可查询数据的最佳方式。Logstash 内置了 120 种模式,您很可能会找到一种满足您需求的模式!
mutate:对事件字段执行常规转换。您可以重命名、移除、替换和修改事件中的字段。
drop:完全删除事件,例如调试事件。
clone:创建事件的副本,可能添加或删除字段。
geoip:添加有关 IP 地址地理位置的信息(还可以在 Kibana 中显示惊人的图表!

  • 测试命令
docker run --rm -it docker.elastic.co/logstash/logstash:8.1.0 logstash -e 'input { stdin { } } output { stdout {} }'

配置文件学习

  1. 配置文件结构
# This is a comment. You should use comments to describe
# parts of your configuration.
input {
  ...
}

filter {
  ...
}

output {
  ...
}
input { stdin { } }
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

logstash 测试配置文件语法的命令--config.test_and_exit

logstash -f /opt/logstash/pipeline/logstash.conf --config.test_and_exit

启动命令 --config.reload.automatic

logstash -f /opt/logstash/pipeline/logstash.conf --config.reload.automatic

 docker run --rm  --net=host -it -v /tmp:/tmp docker.elastic.co/logstash/logstash:8.1.0 logstash -f /tmp/logstash.conf --config.reload.automatic

filebeat下载
docker.elastic.co/beats/filebeat:8.1.0

filebeat.inputs:
- type: log
  paths:
    - /var/log/*.log 
  fields:
    type: syslog 
output.logstash:
  hosts: ["localhost:5044"]
 docker run --rm -it --net=host -v /tmp:/tmp docker.elastic.co/beats/filebeat:8.1.0 filebeat -c /tmp/filebeat.yml
posted @ 2022-03-14 17:03  mingtian是吧  阅读(36)  评论(0)    收藏  举报