0
点赞
收藏
分享

微信扫一扫

【Logback技术专题】「入门到精通系列教程」深入探索Logback日志框架的原理分析和开发实战技术指南(上篇)

笙烛 2023-12-19 阅读 14

目录

简介

Logstash 是一个开源的服务器端数据处理管道,由 Elastic 公司维护和开发。它被设计用于从不同来源收集、处理和转发数据,以供 Elasticsearch 进行存储和检索。

以下是 Logstash 的主要特点和功能:

  1. 数据收集:Logstash 支持从各种来源收集数据,包括日志文件、数据库、消息队列、网络流量等。它具有丰富的插件生态系统,可以轻松地集成到多种数据源。

  2. 数据处理:Logstash 允许用户对收集到的数据进行处理和转换。通过配置不同的过滤器,可以执行各种任务,如解析结构化数据、过滤不需要的信息、标准化字段等。

  3. 数据输出:处理后的数据可以发送到各种目标,其中最常见的目标是 Elasticsearch,用于存储和检索数据。此外,Logstash 还支持输出到其他存储后端,如文件、消息队列、关系型数据库等。

  4. 插件生态系统:Logstash 的强大之处在于其插件生态系统。用户可以根据需要选择合适的输入、过滤器和输出插件,以满足特定的数据处理和集成需求。

  5. 可扩展性:Logstash 是可扩展的,可以通过添加自定义插件或使用现有的插件进行扩展。这使得 Logstash 适用于不同规模和类型的数据处理工作负载。

  6. 配置简单:Logstash 的配置文件采用简单的文本格式,易于理解和维护。用户可以根据需要编写配置文件,定义数据流的输入、过滤和输出。

  7. 日志监控和管理:Logstash 提供了用于监控和管理的工具和接口。用户可以使用 Kibana 可视化工具对 Logstash 进行监控,并查看其性能指标和运行状态。

整个 ELK(Elasticsearch、Logstash、Kibana)堆栈通常一起使用,以实现从数据收集到存储、分析和可视化的完整数据处理流程。Logstash 在这个堆栈中的角色是作为数据处理引擎,负责处理和传递数据到 Elasticsearch,而 Kibana 提供了强大的可视化和查询工具。

安装部署

下载安装包

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

解压

tar -xvf logstash-8.11.1-linux-x86_64.tar.gz

重命名

mv logstash-8.11.1/ logstash

测试

简单示例

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

​ 我们在控制台输入 你好,程序猿,马上就能看到它的输出信息

image-20231208174520513

配置详解

input { #输入
stdin { ... } #标准输入
}
filter { #过滤,对数据进行分割、截取等处理
...
}
output { #输出
stdout { ... } #标准输出
}

编写配置文件

input {
    file {
        path => "/opt/elk/logs/test.log"
        start_position => "beginning"
    }
}
filter {
    mutate {
    	split => {"message"=>"|"}
    }
}
output {
	stdout { codec => rubydebug }
}

./bin/logstash -f ./hmiyuan-pipeline.conf
echo "2023-12-13 16:28:24|ERROR|读取数据出错|参  :i=1002" >> //opt/elk/logs/test.log


image-20231213162915144

连接elasticsearch

image-20231213163049823

echo "2023-12-13 16:30:24|ERROR|读取数据出错|参  :i=1002" >> //opt/elk/logs/test.log

echo "2023-12-13 16:31:24|ERROR|读取数据出错|参  :i=1002" >> //opt/elk/logs/test.log

image-20231213163522927

将数据推送到elasticsearch中。

input {
  file {
    path => "/opt/logs/*.log"
    start_position => "beginning"
     sincedb_path => "/dev/null"
    exclude => "*.gz"
  }
}

filter {
    mutate {
    	split => {"message"=>"|"}
    }
}
 
output {
  elasticsearch {
    hosts => ["192.168.150.190:9200"]
    index => "logs_index"
  }
}

启动

./bin/logstash -f ./hmiyuan-pipeline.conf
举报

相关推荐

0 条评论