Logstash入门简介

news2024/9/28 9:26:17

目录

  • Logstash简介
    • 介绍
    • 用途
    • 部署安装
    • 测试
    • 配置详解
      • 输入
      • 过滤
      • 输出
    • 读取自定义日志
      • 日志结构
      • 编写配置文件
      • 输出到Elasticsearch

Logstash简介

介绍

        Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到最喜欢的存储库中(我们的存储库当然是ElasticSearch)

在这里插入图片描述

       我们回到我们ElasticStack的架构图,可以看到Logstash是充当数据处理的需求的,当我们的数据需要处理的时候,会将它发送到Logstash进行处理,否则直接送到ElasticSearch中
在这里插入图片描述

用途

       Logstash可以处理各种各样的输入,从文档,图表中,数据库中,然后处理完后,发送到Elasticsearch

在这里插入图片描述

部署安装

       Logstash主要是将数据源的数据进行一行一行的处理,同时还直接过滤切割等功能。

在这里插入图片描述

首先到官网下载logstash:传送门

选择我们需要下载的版本:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f0xO5Pzn-1687342729987)(C:\Users\XIA\AppData\Roaming\Typora\typora-user-images\image-20230616195125119.png)]

直接使用wget下载

#检查jdk环境,要求jdk1.8+
java -version
# 下载
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.8.1-linux-x86_64.tar.gz
#解压安装包
tar -xvf logstash-8.8.1-linux-x86_64.tar.gz
mv logstash-8.8.1 logstash
#第一个logstash示例--定义标准输入和输出
bin/logstash -e 'input { stdin { } } output { stdout {} }'

测试

       我们在控制台输入 hello,马上就能看到它的输出信息

在这里插入图片描述

配置详解

       Logstash的配置有三部分,如下所示

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

输入

  • 采集各种样式、大小和来源的数据,数据往往以各种各样的形式,或分散或集中地存在于很多系统中。
  • Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
    在这里插入图片描述

过滤

  • 实时解析和转换数据
  • 数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。
    在这里插入图片描述

输出

       Logstash 提供众多输出选择,可以将数据发送到指定的地方,并且能够灵活地解锁众多下游用例。
在这里插入图片描述

读取自定义日志

       前面我们通过Filebeat读取了nginx的日志,如果是自定义结构的日志,就需要读取处理后才能使用,所以,这个时候就需要使用Logstash了,因为Logstash有着强大的处理能力,可以应对各种各样的场景。

日志结构

2023-06-17 21:21:21|ERROR|1 读取数据出错|参数:id=1002

       可以看到,日志中的内容是使用“|”进行分割的,使用,我们在处理的时候,也需要对数据做分割处理。

编写配置文件

vim shengxia-pipeline.conf

然后添加如下内容

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

启动

#启动
./bin/logstash -f ./mogublog-pipeline.conf

然后我们就插入我们的测试数据

echo "2023-06-17 21:21:21|ERROR|读取数据出错|参数:id=1002" >> app.log

然后我们就可以看到logstash就会捕获到刚刚我们插入的数据,同时我们的数据也被分割了

在这里插入图片描述

输出到Elasticsearch

       我们可以修改我们的配置文件,将我们的日志记录输出到ElasticSearch中

input {
    file {
        path => "/opt/elk/logs/app.log"
        start_position => "beginning"
    }
}
filter {
    mutate {
    	split => {"message"=>"|"}
    }
}
output {
	elasticsearch {
		hosts => ["192.168.40.150:9200","192.168.40.137:9200","192.168.40.138:9200"]
	}
}

然后在重启我们的logstash

./bin/logstash -f ./shenngxia-pipeline.conf

然后向日志记录中,插入两条数据

echo "2023-06-17 21:57:21|ERROR|读取数据出错|参数:id=1002" >> app.log
echo "2023-06-17 21:58:21|ERROR|读取数据出错|参数:id=1003" >> app.log

最后就能够看到我们刚刚插入的数据了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

了解一下EPC模式和它的优势

目录 什么是EPCEPC的优势有哪些?BT、BOT、EPC分别是什么模式?总结 什么是EPC EPC是Engineering(工程):代表设计、采购和施工总承包。Procurement(采购):代表采购和物资管理。Constru…

Stable Diffusion提示词总结

提示词基本语法 一、提示词类别 1、内容型提示词 人物及主体特征 服饰穿搭 white dress 发型发色 blonde hair,long hair 五官特征 small eye,big mouth 面部表情 smiling 肢体动作 stretching arms beautiful detailed eyes 美丽细致的眼睛 highl…

数字化如何推动快消品企业实现营销变革

近几年,不确定性在各行各业上演。尤其伴随新一代信息技术的快速发展,消费者的需求和购买渠道也在不断变化。这就要求企业需要通过对消费者潜在需求进行更加深度的挖掘,为消费者提供“更佳的体验”,从而释放消费能力。 在这样的大背…

HTTP协议中的GET和POST接口测试的区别

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言HTTP协议基础GET请…

CVPR2023中的数据集工作(共46篇)

本文搜集了CVPR2023中所有的以数据集发布为主的工作,共搜集到46篇。所有标题都附带文章超链接,请君享用~ An Image Quality Assessment Dataset for PortraitsLOGO: A Long-Form Video Dataset for Group Action Quality AssessmentTowards …

C++学习 数据类型

数据类型存在的意义: 给变量分配合适的内存空间,避免资源浪费。 整型: 整型变量表示的是整数类型的数据 long类型 在 windows 中4字节 linux 中 32位4字节 64位8字节,占用空间的不同,可以表示的取值范围就越广&…

hello TypeScript

在上一章节中我们介绍了typescript的产生背景,和使用typescript开发需要环境和工具,这一节我们就来感受一下typescript吧 一、第一个typescript程序,‘hello ts’ 1. 安装TypeScript编译器 在开始编译TypeScript文件之前,需要先…

LeetCode算法题---两数相加(二)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

Python嵌套列表处理「有问必答系列1」

1. 提问🙋 teacher,如果想把列表里的子列表,拆出来,让他们变成一个列表,可以用什么[可怜] 解答 如果你有一个列表包含子列表,你可以使用Python的extend()函数或列表推导式来实现。下面是两种方法的例子&a…

Dart 3.0 语法新特性 | switch 匹配加强

theme: cyanosis 一、 重新审视 switch 关键字 众所周知, switch 关键字用于流程控制: 可以基于一个对象进行匹配,并通过 case 关键字产生分支语句,进行不同的逻辑处理。其中有一个非常值得注意,使用者很容易忽略的一点…

Jetpack Compose —— ProgressBar

Jetpack Compose的ProgressBar是一种用户界面组件,用于向用户展示长时间操作的当前进度。ProgressBar可以有两种形式:线性和环形,这两种形式都可以通过Jetpack Compose轻松实现。 注意:从Jetpack Compose 1.0版本开始&#xff0c…

ChatGPT使用的SSE技术是什么?

在现代web应用程序中,实时通信变得越来越重要。HTTP协议的传统请求/响应模式总是需要定期进行轮询以获得最新的数据,这种方式效率低下并且浪费资源。因此,出现了一些新的通信技术,如WebSocket和SSE。但是,GPT为什么选择…

R语言学习4:比例的假设检验

一、实验目的 1. 掌握理解两个总体比例假设检验的相关概念。 2. 掌握理解两个总体比例假设检验的相关方法。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 完成教材P98的第4题 在一个流行病事件中,A地区656 例病人中完全康复了474人,B地区568例病人中完全康复了…

k8s delete namespace Terminating

版本情况 kubenetes版本: v1.19.10 docker版本: v20.10.6 一、问题经过 早上发现 kubectl delete ns时, 删除namespace一直处于Terminating状态 尝试加上--force参数,执行kubectl delete ns --force,也是一样Terminating 当时Terminating截图 1、猜测…

《网络安全0-100》低层协议安全性

低层协议安全性 IP协议 对于网络层,IP协议是其中一个非常重要的协议。网络层的IP地址相当于数据链路层的Mac地址。协议字段如下,每行4字节,总共4*520字节。 IP协议安全性:IP协议不能保证数据就是从数据包中给定的源地址发出的&am…

高速 AD/DA 实验

目录 高速 AD/DA 实验 1、简介 1.1、AD9708 芯片 1.2、AD9280 芯片 2、实验任务 3、硬件设计 4、程序设计 4.1、AD/DA 顶层模块代码 4.2、创建一个 ​​​​​​​ILA IP 核 4.3、创建一个ROM IP核,将 .coe 文件保存到生成的 Rom IP 核中 4.4、DA 数据发…

人工智能基础实验报告

蒙特卡洛算法 目 录 蒙特卡洛算法 1 概述: 1 思考步骤: 1 应用: 1 特点: 2 参 考 资 料 3 概述: 蒙特卡罗法(Monte Carlo method)也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调…

【操作系统】CPU调度

目录 1.什么叫调度 2.调度的目标 3.进程调度方式 4.闲逛进程 5.典型的调度算法 5.1先来先服务(FCFS)调度算法 5.2短作业优先(SJF) 调度算法 5.3优先级调度算法 5.4高响应比优先调度算法 5.5时间片轮转调度算法 5.6多级队列调度算法 5.7多级反馈队列调度算法(融合了前…

Qgis基本操作之图层符号化和标注实战

目录 前言 一、基础数据 1、公共预算收入数据简介 2、省份数据简介 二、地图标注 1、百强县公共预算收入地图标注 2、省信息标注 三、地图符号化 1、百强县公共预算收入符号化 2、省数据符号化 总结 前言 在之前的Qgis中进行Shp和Excel属性连接实现百强县公共预算空间分…

MATLAB 之 图形对象及其句柄和图形窗口与坐标轴

这里写目录标题 一、图形对象及其句柄1. 图形对象2. 图形对象句柄的使用3. 图形对象属性3.1 属性名与属性值3.2 属性的操作3.3 图形对象的公共属性 二、图形窗口与坐标轴1. 图形窗口对象2. 坐标轴对象 一、图形对象及其句柄 MATLAB 的图形系统是面向图形对象的。图形对象是 MA…