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

news2024/11/17 2:40:52

目录

  • 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.p12


vim pipe.conf

input {
    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 => true
    truststore => "/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

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

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

相关文章

财富趋势金融大模型已通过备案

财富趋势金融大模型已通过备案 8月28日晚,国内领先的证券软件与信息服务提供商——财富趋势,公布了其2024年上半年财务报告: 今年上半年,财富趋势营收1.48亿元,同比增长0.14%;实现归母净利润为1亿元&#x…

适用于 Windows 的文件恢复软件

我很遗憾我在 Windows中从 PC 中删除了数据并再次移动了它们。当我检查时,什么都没有。是否有任何 Windows 数据恢复软件,或者是否可以想象?我会看到任何援助的价值。 文档、图像、音频等数据文件可能会因意外删除、感染攻击、系统崩溃等不良…

mac os系统

各种各样的系统优缺点-CSDN博客 目录 一:mac os是什么系统?图形用户界面的革命性操作系统 二:mac os是什么系统:高性能和无缝衔接,功能丰富、安全可靠 三:mac os是什么系统:全新界面设计和卓…

Tomcat 环境配置及部署Web项目

一.环境 Java Tomcat 二.Java环境 1.下载安装JDK 2.修改及新建环境变量 3.查看Java 版本 三.Tomcat 环境 1.下载及解压Tomcat 2.配置环境变量 3.验证安装,运行startup.bat 访问:http://localhost:8080/ 三.Web项目 1.修改Tomcat配置文件 2.拷贝W…

Python将Latex公式插入到Word中

推荐一个库,可以使用python将Latex公式插入到Word中显示 使用pip进行安装: pip install latex2word 示例将如下公式插入到word 公式1: f(x) \int_{-\infty}^\infty \hat f(x)\xi\,e^{2 \pi i \xi x} \,\mathrm{d}\xi 公式2: \int x^{\mu}…

重生奇迹MU 小清新职业智弓MM

游戏中有一种令人迷醉的职业——智弓MM,她们以高超的射箭技能闻名于世。本文将为您介绍这个悠闲的小清新职业,在游戏中的特点以及如何成为一名出色的智弓MM。跟随我们一起探索这个奇妙而神秘的职业吧! 悠闲的游戏节奏是游戏的初衷之一&#…

Dataease1.8.23 local本地安装

1、安装视频 手把手带你安装DataEase(一)Local模式部署 DataEase 免费开源BI工具 开源数据可视化分析工具 2、图文 安装模式 - DataEase 文档 注意点: 1、数据库:mysql 1)my.cnf 新增配置: #忽略大小…

35岁以上程序员转行AI绘画领域:以Stablediffusion和Midjourney为舟,扬帆起航

前言 在技术浪潮的推动下,35岁的程序员面临职业转型的十字路口。AI绘画领域,以其独特的艺术创新和技术融合,为中年程序员提供了一个全新的舞台。利用AI工具如Stablediffusion和Midjourney,35岁以上的程序员可以在这个领域实现自我…

第二证券:三折折叠屏手机呼之欲出,14股业绩暴涨超200%

智能制作龙头大手笔投建机器人超级工厂 8月29日晚间,埃夫特发布公告称,公司拟运用自有或自筹资金在安徽省芜湖市经过购买土地用于出资制作埃夫特机器人超级工厂暨全球总部项目,根据初步测算,项目出资金额约人民币18.93亿元&#…

CAD二次开发IFoxCAD框架系列(25)- 自动加载和初始化的使用

自动加载,意思就是我们不需要每次重启都得要去输入netload加载软件,这个我们该怎么解决,CAD给我们提供了注册表的方式来进行加载,IFoxCAD给我们提供了非常便捷的操作注册表的方法。 namespace ifoxgse.Core.System;public static…

【算法】带你快速搞懂 二分查找算法问题(图解+练习)

目录 ❤️一:二分查找分析简介❤️ ❤️二:二分查找代码实现❤️ ​编辑 ❤️三:二分查找代码分析图解❤️ ❤️四:解决二分查找相关题型❤️ 💕4.1:二分查找题型一💕 💕4.2&a…

java文件操作和IO流(详解)(๑•́ ₃ •̀๑)エー

目录 😄一.认识文件 1.1文件的概念与组成: 1.2树形结构组织与目录: 1.3文件路径: 😚二.文件系统操作 2.1File类概述: 2.2案例演示: 案例演示一: 演示案例二: 🤪…

【Python系列】signal信号处理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Unix 系统

各种各样的系统优缺点-CSDN博客 目录 █ 操作系统的诞生 █ UNIX的诞生 █ Linux的诞生 █ Linux和Unix的关系 █ Linux的发行版 说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统&…

Docker续2:docker部署前端项目

一、部署前端页面 [rootlocalhost ~]# ls //导入dist项目 anaconda-ks.cfg centos_httpd.tar centos_nginx centos.tar centos_yum.tar dist [rootlocalhost ~]# docker pull mysql //下载mysql [rootlocalhost ~]# docke…

深入垃圾回收:理解GC的核心算法与实现

垃圾回收(Garbage Collection,GC)是现代编程语言中一项关键技术。它不仅解决了内存管理中的诸多问题,还为开发者提供了一个更高效、更安全的编程环境。本文将深入探讨GC的起源、主要算法以及这些算法在不同编程语言中的具体实现。…

你好GPT-4o,程序员如何通过GPT-4o提升自己的编码能力

目录 round 1:图片识别能力ChatGPT4oClaude3.5 Sonnet图片识别能力小结:图片识别能力,ChatGPT4o完胜。 round 2:代码能力ChatGPT4oClaude3.5 Sonnet代码能力小结:代码能力,Claude3.5 Sonnet小胜。 round 3&…

Git之1.0版本重要特性及用法实例(五十二)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者. 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列…

HCS-网络服务

一、华为云Stack网络服务概览 1.网络服务包括:虚拟私有云、弹性负载均衡、弹性IP、网络ACL、虚拟专用网络、云专线、VPC终端节点、云解析 2.华为云Stack网络服务全景图: 二、云上通用网络服务 1.虚拟私有云 虚拟私有云(Virtual Private Clo…