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 @   mingtian是吧  阅读(20)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示