日志系列---【分布式日志系统-搭建logstash】
1.下载logstash
2.上传至服务器,并解压
tar -zxvf logstash-7.3.0.tar.gz
3.stash 第一个事件
Logstash 管道有两个必需元素,输入和输出,以及一个可选元素 filter。输入插件使用来自源的数据,过滤器插件在您指定时修改数据,输出插件将数据写入目标。
要测试 Logstash 安装成功,运行最基本的 Logstash 管道。执行以下的命令
cd bin/
sh logstash -e 'input { stdin { } } output { stdout {} }'
4.配置 logstash 输出到 elasticsearch
cd logstash-7.3.0/config/
vim logstash-sample.conf
input { beats { port => 5044 } tcp { port => 4569 codec => "json" } } output { if[appname] != "" { elasticsearch { hosts => ["http://192.168.0.146:9200"] index => "%{[appName]}-%{+YYYY.MM.dd}" } } else { elasticsearch { hosts => ["http://192.168.0.146:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" } } }
5.logstash 结合 filebeat 使用
logstash 结合 filebeat 在分布式系统中,一台主机可能有多个应用,应用将日志输出到主机的指定目录,这时由 logstash 来搬运日志并解析日志,然后输出到 elasticsearch 上。由于于 logstash 是 java 应用,解析日志是非的消耗 cpu 和内存,logstash 安装在应用部署的机器上显得非常的笨重。最常见的做法是用 filebeat 部署在应用的机器上,logstash 单独部署,然后由 filebeat 将日志输出给 logstash 解析,解析完由 logstash 再传给 elasticsearch。
下载filebeat:https://www.elastic.co/cn/downloads/beats/filebeat
解压
tar -zxvf filebeat-7.3.0-linux-x86_64.tar.gz
cd /filebeat-7.3.0-linux-x86_64/
修改配置
vim filebeat.yml
filebeat.inputs: - type: log enabled: true paths: - /var/log/service.log output.logstash: hosts: ["192.168.1.199:5044"]
主要配置的是日志的搜集目录为/var/log/service.log,这个目录是应用 service 输出日志的文件。输出到 logstsh 的地址为 192.168.1.199
启动 filebeat,执行以下命令:
sudo chown root filebeat.yml
sudo ./filebeat -e >filebeat.log 2>&1 &
这样日志就传输到了 logstash, 然后通过 logstash 输出到 elasticsearch
具体效果需要结合 Kibana 或者通过 elasticsearch-head 查看。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?