You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求适配MySQL 5.7.39的免费CSV格式审计日志插件及McAfee日志转CSV方法

推荐免费CSV格式MySQL审计日志插件
  • Percona Audit Log Plugin:完全兼容MySQL 5.7系列(含5.7.39)的免费开源插件,支持直接输出CSV格式审计日志。配置时在my.cnf/my.ini中添加以下参数即可:

    plugin_load_add = audit_log.so
    audit_log_format = CSV
    audit_log_file = /var/log/mysql/audit.log
    audit_log_policy = QUERIES # 可按需调整为LOGINS/ALL等,减少不必要的日志输出
    

    它支持自定义事件过滤,能有效控制日志体积,且日志结构清晰易读。

  • 适配版MariaDB Audit Log Plugin:虽然MySQL 5.7.39不再原生支持该插件,但可基于MariaDB开源代码手动编译适配版本,编译时匹配MySQL 5.7.39的编译参数,就能在目标环境运行,同样支持CSV格式输出。

McAfee JSON日志转CSV方法

如果暂不更换插件,可通过以下方式将JSON格式日志转换为CSV:

1. jq命令行工具(高效推荐)

jq是轻量的JSON处理工具,可直接提取字段生成CSV。假设日志JSON包含timestamp、user、query、client_ip字段,执行命令:

# 生成带表头的CSV
jq -r '["timestamp","user","query","client_ip"], (.[] | [.timestamp, .user, .query, .client_ip]) | @csv' mcafee_audit.log > audit.csv

若日志为每行一个独立JSON对象(非数组结构),则用:

jq -r '["timestamp","user","query","client_ip"], [.timestamp, .user, .query, .client_ip] | @csv' mcafee_audit.log | awk 'NR==1 || NR%2==0' > audit.csv

可根据实际日志的字段名调整命令中的字段列表。

2. Python脚本自定义转换

适合需要过滤特定事件、字段映射的场景,用Python标准库即可实现:

import json
import csv

# 定义需提取的日志字段
target_fields = ["timestamp", "user", "query", "client_ip"]

with open("mcafee_audit.log", "r") as log_f, open("audit.csv", "w", newline="") as csv_f:
    writer = csv.DictWriter(csv_f, fieldnames=target_fields)
    writer.writeheader()
    for line in log_f:
        try:
            entry = json.loads(line.strip())
            # 提取目标字段,缺失字段填充空值
            writer.writerow({f: entry.get(f, "") for f in target_fields})
        except json.JSONDecodeError:
            continue  # 跳过无效JSON行

3. Excel可视化转换

针对少量日志,可先将JSON日志按行拆分(每行一个JSON对象),再通过Excel的「数据>来自文件>来自JSON」功能导入数据,最后导出为CSV格式。

内容的提问来源于stack exchange,提问作者Irfi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 14:40:23