fluentd 推送 mariadb audit log

说明:

mariadb audit log是 mariadb 的审计日志

目的是把日志拆分成 tab 键分隔的字段

直接附上 fluentd 配置文件

<system>
  log_level error
</system>
<source>
  @type tail
  path /data/logs/mariadb/server_audit.log
  tag mysql_audit
  pos_file /data/logs/mariadb/fluentd.pos
  <parse>
    @type multiline
    format_firstline /^\d{8}/
    format1 /^(?<dt>\d{8} \d{2}:\d{2}:\d{2}),(?<hostname>[^,]+),(?<user>[^,]+),(?<ip>[^,]+),(?<connid>[^,]+),(?<queryid>[^,]+),(?<action>[^,]+),(?<db>[^,]+),(?<message>.*),(?<retcode>\d+)$/
  </parse>
</source>

<filter mysql_audit>
  @type grep
  <regexp>
    key action
    pattern QUERY
  </regexp>
  <exclude>
    key user
    pattern lagou_status
  </exclude>
  <exclude>
    key db
    pattern information_schema
  </exclude>
</filter>

<filter mysql_audit>
  @type record_transformer
  enable_ruby
  <record>
    message ${record["message"].gsub(/\s/, ‘ ‘)}
    message ${record["message"].gsub(/\s+/, ‘ ‘)}
  </record>
</filter>

<match mysql_audit>
  #@type stdout
  @type file
  path "/data/logs/mariadb/#{ENV[‘HOSTNAME‘]}"
  time_slice_format %Y%m%d%H
  time_slice_wait 5m
  add_path_suffix false
  append true
  compress gzip
  <format>
    @type csv
    fields dt,hostname,user,ip,action,db,message,retcode
    delimiter ‘    ‘
  </format>
</match>

fluentd 比 logstash 内存占用大大下降

分析同样的日志 logstash 占用700M, fluentd 占用35M

不过 cpu 占用相当,对于日志量大的机器 cpu 到100%

看来对日志做正则过滤很损耗 cpu

原文地址:https://www.cnblogs.com/txwsqk/p/9397853.html

时间: 2024-07-29 19:25:14

fluentd 推送 mariadb audit log的相关文章

用Jpush极光推送实现实时抓取用户Log到七牛云服务器.md

##场景## 我们的app常常会出现某个特定用户的手机出现异常情况,(注意不是所有用户,特定机型特定用户)如果用友盟,那么多log你也抓不完 ,看不到log就无法解决问题. 那么问题来了,如何实现对特定某个用户实时抓取log呢,比如我就想要用户id为 **lixiaodaoaaa**这个用户的日志信息呢?(用户自己不知道我们要抓她的log,对了你可以干点邪恶的事) 发送通知给他,而接收到通知,设备可以啥都不提示,可以干点邪恶的事,不过我想想还是算了.(他的log.我们默认log都会用LogUti

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节

atitit.极光消息推送服务器端开发实现推送&#160;&#160;jpush&#160;v3.&#160;总结o7p

atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p 1. 推送所设计到底功能1 1.1. 内容压缩1 1.2. 多引擎1 2. reg  ,设置appkey and pwdkey1 3. 下载server  sdk   v31 4. push推送样例1 5. Code3 1. 推送所设计到底功能 1.1. 内容压缩 1.2. 多引擎 2. reg  ,设置appkey and pwdkey 3. 下载server  sdk   v3 https://github.c

java 基于javapns IOS推送的配置

1.enable logging javapns使用的log4j,为确保log的正常工作,在使用过程中添加如下代码: import org.apache.log4j.*;    ... try {          BasicConfigurator.configure();       ...   } catch (Exception e) {   //do sth.  } log4j.properties中添加: log4j.logger.javapns=debug 2.sandbox(开发

Android中实现消息推送(JPush)

1,去JPush官网注册一个账号,创建你的app的应用,并且拿到你应用的AppKey 2,在JPush官网下载对应的sdk,解压出来,将libs文件下的所有的文件全部复制到你工程的libs文件中 3,在清单文件中添加对应的权限和activity(更改对应的包名和对应的AppKey) AndroidManifest.xml权限配置: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:andr

第87课:Flume推送数据到SparkStreaming案例实战和内幕源码解密

本期内容: 1. Flume on HDFS案例回顾 2. Flume推送数据到Spark Streaming实战 3. 原理绘图剖析 1. Flume on HDFS案例回顾 上节课要求大家自己安装配置Flume,并且测试数据的传输.我昨天是要求传送的HDFS上. 文件配置: ~/.bashrc: export FLUME_HOME=/usr/local/flume/apache-flume-1.6.0-bin export FLUME_CONF_DIR=$FLUME_HOME/conf PA

[APICloud教程] 极光推送(ajpush)demo

注意:使用极光推送,必须到官网编译正式版本并且勾选极光推送模块,apploader中目前暂时未包含极光推送模块,所以无法在apploader中直接使用,通常会报类似:cannot call method 'init' of undefind at xxx.html 的错误. 官方版极光推送模块各个api的简单代码示例. 使用前请将config中的appkey换成你的app的. 使用步骤: 1.在APICloud云端新建app并获取应用包名:预览->端开发->证书->获取ios和andro

通过MCollective实现puppet向windows的推送

puppet在比较老的版本的时候是通过kick进行推送实现配置及时更新,由于kick的效率问题,在比较新的版本中开始采用第三方工具MCollective来实现,网上介绍如何部署MCollective文章也不少,但大都是linux平台下的部署,windows下的几乎没有,我在研究的时候也是一路坎坷,差点放弃,不过看到有一个老外自己成功部署后,有点不甘心,在坚持下终于配置成功,现在整理一下分享出来. 如果你还一点都不了解MCollective,建议看看这篇文章,他讲的是在linux下部署MColle

Android消息推送:手把手教你集成小米推送

前言 在Android开发中,消息推送功能的使用非常常见. 为了降低开发成本,使用第三方推送是现今较为流行的解决方案. 今天,我将手把手教大家如何在你的应用里集成小米推送 该文档基于小米推送官方Demo,并给出简易推送Demo 看该文档前,请先阅读我写的另外两篇文章: 史上最全解析Android消息推送解决方案 Android推送:第三方消息推送平台详细解析 目录 1. 官方Demo解析 首先,我们先对小米官方的推送Demo进行解析. 请先到官网下载官方Demo和SDK说明文档 1.1 Demo