Logtail 新功能:采集路径黑名单

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 背景 在某些场景下,我们需要采集的日志会分散在多个目录,为了在一个采集配置中同时采集它们,我们往往需要把采集配置中的目录指定为这些目录的共同父目录,这在实际使用用可能会产生一些问题。以如下的目录结构为例,我们希望在一个采集配置内指定采集 dira/b/c 目录下的 *.log,就必须将采集目录指定为父目录 admin。

背景

在某些场景下,我们需要采集的日志会分散在多个目录,为了在一个采集配置中同时采集它们,我们往往需要把采集配置中的目录指定为这些目录的共同父目录,这在实际使用用可能会产生一些问题。以如下的目录结构为例,我们希望在一个采集配置内指定采集 dira/b/c 目录下的 *.log,就必须将采集目录指定为父目录 admin。但这样指定后,由于 logtail 递归采集子目录的规则,一方面 dirs 目录下的 private.log 由于符合规则,也会被采集上来,会违背数据安全;另一方面,如果目录 diredirf 这些不需要的目录也会被监控,带来性能问题。

admin
├── dire
├── dira
│   └── a.log
├── dirb
│   └── b.log
├── dirc
│   └── c.log
├── dirf
└── dirs
    └── private.log

在当前情况下,为了避免这种问题,我们一般会通过创建多个采集配置来分别指定具体的子目录,非常麻烦。为了支撑此类场景,logtail 新增了指定采集路径黑名单的功能,可以在采集配置所指定的根目录基础上,对指定的目录、文件进行过滤,使 logtail 跳过对它们的采集。

依赖 logtail 版本:0.16.26 及以上。

功能说明及示例

目前,黑名单功能支持按照 目录路径文件路径 两种方式进行过滤,前者会跳过指定目录下所有内容(文件、子目录)的采集,后者则是跳过对指定文件的采集。为了提高使用的灵活性,在指定目录、文件的路径时,可以使用 *? 等通配符来匹配多个目标

假设我们采集的内容是目录 /home/admin 下的 *.log,以下是一些黑名单示例以及它们的效果。

  • 按目录路径忽略 /home/admin/dir1:忽略子目录 dir1 下的所有内容。
  • 按目录路径忽略 /home/admin/dir*:忽略 /home/admin/ 下所有 dir 开头的子目录内容。
  • 按目录路径忽略 /home/admin/*/dir:忽略 /home/admin/ 下所有二级目录名为 dir 的子目录内容,比如 /home/admin/a/dir 会被忽略,而 /home/admin/a/b/dir 会被采集。
  • 按文件路径忽略 /home/admin/private*.log:忽略 /home/admin/ 目录下所有 private 开头、.log 结尾的文件。
  • 按文件路径忽略 /home/admin/private*/*_inner.log:忽略 /home/admin/ 目录下 private 开头的一级子目录内,以 _inner.log 结尾的文件,比如 /home/admin/private/app_inner.log 会被忽略,而 /home/admin/private/app.log 会被采集。

控制台操作

通过【文本日志】的接入方式(比如 JSON、分隔符、单行等),根据向导进入配置页面后。启用【设置采集黑名单】,在黑名单配置中根据需要新增条目即可使用此功能。匹配黑名单过程会有计算开销,因此,建议黑名单条目数不要超过 10 条。

undefined

目录
相关文章
span标签显示固定长度显示省略号,光标放上显示全部
span标签显示固定长度显示省略号,光标放上显示全部
340 0
|
消息中间件 数据采集 JSON
iLogtail社区版使用入门 - iLogtail日志处理实战
本文将会详细介绍使用iLogtail社区版进行日志采集时,对于常见日志格式的处理实战。为了便于调测,以下样例默认将采集到的日志,经过处理后,输出到标准输出,开发者可以根据实际需求进行适当的调整。
3604 0
|
数据可视化 数据管理 定位技术
如何将QGIS中的属性表与Excel表格关联?
作为UE开发人员,经常会使用到QGIS进行数据管理编辑。QGIS与Excel之间数据并不完全兼容,而UE开发过程中大部分的前期数据都储存在Eecel里。为了将Excel数据写入QGIS属性表实现数据可视化,我们内部总结了一个最快捷的方法
|
存储 监控 网络安全
saltStack自动化工具
saltStack自动化工具
771 7
|
Go API 开发工具
我的业务不一样,用 go-zero 怎么搞?
我的业务不一样,用 go-zero 怎么搞?
|
关系型数据库 MySQL 网络安全
【Django】执行python manage.py makemigrations报错的解决方案
【Django】执行python manage.py makemigrations报错的解决方案
|
C语言 计算机视觉 C++
ffmpeg 纯静态编译,以及添加自定义库流程摘要
需求:    1. 纯静态编译ffmpeg ,即ldd ./ffmpeg 的结果是:not a dynamic executable    2.  修改ffmpeg 项目,添加自定义功能库    3. 自定义库由c++实现,要求能被纯c的ffmpeg项目调用    4. 自定义库必须使用g++ 的一些高级特性编译,要求g++支持c++11    5. 自定义库使用了pthread库 和openmp 库    6. 自定义库使用了opencv 3.0.0库,    7. 禁用所有的图形显示库x11,xcb,声音设备avdevice等等,静态链接这些库,会很痛苦。
5314 0
|
Ubuntu Linux
ffmpeg编译x265
ffmpeg编译x265
916 0
ffmpeg编译x265
[ik_max_word] not found for field
[ik_max_word] not found for field
376 0

热门文章

最新文章