ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

日志系列---【分布式日志系统-搭建logstash】

2021-11-17 03:31:45  阅读:155  来源: 互联网

标签:输出 filebeat log --- elasticsearch 日志 logstash


1.下载logstash

https://artifacts.elastic.co

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 查看。

标签:输出,filebeat,log,---,elasticsearch,日志,logstash
来源: https://www.cnblogs.com/hujunwei/p/15565362.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有