大数据-185 Elasticsearch - ELK 家族 Logstash 安装配置 Input 插件-stdin stdout

news/2024/10/24 10:07:51/

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(正在更新…)

章节内容

上节我们完成了如下的内容:

  • Elasticsearch DocValues 机制原理
  • Elasticsearch DocValues 压缩与禁用

在这里插入图片描述

简要介绍

Logstash 是一个开源的服务器端数据处理管道工具,主要用于实时收集、过滤、转换和输出数据。它可以从多种数据源(如日志文件、数据库、消息队列等)中收集数据,并经过自定义的过滤处理后,输出到目标系统(如 Elasticsearch、数据库或文件等)。作为 Elastic Stack(也称为 ELK Stack)的一部分,Logstash 通常与 Elasticsearch 和 Kibana 配合使用,用于实时日志处理、分析和可视化。

Logstash 的架构

Logstash 由三大核心组件组成:

  • 输入(Inputs): 输入插件用于收集数据,它能够从各种不同的数据源获取信息。支持的数据源包括日志文件、数据库、Kafka、HTTP API、消息队列(如 RabbitMQ)、系统标准输入等。

  • 过滤(Filters): 过滤器是数据处理和转换的关键部分。Logstash 使用过滤插件对输入的数据进行过滤和修改。常用的过滤插件有 grok、mutate、date、json、csv 等。你可以利用这些插件对数据进行解析、字段提取、格式化等处理。

  • 输出(Outputs): 输出插件将处理后的数据发送到指定的目标位置。常用的输出插件包括 Elasticsearch、文件系统、Kafka、数据库、标准输出等。

此外,Logstash 还支持编码器(Encoders)和解码器(Decoders),用于将数据编码或解码成特定格式,例如 JSON、XML、CSV 等。

Logstash 的工作流程

Logstash 的工作流程如下:

  • 数据输入(Input): Logstash 从数据源中收集原始数据,如应用程序日志、系统日志或网络流量日志等。
  • 数据过滤(Filter): 收集到的数据通过配置的过滤器进行处理。这一步可以解析日志、过滤无用数据、格式化字段、添加或删除字段、进-行数据聚合等操作。
  • 数据输出(Output): 最终经过处理的数据被输出到一个或多个目标系统,如 Elasticsearch 用于存储和搜索,或者输出到文件用于归档。

Logstash 的功能特性

  • 多种输入插件支持: Logstash 支持多种输入源,几乎可以从任何类型的系统或文件中收集数据。这些输入源可以是本地的日志文件、数据库、HTTP、TCP、UDP 连接等。
  • 强大的数据处理能力: Logstash 提供了丰富的过滤插件,可以对数据进行复杂的操作。通过 grok 插件,用户可以解析复杂的日志格式,提取关键信息。Logstash 还支持条件语句,可以根据条件对不同的数据进行不同的处理。
  • 灵活的输出机制: Logstash 支持多种输出方式,可以将数据发送到多个目标系统。常见的输出包括 Elasticsearch、文件系统、标准输出、Kafka 等。
  • 扩展性: Logstash 通过插件架构设计,用户可以根据需要开发和使用自定义插件,从而满足各种特殊需求。
  • 实时性: Logstash 可以实时处理大量数据,适合于实时日志分析、事件响应、监控告警等场景。
  • 错误处理和重试机制: Logstash 支持对处理失败的数据进行重试和错误处理,确保数据不丢失,并提供可靠的传输保障。

官方网站

https://www.elastic.co/logstash

对应的页面截图如下:
在这里插入图片描述
Logstash就是一个具备实时数据传输能力的管道,负责将数据信息从管道的输入传出到管道的输出端,与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。是一个 input | filter | output 的数据流。

项目下载

下载指定版本的Logstash,我这里适配着ES的版本,7.3版本:

https://www.elastic.co/downloads/past-releases#logstash

这里放一个直达链接,7.3 版本的:

https://www.elastic.co/downloads/past-releases/logstash-7-3-0

我这里直接下载到服务器上 h121.wzk.icu 节点。

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.3.0.tar.gz

对应的截图如下图所示:
在这里插入图片描述

解压配置

cd /opt/software
mv logstash-7.3.0 ../servers/
cd /opt/servers/logstash-7.3.0/

对应的截图如下所示:
在这里插入图片描述

Input插件

stdin与stdout

标准输入和标准输出,实现我们的数据从控制台输入,从控制台输出。

cd /opt/servers/logstash-7.3.0/
bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
{"@version" => "1","host" => "h121.wzk.icu","@timestamp" => 2024-08-16T08:33:13.126Z,"message" => "hello"
}

运行之后,可以看到控制台对应的输出为如下的内容:
在这里插入图片描述

监控日志文件变化

修改配置

Logstash 使用一个名叫 FileWatch 的 Ruby Gem 库来监听文件变化,这个库支持glob展开路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。所以,不要担心 Logstash 会漏掉你的数据。

cd /opt/servers/logstash-7.3.0/config
vim monitor_file.conf

向其中写入对应的内容,并退出保存:

input{file{path => "/opt/servers/es/logs/wzkicu-es.log"type => "log"start_position => "beginning"}
}
output{stdout{codec=>rubydebug}
}

写入的内容如下图所示:
在这里插入图片描述
补充一下:start_positon => beginning 或者是 end

检查配置

通过下面的指令进行检查:

cd /opt/servers/logstash-7.3.0
bin/logstash -f /opt/servers/logstash-7.3.0/config/monitor_file.conf -t

如果成功会出现如下的内容:

root@h121:/opt/servers/logstash-7.3.0# bin/logstash -f /opt/servers/logstash-7.3.0/config/monitor_file.conf -t
Thread.exclusive is deprecated, use Thread::Mutex
Sending Logstash logs to /opt/servers/logstash-7.3.0/logs which is now configured via log4j2.properties
[2024-08-16T10:54:39,712][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2024-08-16T10:54:40,796][INFO ][org.reflections.Reflections] Reflections took 43 ms to scan 1 urls, producing 19 keys and 39 values 
Configuration OK
[2024-08-16T10:54:41,914][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash
root@h121:/opt/servers/logstash-7.3.0# 

对应的截图如下图所示:
在这里插入图片描述
可以看到:“Configuration OK”,说明我们的配置文件是正确的。

启动服务

cd /opt/servers/logstash-7.3.0
bin/logstash -f /opt/servers/logstash-7.3.0/config/monitor_file.conf

启动结果如下图所示:
在这里插入图片描述

发送数据

我们监听到是ES的日志,只要你进行一些操作,就会看到日志被解析了:
在这里插入图片描述

其他参数

  • Path => 表示监控的文件路径Type=>给类型打标记,用来区分不同的文件类型。
  • Start_position=>从哪里开始记录文件,默认是从结尾开始标记,要是你从头导入一个文件就改成 beginning
  • discover_interval=>多久去监听path下是否有文件,默认是15s exclude =>排除什么
  • close_older=>一个已经监听中的文件,如果超过这个值的事件内没有更新内容,就关闭监听它的文件句柄。默认是3600秒,即1个小时。
  • sincedb=>path监控库存放位置(默认的读取文件信息记录在哪个文件中),默认在:/data/plugins/inputs/file。
  • sincedb_write_interval=>Logstash每隔多久写一次sincedb文件,默认是15秒
  • start_interval=>Logstash每隔多久检查一次被监听文件状态(是否有更新),默认是1秒。

http://www.ppmy.cn/news/1541570.html

相关文章

美的空调SAP ERP信息化整体规划方案|141页PPT

文档是关于美的空调SAP ERP信息化整体规划方案的详细介绍。文档从不同角度深入探讨了美的空调在实施SAP ERP系统时的规划方案、实施路线图、业务挑战、管理提升建议、系统架构设计、核心诉求、数据管理、供应链管理、生产管理、物料管理、质量管理、财务管理等多个方面。 案例介…

R语言笔记(一)

文章目录 一、R objects二、Types of data三、Operators1、Operators2、Comparison operators3、Logical operators 四、Check types of data objects五、Convertion between data objects六、R workspace 一、R objects Two basic types of things/objects: data and functio…

定时任务使用kafka

定时任务使用kafka 在上述业务场景中使用 Kafka 而不是直接定时执行任务有以下几个重要原因: 一、解耦 任务触发与执行分离: 使用 XXL-JOB 定时触发任务并将任务消息发送到 Kafka,实现了任务触发端(通常是调度系统)和…

element 中 el-dialog 在不同的文件中使用

在实际中工作&#xff0c;我们经常需要使用 el-dialog 来做一个弹框的功能。最常见的就是在父组件中点击一个按纽&#xff0c;然后弹出一个框。而这个框就是子组件。同时&#xff0c;父子组件是分布在不同的文件中。 <!--父组件--> <template> <div> <…

LabVIEW继电器视觉检测系统

随着制造业的自动化与高精度要求不断提升&#xff0c;传统的人工检测方法逐渐难以满足高效和高精度的需求。特别是在航空航天、医疗设备等高端领域&#xff0c;密封继电器推动杆部件的质量直接影响到设备的性能与可靠性。LabVIEW自动化视觉检测系统&#xff0c;能对推动杆部件进…

TCP(三次握手)和UDP(面向无连接)的原理以及区别

TCP(三次握手)和UDP&#xff08;面向无连接&#xff09;的原理以及区别 网络协议是每个前端工程师都必须要掌握的知识&#xff0c;TCP/IP 中有两个具有代表性的传输层协议。 概述 &#x1f4e1;TCP&#xff08;Transmission Control Protocol&#xff09;是一种网络协议&#…

计算机视觉中的坐标变换

1.概述 高级驾驶辅助系统&#xff08;ADAS&#xff09;领域&#xff0c;存在多种常用的坐标系&#xff1a;LiDAR 坐标系、车辆坐标系、相机坐标系、图像坐标系等。因为和这些坐标系频繁打交道&#xff0c;本文对点的旋转与坐标系旋转等变换给出直观推导与说明。 2.坐标点平移…

C++进阶——红黑树

目录 一、概念 二、特征 三、模拟实现 1.大致框架 2.插入分析 3.插入代码 四、测试 一、概念 红黑树是一颗近似平衡的二叉搜索树&#xff0c;最长路径的长度不会超过最短路径的两倍&#xff0c;主要是通过控制结点的“颜色”来实现的&#xff0c;第一次接触红黑树可能会…