filebeat+logstash 聚合多实例部署日志

1 篇文章 0 订阅

问题背景:

  现公司的一个单体项目,因访问量变大,采取nginx负载均衡多实例部署。但是存在一个问题,项目的日志文件都分布在部署的每台服务器上,当查看用户的一个具体请求,因为nginx做了负载,所以也不清楚究竟这个请求在哪台实例上面,就需要一个个日志去查看,造成效率低下。

问题解决办法:

方式一:使用目前最好用的ELK日志收集,将日志都输入es中查看等等
     优点:es中查看日志方便,还可以利用可视化组件来查看
     缺点:需要搭建整套ELK环境,需要对ELK有一定的了解

方式二: 利用本文介绍的filebeat+logstash 将分布在各个服务器日志文件进行聚合到一个日志文件中
    优点:操作简单,利于扩展到ELK中
     缺点:查看日志没有可视化

环境介绍:

logstash 安装和配置:

  • 解压下载的压缩包 tar -zxvf logstash-7.3.2.tar.gz
  • 修改 logstash.conf文件(如果没有找到就把 logstash-sample.conf复制出来名称修改一下)修改内容:
input {
  beats {
	port => 5055
  }
}

output {
  file {
	path => "/home/app/smrz/%{+YYYY.MM.dd}-file.log"
	codec => line {format =>  "%{[@metadata][ip_address]} %{message}"}   
	# 格式化信息 来源IP + 原始信息
  }
}

此处重点解释一下:%{[@metadata][ip_address]} 这个参数代表来源IP 地址方便我们查看日志来源实例

  • 启动logstash bin/logstash -f conf/logstash.conf

filebeat 安装与配置

  • 解压下载的压缩包 tar -zxvf filebeat-7.3.2-linux-x86_64.tar.gz
  • 修改配置文件 filebeat.yml
filebeat.inputs:
 - type: log
  enabled: true
 # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /home/CTID-ONLINE/kitty.log
output.logstash:
  # The Logstash hosts
  hosts: ["192.168.44.21:5055"]
  • 启动filebeat sudo ./filebeat -e -c filebeat.yml
重复将filebeat安装到日志所在服务器

最终聚合的效果

192.168.44.10 2019-09-23 15:37:27.092 |-INFO  [http-nio-8018-exec-10] com.goldenshield.kitty.interceptor.ConfigurationFilter [100] -| {"date":1569224247092,"idAddr":"223.104.18.231","appKey":"smbsapp","url":"/kitty/jbrz/OCR"}
192.168.44.20 2019-09-23 15:37:26.012 |-DEBUG [http-nio-8018-exec-15] com.goldenshield.kitty.mapper.AppInfoMapper.findRzfsByAppkey [159] -| ==>  Preparing: select GROUP_CONCAT(rzfs.rzfs_url) from app_info INNER JOIN appinfo_rzfs ON ( app_info.uuid = appinfo_rzfs.appinfo_uuid) INNER JOIN rzfs ON (appinfo_rzfs.rzfs_uuid = rzfs.rz_id) where appkey = ? 
192.168.44.10 2019-09-23 15:37:26.092 |-INFO  [http-nio-8018-exec-15] com.goldenshield.kitty.service.impl.SmbsServiceImpl [96] -| 实名办税 解除绑定返回结果:{"code":200,"message":"OK","data":{"bsryid":"875713"},"more":false}
192.168.44.10 2019-09-23 15:37:26.529 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| ==>  Preparing: select * from app_info where appkey = ? 
192.168.44.20 2019-09-23 15:37:26.012 |-DEBUG [http-nio-8018-exec-15] com.goldenshield.kitty.mapper.AppInfoMapper.findRzfsByAppkey [159] -| ==> Parameters: smbsios(String)
192.168.44.10 2019-09-23 15:37:26.092 |-INFO  [http-nio-8018-exec-15] com.goldenshield.kitty.interceptor.ConfigurationFilter [100] -| {"date":1569224246092,"idAddr":"183.160.70.39","appKey":"smbsios","url":"/kitty/smbs/JCBD"}
192.168.44.10 2019-09-23 15:37:26.530 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| ==> Parameters: smbsapp(String)
192.168.44.20 2019-09-23 15:37:26.013 |-DEBUG [http-nio-8018-exec-15] com.goldenshield.kitty.mapper.AppInfoMapper.findRzfsByAppkey [159] -| <==      Total: 1
192.168.44.10 2019-09-23 15:37:26.526 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| ==>  Preparing: select * from app_info where appkey = ? 
192.168.44.20 2019-09-23 15:37:26.530 |-DEBUG [http-nio-8018-exec-10] com.goldenshield.kitty.mapper.AppInfoMapper.findByAppkey [159] -| <==      Total: 1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值