logstash

第一种:

通过官网logstash包下载安装 https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-linux-aarch64.tar.gz

解压在mnt目录下

 

修改配置文件.conf

cd /mnt/logstash-7.10.1

bin/logstash -f config/logstash-sample.conf -t   检测配置文件

bin/logstash -f config/logstash-sample.conf >/dev/null 2>log & 后台启动

日志在 /mnt/logstash-7.10.1/logs

 

 

 

 

 

input { stdin { } }
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

 

bin/logstash -f logstash-simple.conf

 

 

 

 

第二种: docker 安装

https://www.elastic.co/cn/downloads/logstash
https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-linux-aarch64.tar.gz
yum: command not found

使用docker 安装Logstash,来收集文件/var/log/messages

https://blog.youkuaiyun.com/shykevin/article/details/108251996
5044 9600

docker pull wep4you/logstash:7.9.2

docker run -d --name=logstash wep4you/logstash:7.9.2


等待30秒,查看日志
docker logs -f logstash

mkdir -p /mnt/docker/elk7/logstash/config/conf.d


docker cp logstash:/usr/share/logstash/config /mnt/docker/elk7/logstash/
docker cp logstash:/usr/share/logstash/data /mnt/docker/elk7/logstash/
docker cp logstash:/usr/share/logstash/pipeline /mnt/docker/elk7/logstash/
chmod 777 -R /mnt/docker/elk7/logstash

vim /mnt/docker/elk7/logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://139.9.53.103:9200" ]
path.config: /usr/share/logstash/config/conf.d/*.conf
path.logs: /usr/share/logstash/logs

vim /mnt/docker/elk7/logstash/config/conf.d/syslog.conf
input {
  file {
    #标签
    type => "systemlog-localhost"
    #采集点
    path => "/var/log/messages"
    #开始收集点
    start_position => "beginning"
    #扫描间隔时间,默认是1s,建议5s
    stat_interval => "5"
  }
}

output {
  elasticsearch {
    hosts => ["您的ip:9200"]
    index => "logstash-system-localhost-%{+YYYY.MM.dd}"
 }
}


docker rm -f logstash  强制删除一个运行中的日容器

chmod 644 /var/log/messages

docker run -d -p 5044:5044 --name=logstash --restart=always -v /mnt/docker/elk7/logstash:/usr/share/logstash -v /var/log/messages:/var/log/messages wep4you/logstash:7.9.2

docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 -p 5044:5044 --name xinyar-logstash -v /data/elk/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /data/elk/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:7.4.1
  

docker exec -it logstash /bin/bash
 

### Logstash 使用指南与常见问题解决 Logstash 是 Elastic Stack 中的一个重要组成部分,主要用于数据采集、转换和传输。它具有高度可扩展性和灵活性,适用于多种应用场景,如实时日志分析、安全监控、性能监测等[^1]。 #### 1. **Logstash 的基本架构** Logstash 的工作流程分为三个阶段:输入(Input)、过滤(Filter)和输出(Output)。每个阶段都可以通过插件进行定制化配置。 - 输入阶段负责接收数据源,例如文件、syslog、TCP/UDP 流等。 - 过滤阶段对数据进行解析、修改或 enrich 处理。 - 输出阶段将处理后的数据发送到目标位置,例如 Elasticsearch、Kafka 或其他存储系统。 #### 2. **Logstash 配置文件结构** Logstash 的配置文件通常由三部分组成:input、filter 和 output。下面是一个简单的例子: ```plaintext input { file { path => "/var/log/*.log" start_position => "beginning" } } filter { grok { match => { "message" => "%{COMBINED_LOG_FORMAT}" } } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "logs-%{+YYYY.MM.dd}" } } ``` 此配置实现了从 `/var/log/` 路径下的日志文件读取数据,并使用 Grok 插件解析日志内容,最后将其索引到 Elasticsearch 中。 #### 3. **常见问题及其解决方法** ##### (1)**Logstash 启动失败** 如果 Logstash 在启动时遇到错误,可能是由于内存不足或者配置文件语法有误引起的。可以通过增加 JVM 堆大小来缓解内存压力,编辑 `jvm.options` 文件调整 `-Xms` 和 `-Xmx` 参数。另外,确保配置文件无拼写错误并通过命令行测试其有效性: ```bash bin/logstash -f /path/to/config.conf --config.test_and_exit ``` ##### (2)**日志重复摄入** 有时可能会发现同一份日志被多次摄入,这通常是因 Sincedb 文件损坏所致。Sincedb 记录了上次消费的位置以便后续增量读取。尝试删除 sincedb 文件重新开始同步即可解决问题: ```bash rm .sincedb_* ``` ##### (3)**Grok 解析失败** 当 Grok 表达式无法匹配预期模式时,可能导致字段提取不成功。建议利用调试工具验证正则表达式的准确性,例如在线 Grok Debugger 工具[^2]。 #### 4. **优化技巧** 为了提升 Logstash 的效率,可以从以下几个方面入手: - 减少不必要的 filter 步骤以降低 CPU 占用率。 - 批量提交数据至下游服务减少网络开销。 - 定期清理旧的日志文件防止磁盘空间耗尽。 --- ### 总结 通过对 Logstash 的深入理解及合理配置,可以有效应对各类复杂场景下的数据流管理挑战。无论是基础入门还是高级调优,掌握好核心概念和技术细节都是至关重要的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值