利用tail内置插件来获取日志

tail插件相当于tail -f,它会不断的获取更新的日志,

<source>@type     tailpath      /log-dir/*-app.logpos_file  /log-dir/app.log.postagidaasrefresh_interval 10sread_from_head truepath_key path<parse>@type json      #把日志格式直接解析为json格式</parse>
</source>
<source>@type     tailpath      /log-dir/*-debug.logpos_file  /log-dir/debug.log.postagdebugmultiline_flush_interval 2sread_from_head truepath_key path<parse>@type   multiline               #multiline 相当于logstash的multiline format_firstline /^(?<level>(INFO|WARN|ERROR)+)/format1 /(?<level>[a-zA-Z]+)\s*\[(?<date>[0-9/\-: ,]+)\] (?<logger>[a-zA-Z\.]+):(?<message>[\d\D\s]+)/</parse>
</source>
<source>@type     tailpath      /log-dir/*-requests.logpos_file  /log-dir/request.log.postagrequestrefresh_interval 10sread_from_head truepath_key path<parse>@type regexpexpression /(?<message>.*)/</parse>
</source>

第一个filter是为日志添加字段,tag和宿主机的名字,这个可能需要调docker,直接取只会取到docker的ID

<filter *>@type record_transformer             <record>tag ${tag}hostname "#{Socket.gethostname}"</record>
</filter><filter request>@type    grep                         #排除掉一些不需要的日志<exclude>key messagepattern /.*healthcheck.*|.*prometheusMetrics.*|.*(v1+\/)+(configurations)+(\/+versions).*/</exclude>
</filter>
<filter request>@type parserkey_name messagereserve_data yes<parse>   @type regexpexpression  /(?<ip>[^|]+)\|(?<date>[^|]+)\|(?<statusCode>[^|]+)\|(?<contentLength>[^|]+)\|(?<reqURI>[^|]+)\|(?<referer>[^|]+)\|(?<userAgent>[^|]+)\|(?<reqId>[^|]+)\|(?<internalIp>[^|]+)\|(?<reqHost>[^|]+)\|(?<reqOrigin>[^|]+)\|(?<reqTime>[^|]+) \|.*\|(?<requestMethod>[\w]+)/</parse>
</filter>
<match idaas>@type rewrite_tag_filter        #重写tag,匹配的重写tag为app.token,不匹配的重写标app.idaas<rule>key     thread_namepattern /token/tag     app.token</rule><rule>key     thread_namepattern /token/tag     app.idaasinvert  true</rule>
</match>

上面已经把idaas进行分流处理,这里我们把app.token进行一次过滤,然后和app.idaas一起输入到ES中

<filter app.token>@type parserkey_name thread_namereserve_data yes<parse>@type regexpexpression /(?<thread_name>[A-Za-z0-9\.\-_=/\? ]+\.)/</parse>
</filter>
<match request>@type elasticsearchhost elasticsearchlog-lb.elasticsearch-logindex_name    s3-fluentd-request-%Y%m%dtype_name     s3-fluentd-requestinclude_timestamp truessl_verify    false<buffer tag,time>timekey          4s          timekey_wait     1s     #这里的刷新是把buffer的数据及时发送到ES,保持数据的实时性</buffer>
</match>
<match debug>@type elasticsearchhost elasticsearchlog-lb.elasticsearch-logindex_name    s3-fluentd-debug-%Y%m%dtype_name     s3-fluentd-debuginclude_timestamp truessl_verify    false<buffer tag,time>timekey          4s          timekey_wait     1s   </buffer>
</match>
<match app.*>@type elasticsearchhost elasticsearchlog-lb.elasticsearch-logindex_name    s3-fluentd-idaas-%Y%m%dtype_name     s3-fluentd-idaasinclude_timestamp truessl_verify    false<buffer tag,time>timekey          4s          timekey_wait     1s   </buffer>
</match>

fluentd日志处理-安装配置(一)
https://blog.51cto.com/11078047/2316881
Fluentd 日志处理-S3拉取日志处理(二)
https://blog.51cto.com/11078047/2316910
Fluentd日志处理-插件使用和调试问题(四)
https://blog.51cto.com/11078047/2320018

转载于:https://blog.51cto.com/11078047/2316958

Fluentd日志处理-tail拉取(三)相关推荐

  1. 谷粒商城集群篇爬坑笔记--Gitee拉取项目报错、项目target文件不存在(部分项目不全)、SonarQube报错

    Gitee拉取项目报错 问题描述 Gitee拉取可能会报错: ERROR: Error cloning remote repo 'origin' hudson.plugins.git.GitExcep ...

  2. 使用git命令拉取远程分支到本地分支

    文章目录 一.问题:使用插件拉取远程分支时,比较慢 二.使用命令拉取 三.建议push同样使用命令 一.问题:使用插件拉取远程分支时,比较慢 选中项目右键->git ->pull -> ...

  3. 日志服务数据加工最佳实践: 从其他logstore拉取数据做富化

    概述 使用全局富化函数做富化时, 需要传递一个字典或者表格结构做富化. 参考构建字典与表格做数据富化的各种途径比较.  本篇介绍从使用资源函数res_log_logstore_pull从其他logst ...

  4. Will not attempt to authenticate using SASL | dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢

    大家好,我是烤鸭:     今天分享一下使用dubbo遇到的几个问题. 1. cause: KeeperErrorCode = ConnectionLoss for /dubbo/ xxx 异常如下: ...

  5. python操作数据库慢_MySQL数据库之python 拉取mysql 慢日志

    本文主要向大家介绍了MySQL数据库之python 拉取mysql 慢日志 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. #!/usr/bin/env python #impo ...

  6. 一款漫画APP的实现(三)- 数据拉取 ② - 拉取速度改进

    在上篇博客里我们谈到了漫画数据的拉取思路以及获取数据的基本操作,不过最后我们也遇到了一些问题. 上篇里,我们发现获取到的数据中,只有图片是无法正常显示的,而在文章最后我们也知道了造成这一问题的原因就在 ...

  7. 数据拉取之xxl-job+工厂模式+token实现拉取(三)

    xxl-job+工厂模式+token实现拉取(三) 目录 前言 整体设计 xxl-job说明 表设计 工厂模式设计 码上有戏 核心代码 测试 简单说明 源码地址 目录 前言 通过前面总结我们知道,已经 ...

  8. 如何解决后台日志显示Nacos客户端不断重复拉取配置的问题

    文章目录 如何解决后台日志显示Nacos客户端不断重复拉取配置的问题 问题描述 问题原因 解决方法 临时解决方法 永久解决方法 如何解决后台日志显示Nacos客户端不断重复拉取配置的问题 问题描述 后 ...

  9. git 拉取指定的远程分支(三种方式)

    直接拉取 git clone -b ants git@github.com:Ants-double/CareerJava.gitgit clone -b 远程分支名 仓库地址 本地已经有相关的仓库代码 ...

  10. 拉取远程分支_git使用教程之创建本地库并关联远程库(笔记整理篇一)

    笔者个人博客: https://qiucode.cn/blog  微信小程序  [秋码淘好货] 好久没写文章了,本篇文章笔者就来讲讲什么是Git版本控制系统的使用教程. SVN与Git的最主要的区别 ...

最新文章

  1. 获取Linux/Unix文件系统信息
  2. js面向对象的封装方法,【案例】
  3. 一行Java代码实现混乱排序List集合
  4. Invoke and BeginInvoke BeginInvoke和EndInvoke方法 (转)2
  5. vue-cil+vuex 构建一个简单的记事本应用
  6. MySQL使用命令导出/导入数据
  7. 64位Windows 7平台安装32位Timesten,配置ODBC数据源
  8. 架构之路 参考MySpace
  9. 解数独(Python)
  10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
  11. python实现异步的原理_一篇文章理解Python异步编程的基本原理
  12. 时间数值缺失产生的字符串NaT处理
  13. android棋牌游戏实例,提供源码。
  14. 【原型设计】第一节:Axure RP9 下载安装、汉化和激活使用的方法教程
  15. 全阶滑模观测器程序_滑模观测器设计
  16. WSA工具箱安装应用商店提示无法工作怎么解决?
  17. 意法半导体 STM32F102C4 芯片解密 芯片特性
  18. HAproxy正向代理配置
  19. 跨境电商wms系统功能分析
  20. 在打工人的角度学《劳动法》

热门文章

  1. [Swift]LeetCode1106. 解析布尔表达式 | Parsing A Boolean Expression
  2. 使用Mac命令别名,提升工作效率
  3. 收获,不止oracle
  4. 108次练习之模拟实现STL中的Vector(一)
  5. MVC数据验证Model Validation
  6. shell——按指定列排序
  7. Android的启动方式
  8. LightOJ 1336 Sigma Function 算数基本定理
  9. HTML图片热点及表单
  10. C#和java和android中的NetWorkAdapter,httpRequest,WebView,json,xml