Logstash 安装与部署(无坑版)

news/2024/11/6 0:47:00 标签: log, logstash

下载

版本对照关系:ElasticSearch 7.9.2 和 Logstash 7.9.2 ;

官方下载地址

选择ElasticSearch版本一致的Logstash版本

https://www.elastic.co/cn/downloads/logstash

下载链接:https://artifacts.elastic.co/downloads/logstash/logstash-7.9.2-linux-x86_64.tar.gz

解压文件

下载完成后,将文件拷贝到自己喜欢的目录!!!

tar -zxvf logstash-7.9.2-linux-x86_64.tar.gz
cd /usr/local/app/logstash-7.9.2

或者

cd /你自己的安装目录/logstash-7.9.2

新建配置文件

切换到config目录,可以按照logstash-sample.conf示例文件,添加连接的配置文件;

  • logstash-sample.conf示例

log.csdnimg.cn/img_convert/9af50a06a979385438a4447ad73136ad.png" alt="请在此添加图片描述" />

  • 解释

配置示例是一个 Logstash 配置文件,用于从 Beats 输入数据并将其发送到 Elasticsearch。

这个配置文件包含两部分:

  1. Input 部分:该部分定义了输入插件,指定 Logstash 应该从哪个来源接收数据。在这里,使用的是 Beats 输入插件,它监听端口 5044,以接收从 Beats 发送的数据。Beats 是一组轻量级数据采集器,通常用于收集服务器日志和监控数据。
  2. Output 部分:该部分定义了输出插件,指定 Logstash 应该将接收到的数据发送到哪个目标。在这里,使用的是 Elasticsearch 输出插件,它将数据发送到 Elasticsearch 集群。你可以看到以下配置选项:

hosts:指定了 Elasticsearch 集群的主机地址和端口。在这里,数据将被发送到本地主机的 Elasticsearch 服务,端口为 9200。
index:定义了数据在 Elasticsearch 中的索引名称。这里使用了 Logstash 的动态索引命名,基于数据的 metadata 信息和日期来生成索引名称。
userpassword:这两行是被注释掉的,通常用于指定连接 Elasticsearch 集群所需的用户名和密码。如果 Elasticsearch 集群需要身份验证,你可以取消注释并提供正确的用户名和密码。

这个配置文件的作用是接收来自 Beats 的日志数据,并将其索引到 Elasticsearch 中,以便进行检索和分析。确保 Logstash 和 Elasticsearch 服务正在运行,并监听相应的端口(例如,5044 和 9200),以使这个配置文件正常工作。


以上只是示例,下面我们新建logstash-springboot.conf文件,这种类型的文件可以有多个。

  • 新建配置logstash-springboot.conf
input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 5670
    codec => json_lines
  }
}
filter {

}
output {
  elasticsearch {
    hosts => ["http://127.0.0.1:9200"]
    index => "log-goboy-dev-%{+yyyy.MM.dd}" 
  }
}
  • 解释

这是 Logstash 配置文件,用于接收来自 TCP 输入的 JSON 格式日志数据,并将其发送到 Elasticsearch 中。

让我解释每个部分的配置:

Input 部分
tcp 插件被用作输入插件,它监听端口 5670并接受传入的 TCP 连接。
mode => "server" 表示 Logstash 将以服务器模式运行,等待来自客户端的连接。
host => "0.0.0.0" 指定 Logstash 应该接受所有网络接口上的连接,因此可以从任何 IP 地址连接到 Logstash。
port => 5670 指定监听的端口号为 5670。
codec => json_lines 表示接收到的数据将被解析为 JSON 格式的行。
Filter 部分:在你的配置中,过滤器部分是空的。这意味着 Logstash 不会对接收的数据进行进一步的处理或筛选。你可以在这部分添加过滤器插件,以根据需要对数据进行处理、转换或过滤。
Output 部分
elasticsearch 输出插件用于将数据发送到 Elasticsearch。
hosts => ["http://127.0.0.1:9200"] 指定了 Elasticsearch 集群的主机地址和端口。
index => "log-goboy-dev-%{+yyyy.MM.dd}" 定义了数据在 Elasticsearch 中的索引名称。这里使用 Logstash 的动态索引命名,基于日期来生成索引名称。

这个配置文件的作用是将通过 TCP 连接接收到的 JSON 格式的日志数据发送到 Elasticsearch 中,每天都会创建一个新的索引以便于日志的时间分割。确保 Logstash 和 Elasticsearch 服务正在运行,并监听相应的端口(例如,5044 和 9200),以使这个配置文件正常工作。如果需要对数据进行更多的处理,可以在过滤器部分添加适当的过滤器插件。


指定配置

编辑config/pipelines.yml文件

  • pipeline.id指定该管道id
  • path.config指定ES和logstash连接的配置文件,就是上一步新建的conf文件的绝对路径
- pipeline.id: log_dev
  path.config: "/usr/local/app/logstash-7.9.2/config/logstash-springboot.conf"
  • 切换到bin目录,执行
./logstash

完成

打印如下内容,则代表启动成功

log.csdnimg.cn/img_convert/ab287ccf2937ee10b9daa592c0f30b86.png" alt="请在此添加图片描述" />

注意

在安装和部署的过程中,注意版本之间的差异化。特别要主要安全组端口的开发情况!!!


http://www.niftyadmin.cn/n/5739971.html

相关文章

vue3 怎么判断数据列是否包某一列名

在 Vue 3 中,你可以使用数组的 some 方法来判断一个数组是否包含某个特定的对象,例如某个列。some 方法会遍历数组中的每一个元素,如果找到符合条件的元素,则返回 true,否则返回 false tableProps.columns.some(column…

Python | Leetcode Python题解之第537题复数乘法

题目: 题解: class Solution:def complexNumberMultiply(self, num1: str, num2: str) -> str:real1, imag1 map(int, num1[:-1].split())real2, imag2 map(int, num2[:-1].split())return f{real1 * real2 - imag1 * imag2}{real1 * imag2 imag1…

【python】OpenCV—findContours(4.3)

文章目录 1、功能描述2、代码实现3、完整代码4、结果展示5、涉及到的库函数5.1、cv2.Canny5.2 cv2.boxPoints 6、参考 1、功能描述 找出图片中的轮廓,拟合轮廓外接椭圆和外接矩阵 2、代码实现 导入必要的库,固定好随机种子 import cv2 as cv import …

鸿蒙内核论文阅读总结概述

原文链接: https://www.usenix.org/system/files/osdi24-chen-haibo.pdf “Microkernel Goes General: Performance and Compatibility in the HongMeng Production Microkernel” 由 Haibo Chen 等人撰写,介绍了鸿蒙内核(HM)的设…

Android 15 在状态栏时间中显示秒数

这是更新后的博客草稿,关于在Android 15状态栏中显示秒数的实现: 在Android 15状态栏中显示秒数 在Android 15中,您可以通过两种方式在状态栏中显示秒数:使用ADB命令或修改系统源代码。下面详细介绍这两种方法。 方法一:通过ADB实现 您可以使用ADB(Android调试桥)命令…

Kafka 之批量消息发送消费

前言: 前面我们分享了 Kafka 的一些基础知识,以及 Spring Boot 集成 Kafka 完成消息发送消费,本篇我们来分享一下 Kafka 的批量消息发送消费。 Kafka 系列文章传送门 Kafka 简介及核心概念讲解 Spring Boot 整合 Kafka 详解 Kafka Kafka…

动态规划 —— dp问题-按摩师

1. 按摩师 题目链接: 面试题 17.16. 按摩师 - 力扣(LeetCode)https://leetcode.cn/problems/the-masseuse-lcci/description/ 2. 算法原理 状态表示:以某一个位置为结尾或者以某一个位置为起点 dp[i]表示:选择到i位置…

mac终端运行 MySQL语句 和服务器相关命令

文章目录 1.mac服务器相关命令1.获取mac电脑的IP 2.MySQL语句1. 退出 MySQL:2.使用新密码连接:3.创建一个新数据库:4.查看数据库列表:5.使用数据库:6.创建一个用户表:7.插入数据8.查询数据9.更新数据10.删除…