当前位置: 首页 > news >正文

centos7安装Kafka单节点环境部署三-安装Logstash

1、下载Logstash

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.7-linux-x86_64.tar.gz

2、解压到/usr/local/

mkdir -p /usr/local/logstash7.17
tar -zxf logstash-7.17.7-linux-x86_64.tar.gz -C /usr/local/logstash7.17/ --strip-components=1 #--strip-components选项表示从目录级别上去除指定的前缀,以实现更加控制解压的效果

3、logstash数据写到kafka中

cd /usr/local/logstash7.17/config/
cp logstash-sample.conf logstash.conf
input{ stdin{ }
}
output{ kafka{ topic_id => "logstash_k"bootstrap_servers => "192.168.0.191:9092"  # kafka的地址jaas_path => "/usr/local/logstash7.17/config/logstash.conf"security_protocol => "SASL_PLAINTEXT"sasl_mechanism => "SCRAM-SHA-256"codec => "json"}stdout{ codec => rubydebug}
}

4、启动、停止

cd /usr/local/logstash7.17
mkdir -p /data/logstash7/
nohup ./bin/logstash -f config/logstash.conf &>> /data/logstash7/logstash-server-`date "+%Y%m%d"`.log & echo $! > /data/logstash7/logstash.pid #启动
cat /data/logstash7/logstash.pid | xargs -I {} kill {} #停止

logstash配置详解

Logstash 是一个强大的日志处理工具,可以用于数据收集,转换和存储。以下是 Logstash 配置文件的基本结构和一个示例配置:

# Logstash 配置文件示例# 设置 Logstash 的工作区域
# path 指定了 Logstash 的工作目录
# node.name 是集群中此节点的名称
# cluster.name 是集群的名称
# pipeline.workers 是执行输入和过滤器的工作线程数
# pipeline.batch.size 是每个批次的事件数
# pipeline.batch.delay 是等待批次填满的时间pipeline.workers: 2
pipeline.batch.size: 125
pipeline.batch.delay: 50# 输入配置
# 使用 file 插件监控日志文件的变化
input {file {path => "/var/log/system.log"start_position => "beginning"}
}# 过滤器配置
# 使用 grok 插件解析日志格式
filter {grok {match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{DATA:program}(?:\[%{POSINT:pid}\])?: %{GREEDYDATA:message}" }add_field => [ "received_at", "%{@timestamp}" ]add_field => [ "received_from", "%{host}" ]}
}# 输出配置
# 将处理后的事件发送到 Elasticsearch
output {elasticsearch {hosts => ["localhost:9200"]index => "logstash-%{+YYYY.MM.dd}"}
}

在这个配置中,我们定义了 Logstash 的工作区域和线程设置,然后配置了一个文件输入来监控系统日志文件的变化。接着,我们使用了 grok 插件来解析日志消息,并添加了两个额外字段。最后,我们配置了 Elasticsearch 作为输出,将数据发送到 Elasticsearch 索引中。

相关文章:

  • MURF860AC-ASEMI智能AI专用MURF860AC
  • 虚幻游戏开发| 编辑器内正常运行但打包出错
  • 高级java每日一道面试题-2024年8月23日-框架篇[SpringBoot篇]-什么是JavaConfig?
  • ACM模式下算法题输入输出攻略【C++】
  • Adobe Lightroom Classic (LRC) 软件下载安装和软件使用介绍
  • 【Java】/* 与树有关的一些概念 */
  • u盘突然说要格式化才能访问?如何跳过格式化打开U盘
  • Java Web —— 第八天(登录功能)
  • SmartPing-记录下
  • Tita的OKR :产品经理的OKR
  • 测试用例(还需要输入1个字)
  • 背包问题【算法 07】
  • 自然语言处理系列三十二》 语义相似度》语义相似度概念及入门
  • Python爬虫-实现自动获取随机请求头User-Agent
  • ArcGIS高/低聚类(Getis-Ord General G)——探究人口空间格局的20年变迁
  • Codepen 每日精选(2018-3-25)
  • create-react-app项目添加less配置
  • Docker 笔记(2):Dockerfile
  • ES6 学习笔记(一)let,const和解构赋值
  • git 常用命令
  • Javascript编码规范
  • JAVA多线程机制解析-volatilesynchronized
  • js数组之filter
  • PV统计优化设计
  • Terraform入门 - 3. 变更基础设施
  • 回流、重绘及其优化
  • 深入浅出webpack学习(1)--核心概念
  • 使用 @font-face
  • 使用Gradle第一次构建Java程序
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • ​插件化DPI在商用WIFI中的价值
  • ​什么是bug?bug的源头在哪里?
  • !$boo在php中什么意思,php前戏
  • #QT(一种朴素的计算器实现方法)
  • %check_box% in rails :coditions={:has_many , :through}
  • (06)金属布线——为半导体注入生命的连接
  • (1)(1.13) SiK无线电高级配置(六)
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (七)Appdesigner-初步入门及常用组件的使用方法说明
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)基于IDEA的JAVA基础10
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)EXC_BREAKPOINT僵尸错误
  • .bat批处理(六):替换字符串中匹配的子串
  • .Net CF下精确的计时器
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Remoting学习笔记(三)信道
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NetCore 如何动态路由
  • .NET导入Excel数据
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @SuppressWarnings(unchecked)代码的作用