阿里云日志服务日志过滤器配置

 更新时间:2022年04月08日 17:19:03   作者:Oops!  
这篇文章主要介绍了阿里云日志服务日志过滤器配置 ,需要的朋友可以参考下

日志收集流程

对于日志收集的客户端,其work pipeline通常包括三个过程:Input,Process,Output。

  • Input: 适配各类日志接入源,目前Logtail支持文本文件、Syslog(TCP流式)两种形式数据写入。
  • Process:自定义日志处理逻辑,常见的有:日志切分、日志编码转换、日志结构化解析、日志过滤等等。
  • Output:定义日志输出,例如Logtail以HTTP协议写数据到日志服务。

今天要介绍Logtail在日志处理阶段的两个新功能:转码、过滤

日志转码

日志服务限制数据的字符编码为UTF-8,这也是Logtail在发送数据阶段对于字符编码的要求。

但可能一些较老的应用组件在处理中文的时候,会打印GBK编码的数据到日志文件。

这种情况下,你可以在Logtail配置的高级选项中,选择日志文件编码为”GBK“。那么,Logtail在采集日志时,会对日志内容先做GBK到UTF-8的编码转换,再进行后续处理。

Logtail目前支可以支持UTF-8和GBK两种文件编码格式。对于GBK格式,Logtail使用Linux系统的iconv API,编码转换过程中会额外消耗机器计算资源。

问:如何判断我的GBK日志文件是否可以通过Logtail收集?
答:在Linux Shell下使用iconv命令进行转码测试,假设日志文件名为gbk.log,执行命令:

iconv -f GBK -t UTF-8 gbk.log -o gbk_to_utf8.log

如果执行成功则说明文件编码是GBK;如执行失败(类似iconv: illegal input sequence at position 2743错误),则说明文件不是合法的GBK编码,无法通过Logtail做编码转换,请尝试调整应用输出的日志文件编码格式为UTF-8。

日志过滤

举一个web服务器的例子,Nginx每时每刻接收大量请求,并在access.log记录这些请求:

10.200.98.220 - - [25/May/2016:14:55:42 +0800] "HEAD sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 200 37 "-" "aliyun-sdk-java" 13605
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "POST sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 404 37 "-" "ali-log-logtail" 13608
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "PUT sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 401 37 "-" "aliyun-sdk-java" 13609
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "PUT sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 502 37 "-" "aliyun-sdk-java" 13610
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "GET sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 401 37 "-" "cpp-sdk-0.6" 13612
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "PUT sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 400 37 "-" "cpp-sdk-0.6" 13614
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "POST sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 400 37 "-" "ali-log-logtail" 13615
10.200.98.220 - - [25/May/2016:14:55:42 +0800] "HEAD sls-pub.alibaba-inc.com/projects/ali-cn-hangzhou-sls-admin/logstores HTTP/1.1" 0.024 18204 200 37 "-" "cpp-sdk-0.6" 13616

对于问题调查的场景,HTTP 200请求的日志量通常是巨大的,如果我们希望降低日志存储的成本,只上传发生异常的请求日志,应该怎么来做呢?

在今天,你可以打开Logtail配置的高级选项,设置过滤器来解决数据过滤的问题。

logtail_

如上图所示,分别对url字段和status字段设置了两个过滤器。指定字段Key存在且Value符合正则表达式的日志会被保留。

定义多个过滤器的时候,判断条件是“与”的关系,满足所有过滤器设置的日志是合法的,否则被丢弃。

对于一条日志,当url字段与"(POSTs.)|(GETs.)"匹配成功且status字段与"[345]d+"匹配成功的时候(只采集POST、GET请求且状态码非200的日志),Logtail将该日志上传至日志服务,如下图所示:

_

如果设置过滤器的字段名在日志里找不到,那么这条日志也是不合法的,需要被丢弃。默认情况下,用户没有任何过滤器设置的情况下,所有被Logtail读取并解析成功的日志数据都会写入日志服务。

实例配置:

只收集匹配到 topic  为  action 或者 plugin 的日志 

更多关于阿里云日志服务日志过滤器配置技术文章请查看下面的相关链接

相关文章

  • imail8.22安装激活实例[图文]

    imail8.22安装激活实例[图文]

    今天制作此实例的目的是因为前几天我提供了IMAIL8.22中文模板和算号器,这几天问我怎么注册的人还挺多,一句话又讲不清,不讲吧,又觉得对不起朋友们,所以花了点时间,做了此实例,方便朋友们使用,高手就不用看了
    2011-09-09
  • rsync 常见错误与解决方法整理

    rsync 常见错误与解决方法整理

    由于我们经常使用rsync进行服务器文件的同步工作,但在配置过程中,会出现很多问题,下面的错误基本上都是通过客户端返回的错误进行分析
    2012-11-11
  • MongoDB 内存使用情况分析

    MongoDB 内存使用情况分析

    都说 MongoDB 是个内存大户,但是怎么知道它到底用了多少内存呢
    2013-07-07
  • 搭建hMailServer服务实现远程发送邮件的图文教程

    搭建hMailServer服务实现远程发送邮件的图文教程

    hMailServer是一个邮件服务器,通过它我们可以搭建自己的邮件服务,本文主要介绍了搭建hMailServer服务实现远程发送邮件的图文教程,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • git修改和删除功能_动力节点Java学院整理

    git修改和删除功能_动力节点Java学院整理

    这篇文章主要介绍了git修改和删除功能,需要的朋友可以参考下
    2017-08-08
  • git fork同步是什么意思?

    git fork同步是什么意思?

    这篇文章主要介绍了git fork同步是什么意思?fork到了哪里?有什么用?如何用?跟clone有什么区别?本文就一一解释这些问题,需要的朋友可以参考下
    2015-05-05
  • wamp5是什么 wamp有什么用途?

    wamp5是什么 wamp有什么用途?

    wamp就是Windows系统加上Apache,MySQL及PHP搭建的web环境,配置简单方便,简称wamp,了解amp之后,我们就简单介绍下什么的wamp5以及主要用途
    2015-10-10
  • 如何解决DELL服务器识别不到硬盘的问题

    如何解决DELL服务器识别不到硬盘的问题

    在DELL服务器使用中,可能因为默认的RAID配置无法直接识别硬盘,通过进入PERC H330管理界面并将硬盘从RAID模式转换为非RAID模式,可以使硬盘被系统识别,此过程包括开机按Ctrl+R进入管理界面,使用Ctrl+N跳转到PDMgmt,选中硬盘后选择Convert to Non-RAID并重启服务器
    2024-10-10
  • 如何在windows系统使用3proxy安装socks5代理服务器

    如何在windows系统使用3proxy安装socks5代理服务器

    3proxy是一个轻量级、免费的代理服务器软件,支持SOCKS, HTTP, FTP代理等多种协议,本文将详细介绍如何在Windows系统上通过3proxy软件搭建一个SOCKS5代理服务器,感兴趣的朋友一起看看吧
    2024-03-03
  • cwrsync invalid uid nobody 解决方法

    cwrsync invalid uid nobody 解决方法

    这篇文章主要介绍了使用rsync/cwrsync工具进行档案同步的时候出现invalid uid nobody错误的解决方法,需要的朋友可以参考下
    2016-03-03

最新评论