Elastic Stack(三):Logstash介绍及安装

2024-08-31 05:44

本文主要是介绍Elastic Stack(三):Logstash介绍及安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1 Logstash介绍
    • 1.1 组件介绍
    • 1.2 Logstash 工作原理
  • 2 Logstash安装
    • 2.1 logstash-源码包安装8.1.0
      • 1、logstash安装
      • 2、创建配置文件
      • 3、启动
      • 4、配置快速启动文件

1 Logstash介绍

1.1 组件介绍

Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。

Logstash注意有三部分

  • 输入:采集各种样式、大小和来源的数据

    • 数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从你的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
  • 过滤器:实时解析和转换数据

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

Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:

  • 1、利用 Grok 从非结构化数据中派生出结构
  • 2、从 IP 地址破译出地理坐标
  • 3、将 PII 数据匿名化,完全排除敏感字段
  • 4、整体处理不受数据源、格式或架构的影响

尽管 Elasticsearch 是首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。Logstash 提供众多输出选择,你可以将数据发送到你要指定的地方。

1.2 Logstash 工作原理

在这里插入图片描述
Logstash 有两个必要元素:input 和 output ,一个可选元素:filter。 这三个元素,分别代表 Logstash 事件处理的三个阶段:输入 > 过滤器 > 输出

Input负责从数据源采集数据。
filter 将数据修改为你指定的格式或内容。
output 将数据传输到目的地。

在实际应用场景中,通常输入、输出、过滤器不止一个。Logstash 的这三个元素都使用插件式管理方式,可以根据应用需要,灵活的选用各阶段需要的插件,并组合使用。

  • 常用input模块:Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,可从日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
    • file:从文件系统上的文件读取
    • syslog:在众所周知的端口514上侦听系统日志消息,并根据RFC3164格式进行解析
    • redis:从redis服务器读取,使用redis通道和redis列表。 Redis经常用作集中式Logstash安装中的“代理”,它将接收来自远程Logstash“托运人”的Logstash事件排队。
    • beats:处理由Filebeat发送的事件。
  • 常用的filter模块:过滤器是Logstash管道中的中间处理设备。可以将条件过滤器组合在一起,对事件执行操作。
    • grok:解析和结构任意文本。 Grok目前是Logstash中将非结构化日志数据解析为结构化和可查询的最佳方法。
    • mutate:对事件字段执行一般转换。可以重命名,删除,替换和修改事件中的字段。
    • drop:完全放弃一个事件,例如调试事件。
    • clone:制作一个事件的副本,可能会添加或删除字段。
    • geoip:添加有关IP地址的地理位置的信息
  • 常用output模块
    • elasticsearch:将事件数据发送给 Elasticsearch(推荐模式)。
    • file:将事件数据写入文件或磁盘。
    • graphite:将事件数据发送给 graphite(一个流行的开源工具,存储和绘制指标, http://graphite.readthedocs.io/en/latest/)。
    • statsd:将事件数据发送到 statsd (这是一种侦听统计数据的服务,如计数器和定时器,通过UDP发送并将聚合发送到一个或多个可插入的后端服务)。
  • 常用code插件
    • json:以JSON格式对数据进行编码或解码。
    • multiline:将多行文本事件(如java异常和堆栈跟踪消息)合并为单个事件。

2 Logstash安装

2.1 logstash-源码包安装8.1.0

1、logstash安装

wget https://artifacts.elastic.co/downloads/logstash/logstash-8.1.0-linux-x86_64.tar.gz
tar zxvf logstash-8.1.0-linux-x86_64.tar.gz
ln -s logstash-8.1.0 logstash
# 测试
./bin/logstash  -e 'input { stdin { } } output { stdout {} }' 
# 执行后会提示input,手动输入:input,则会有输出,过程如下:

在这里插入图片描述

2、创建配置文件

# 在logstash目录下执行
mkdir /root/logstash-8.1.0/config/certs
scp root@192.168.92.10:/usr/local/elasticsearch-8.1.0/config/certs/http.p12 /root/logstash-8.1.0/config/certs/http.p12vim pipe.confinput {opensearch {hosts       => ["http://192.168.92.11:9200"]#user        => "admin"#password    => "admin"#index       => "logstash-logs-%{+YYYY.MM.dd}"query       => '{ "query": { "match_all": {} } }'}
}output {stdout{codec => rubydebug}elasticsearch {hosts => ["https://192.168.92.10:9200"]index => "opensearch-%{+YYYY.MM.dd}"user => "elastic"password => "ZuyB*Pt9-nbg-UjmnI0u"ssl_certificate_verification => truetruststore => "/root/logstash-8.1.0/config/certs/http.p12"truststore_password => ""}
}

参数解释:

  • ssl_certificate_verification => true代表启用SSL
  • truststore配置的elasticsearch首次启动生成的证书,它是一个使用PKCS#12(公钥密码标准#12)加密的数字证书,存放在elasticsearch主目录下的config/certs目录
  • ruststore_password是truststore的密码,可以采用bin目录下的elasticsearch-keystore工具获取到

注意:

  • 1.如果logstash和elasticsearch不在同一个服务器上面,需要把elasticsearch上的http.p12复制logstash上面
  • 2.如果在生成http.p12时使用密码,可参考如下方式获取:
[elastic@node1 elasticsearch-8.4.3]$ ./bin/elasticsearch-keystore list
warning: ignoring JAVA_HOME=/usr/local/jdk-17.0.5; using bundled JDK
keystore.seed
xpack.security.http.ssl.keystore.secure_password
xpack.security.transport.ssl.keystore.secure_password
xpack.security.transport.ssl.truststore.secure_password
[elastic@node1 elasticsearch-8.4.3]$ ./bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password
warning: ignoring JAVA_HOME=/usr/local/jdk-17.0.5; using bundled JDK
EDkicmcvTIaby_aFALRl3w

3、启动

# 启动测试:
./bin/logstash -f pipe.conf --config.reload.automatic# --config.reload.automatic:会自动加载配置文件,不需要重复启动logstash进程

4、配置快速启动文件

# 关掉上面的测试进程,配置快速启动文件
vim /usr/lib/systemd/system/logstash.service
[Unit]
Description=logstash
After=network.target
[Service]
Type=simple
#LimitNOFILE=100000
#LimitNPROC=100000
Restart=no
ExecStart=/root/logstash-8.1.0/bin/logstash -f /usr/local/logstash-8.1.0/pipe.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target# 启动
sudo systemctl daemon-reload 
sudo systemctl start logstash.service

这篇关于Elastic Stack(三):Logstash介绍及安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123050

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能