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 索引中。

相关推荐
珠海西格21 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
AC赳赳老秦1 天前
专利附图说明:DeepSeek生成的专业技术描述与权利要求书细化
大数据·人工智能·kafka·区块链·数据库开发·数据库架构·deepseek
小邓吖1 天前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
曹天骄1 天前
基于 Cloudflare Worker 构建分布式测速调度系统:KV 与 D1 数据层设计实战教程
分布式·缓存
Prince-Peng1 天前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
曹天骄1 天前
基于 Cloudflare Worker + KV 构建高性能分布式测速调度系统(工程实战)
分布式
奋进的芋圆1 天前
Spring Boot 3 高并发事务与分布式事务企业级完整解决方案
spring boot·分布式
没有bug.的程序员1 天前
Spring Boot 与 Kafka:消息可靠性传输与幂等性设计的终极实战
java·spring boot·后端·kafka·幂等性·消息可靠
你才是臭弟弟1 天前
Docker 拉取 Kafka 镜像及策略配置
docker·容器·kafka
淡泊if1 天前
Kafka部署模式详解:从单机到分布式集群的核心选择
分布式·kafka