MySQL 企业集成

编辑

MySQL 企业集成

编辑

版本

1.14.3 (查看全部)

兼容的 Kibana 版本

7.17.0 或更高版本
8.0.0 或更高版本

支持的 Serverless 项目类型
这是什么?

安全性
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

此集成适用于不同类型的 MySQL 日志。目前专注于来自 JSON 格式的 MySQL 企业审计插件的数据。

要配置企业审计插件以 JSON 格式输出,请按照 MySQL 文档 中的说明进行操作。

兼容性

编辑

此集成已针对 MySQL 企业版 5.7.x 和 8.0.x 进行了测试

审计日志
编辑

audit 数据集收集 MySQL 企业审计日志。

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

client.domain

客户端系统的域名。此值可以是主机名、完全限定域名或其他主机命名格式。该值可能来自原始事件或通过富化添加。

关键词

client.ip

客户端的 IP 地址(IPv4 或 IPv6)。

ip

client.user.name

用户的简称或登录名。

关键词

client.user.name.text

client.user.name 的多字段。

match_only_text

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

关键词

cloud.availability_zone

此主机运行所在的可用区。

关键词

cloud.image.id

云实例的映像 ID。

关键词

cloud.instance.id

主机的主机实例 ID。

关键词

cloud.instance.name

主机的主机实例名称。

关键词

cloud.machine.type

主机的主机机器类型。

关键词

cloud.project.id

Google Cloud 中项目的名称。

关键词

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

关键词

cloud.region

此主机运行所在的区域。

关键词

container.id

唯一的容器 ID。

关键词

container.image.name

容器构建所基于的映像名称。

关键词

container.labels

映像标签。

对象

container.name

容器名称。

关键词

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

ecs.version

此事件符合的 ECS 版本。ecs.version 是必填字段,必须存在于所有事件中。当跨多个索引(可能符合略有不同的 ECS 版本)进行查询时,此字段使集成能够适应事件的架构版本。

关键词

error.message

错误消息。

match_only_text

event.action

事件捕获的操作。这描述了事件中的信息。它比 event.category 更具体。示例包括 group-addprocess-startedfile-created。该值通常由实现者定义。

关键词

event.category

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的第二级。event.category 表示 ECS 类别的“大桶”。例如,筛选 event.category:process 将生成所有与进程活动相关的事件。此字段与用作子类别的 event.type 密切相关。此字段是一个数组。这将允许对一些属于多个类别的事件进行适当的分类。

关键词

event.dataset

事件数据集

constant_keyword

event.ingested

事件到达中央数据存储时的时间戳。这与 @timestamp 不同,@timestamp 是事件最初发生时的时间戳。它也与 event.created 不同,event.created 旨在捕获代理首次看到事件的时间。在正常情况下,假设没有篡改,时间戳在时间上应该如下所示:@timestamp < event.created < event.ingested

日期

event.kind

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的最高级别。event.kind 提供关于事件包含的信息类型的高级信息,而无需具体说明事件的内容。例如,此字段的值区分警报事件和指标事件。此字段的值可用于告知应如何处理这些类型的事件。它们可能需要不同的保留期、不同的访问控制,它还可以帮助了解数据是否以规则的时间间隔传入。

关键词

event.module

事件模块

constant_keyword

event.original

整个事件的原始文本消息。用于演示日志完整性,或在可能需要完整日志消息(在将其拆分为多个部分之前)的地方,例如,用于重新索引。此字段未编入索引,并且禁用了 doc_values。它无法搜索,但可以从 _source 中检索。如果用户希望覆盖此字段并为其编入索引,请参阅 Elasticsearch 参考中的 字段数据类型

关键词

event.outcome

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的最低级别。event.outcome 只是表示事件从生成事件的实体的角度来看是成功还是失败。请注意,当单个事务在多个事件中描述时,根据它们的角度,每个事件可能会填充不同的 event.outcome 值。另请注意,对于复合事件(包含多个逻辑事件的单个事件),此字段应填充最能从事件生成者的角度捕获整体成功或失败的值。此外,请注意,并非所有事件都会有相关的结果。例如,此字段通常不会为指标事件、event.type:info 的事件或任何结果没有逻辑意义的事件填充。

关键词

event.type

这是四个 ECS 分类字段之一,表示 ECS 类别层次结构中的第三级。event.type 表示一个分类“子桶”,当与 event.category 字段值一起使用时,可以将事件筛选到适合单个可视化的级别。此字段是一个数组。这将允许对一些属于多种事件类型的事件进行适当的分类。

关键词

host.architecture

操作系统架构。

关键词

host.containerized

如果主机是容器。

布尔值

host.domain

主机所属的域名。例如,在 Windows 上,这可能是主机的 Active Directory 域或 NetBIOS 域名。对于 Linux,这可能是主机 LDAP 提供程序的域。

关键词

host.hostname

主机的 hostname。它通常包含主机上的 hostname 命令返回的内容。

关键词

host.id

唯一主机 ID。由于主机名并不总是唯一的,请使用在您的环境中具有意义的值。示例:当前使用的 beat.name

关键词

host.ip

主机 IP 地址。

ip

host.mac

主机 MAC 地址。

关键词

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定域名或用户指定的名称。发送者决定使用哪个值。

关键词

host.os.build

操作系统构建信息。

关键词

host.os.codename

操作系统代号(如果有)。

关键词

host.os.family

操作系统系列(例如 redhat、debian、freebsd、windows)。

关键词

host.os.full

操作系统名称,包括版本或代号。

关键词

host.os.full.text

host.os.full 的多字段。

match_only_text

host.os.kernel

操作系统内核版本,采用原始字符串形式。

关键词

host.os.name

操作系统名称,不带版本。

关键词

host.os.name.text

host.os.name 的多字段。

文本

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

关键词

host.os.version

操作系统版本,采用原始字符串形式。

关键词

host.type

主机类型。对于云提供商,这可以是机器类型,例如 t2.medium。如果是虚拟机,这可以是容器,例如,或您环境中具有意义的其他信息。

关键词

input.type

输入类型

关键词

log.file.device_id

包含文件所在的文件系统的设备的 ID。

关键词

log.file.fingerprint

启用指纹识别时,文件的 sha256 指纹标识。

关键词

log.file.idxhi

与文件关联的唯一标识符的高位部分。(仅限 Windows)

关键词

log.file.idxlo

与文件关联的唯一标识符的低位部分。(仅限 Windows)

关键词

log.file.inode

日志文件的 inode 编号。

关键词

log.file.path

此事件来自的日志文件的完整路径,包括文件名。它应包括驱动器盘符(如果适用)。如果事件不是从日志文件中读取的,请不要填充此字段。

关键词

log.file.vol

包含文件的卷的序列号。(仅限 Windows)

关键词

log.offset

日志偏移

long

message

事件的人类可读摘要

文本

mysqlenterprise.audit.account.host

表示客户端主机名的字符串。

关键词

mysqlenterprise.audit.account.user

表示服务器对其进行客户端身份验证的用户的字符串。这是服务器用于特权检查的用户名。

关键词

mysqlenterprise.audit.class

表示事件类别的字符串。该类别定义了事件的类型,并与指定事件子类的事件项目一起使用。

关键词

mysqlenterprise.audit.connection_data.connection_attributes

可能由不同的 MySQL 客户端传递的连接属性。

扁平化

mysqlenterprise.audit.connection_data.connection_type

与服务器连接的安全性状态。允许的值包括 tcp/ip(建立未加密的 TCP/IP 连接)、ssl(建立加密的 TCP/IP 连接)、socket(Unix 套接字文件连接)、named_pipe(Windows 命名管道连接)和 shared_memory(Windows 共享内存连接)。

关键词

mysqlenterprise.audit.connection_data.db

表示数据库名称的字符串。对于 connection_data,它是默认数据库。对于 table_access_data,它是表数据库。

关键词

mysqlenterprise.audit.connection_data.status

表示命令状态的整数:0 表示成功,如果发生错误则为非零值。

long

mysqlenterprise.audit.connection_id

表示客户端连接标识符的整数。这与会话中 CONNECTION_ID() 函数返回的值相同。

关键词

mysqlenterprise.audit.general_data.command

表示生成审计事件的指令类型的字符串,例如服务器从客户端接收的命令。

关键词

mysqlenterprise.audit.general_data.query

表示 SQL 语句文本的字符串。该值可以为空。长值可能会被截断。像审计日志文件本身一样,该字符串是使用 UTF-8 编写的(每个字符最多 4 个字节),因此该值可能是转换的结果。

关键词

mysqlenterprise.audit.general_data.sql_command

指示 SQL 语句类型的字符串。

关键词

mysqlenterprise.audit.general_data.status

表示命令状态的整数:0 表示成功,如果发生错误则为非零值。这与 mysql_errno() C API 函数的值相同。

long

mysqlenterprise.audit.id

一个表示事件 ID 的无符号整数。

关键词

mysqlenterprise.audit.login.os

一个字符串,表示身份验证过程中使用的外部用户名,由用于验证客户端的插件设置。

关键词

mysqlenterprise.audit.login.proxy

一个字符串,表示代理用户。如果用户代理未生效,则该值为空。

关键词

mysqlenterprise.audit.login.user

一个字符串,表示客户端如何连接到服务器的信息。

关键词

mysqlenterprise.audit.shutdown_data.server_id

一个表示服务器 ID 的整数。这与 server_id 系统变量的值相同。

关键词

mysqlenterprise.audit.startup_data.mysql_version

一个表示服务器 ID 的整数。这与 server_id 系统变量的值相同。

关键词

mysqlenterprise.audit.startup_data.server_id

一个表示服务器 ID 的整数。这与 server_id 系统变量的值相同。

关键词

mysqlenterprise.audit.table_access_data.db

表示数据库名称的字符串。对于 connection_data,它是默认数据库。对于 table_access_data,它是表数据库。

关键词

mysqlenterprise.audit.table_access_data.query

表示 SQL 语句文本的字符串。该值可以为空。长值可能会被截断。像审计日志文件本身一样,该字符串是使用 UTF-8 编写的(每个字符最多 4 个字节),因此该值可能是转换的结果。

关键词

mysqlenterprise.audit.table_access_data.sql_command

指示 SQL 语句类型的字符串。

关键词

mysqlenterprise.audit.table_access_data.table

一个表示表名的字符串。

关键词

process.args

进程参数数组,以可执行文件的绝对路径开头。可能会被过滤以保护敏感信息。

关键词

process.args_count

process.args 数组的长度。此字段可用于查询或对启动进程时提供的参数数量进行存储桶分析。更多参数可能表示可疑活动。

long

process.command_line

启动进程的完整命令行,包括可执行文件的绝对路径和所有参数。某些参数可能会被过滤以保护敏感信息。

wildcard

process.command_line.text

process.command_line 的多字段。

match_only_text

process.executable

进程可执行文件的绝对路径。

关键词

process.executable.text

process.executable 的多字段。

match_only_text

process.name

进程名称。有时称为程序名称或类似名称。

关键词

process.name.text

process.name 的多字段。

match_only_text

process.pid

进程 ID。

long

related.hosts

在您的事件中看到的所有主机名或其他主机标识符。示例标识符包括 FQDN、域名、工作站名称或别名。

关键词

related.ip

在您的事件中看到的所有 IP。

ip

related.user

在事件中看到的所有用户名或其他用户标识符。

关键词

server.user.name

用户的简称或登录名。

关键词

server.user.name.text

server.user.name 的多字段。

match_only_text

service.id

正在运行的服务的唯一标识符。如果服务由多个节点组成,则所有节点的 service.id 应相同。此 ID 应唯一标识服务。这使得可以关联一个特定服务的日志和指标,无论哪个特定节点发出事件。请注意,如果需要查看来自服务的特定主机的事件,则应改为过滤该 host.namehost.id

关键词

service.version

从中收集数据的服务版本。这允许仅查看特定服务版本的数据集。

关键词

tags

用于标记每个事件的关键字列表。

关键词

user.name

用户的简称或登录名。

关键词

user.name.text

user.name 的多字段。

match_only_text

user.target.domain

用户所属目录的名称。例如,LDAP 或 Active Directory 域名。

关键词

user.target.name

用户的简称或登录名。

关键词

user.target.name.text

user.target.name 的多字段。

match_only_text

示例

以下是一个 audit 的示例事件

{
    "@timestamp": "2020-10-19T19:21:33.000Z",
    "agent": {
        "ephemeral_id": "9b24d1b7-d491-4e8f-b484-2f0b07a4344c",
        "id": "2c39d956-ec71-4ff1-ba44-ee2a67272f8f",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.10.2"
    },
    "data_stream": {
        "dataset": "mysql_enterprise.audit",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "2c39d956-ec71-4ff1-ba44-ee2a67272f8f",
        "snapshot": false,
        "version": "8.10.2"
    },
    "event": {
        "action": "mysql-startup",
        "agent_id_status": "verified",
        "category": [
            "database"
        ],
        "dataset": "mysql_enterprise.audit",
        "ingested": "2023-10-03T10:32:19Z",
        "kind": "event",
        "outcome": "unknown",
        "timezone": "+00:00"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "efe661d97f0c4d9883075c393da6b0d8",
        "ip": [
            "192.168.16.7"
        ],
        "mac": [
            "02-42-C0-A8-10-07"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "full": "x86_64-Linux",
            "kernel": "5.15.90.1-microsoft-standard-WSL2",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "input": {
        "type": "filestream"
    },
    "log": {
        "file": {
            "device_id": 2080,
            "inode": 90785,
            "path": "/tmp/service_logs/mysql_audit.log"
        },
        "offset": 0
    },
    "mysqlenterprise": {
        "audit": {
            "account": {},
            "class": "audit",
            "connection_id": "0",
            "id": "0",
            "login": {},
            "startup_data": {}
        }
    },
    "process": {
        "args": [
            "/usr/local/mysql/bin/mysqld",
            "--loose-audit-log-format=JSON",
            "--log-error=log.err",
            "--pid-file=mysqld.pid",
            "--port=3306"
        ],
        "args_count": 5,
        "command_line": "/usr/local/mysql/bin/mysqld --loose-audit-log-format=JSON --log-error=log.err --pid-file=mysqld.pid --port=3306",
        "executable": "/usr/local/mysql/bin/mysqld",
        "name": "mysqld"
    },
    "related": {
        "user": [
            "skip-grants user"
        ]
    },
    "server": {
        "user": {
            "name": "skip-grants user"
        }
    },
    "service": {
        "id": "1",
        "version": "8.0.22-commercial"
    },
    "tags": [
        "mysql_enterprise-audit"
    ]
}

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.14.3

错误修复 (查看拉取请求)
在引用 Ingest 管道中的变量时使用三重大括号 Mustache 模板。

7.17.0 或更高版本
8.0.0 或更高版本

1.14.2

增强功能 (查看拉取请求)
已更改所有者

7.17.0 或更高版本
8.0.0 或更高版本

1.14.1

错误修复 (查看拉取请求)
修复 exclude_files 模式。

7.17.0 或更高版本
8.0.0 或更高版本

1.14.0

增强功能 (查看拉取请求)
ECS 版本更新至 8.11.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.13.0

增强功能 (查看拉取请求)
根据文件系统信息的变化调整字段

7.17.0 或更高版本
8.0.0 或更高版本

1.12.0

增强功能 (查看拉取请求)
ECS 版本更新至 8.10.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.11.0

增强功能 (查看拉取请求)
软件包清单中的 format_version 从 2.11.0 更改为 3.0.0。 从软件包清单中删除了点分隔的 YAML 键。 在软件包清单中添加了owner.type: elastic

7.17.0 或更高版本
8.0.0 或更高版本

1.10.0

增强功能 (查看拉取请求)
添加 tags.yml 文件,以便将集成的仪表板和已保存的搜索标记为“安全解决方案”,并在安全解决方案 UI 中显示。

7.17.0 或更高版本
8.0.0 或更高版本

1.9.0

增强功能 (查看拉取请求)
将 package-spec 更新到 2.9.0,确保正确设置 event.category 和 event.type。

7.17.0 或更高版本
8.0.0 或更高版本

1.8.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.9.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.7.0

增强功能 (查看拉取请求)
确保为管道错误正确设置 event.kind。

7.17.0 或更高版本
8.0.0 或更高版本

1.6.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.8.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.5.1

错误修复 (查看拉取请求)
修复将流数据作为对象发送的处理。

7.17.0 或更高版本
8.0.0 或更高版本

1.5.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.7.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.4.1

增强功能 (查看拉取请求)
添加了类别和/或子类别。

7.17.0 或更高版本
8.0.0 或更高版本

1.4.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.6.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.3.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.5.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.2.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.4.0

7.17.0 或更高版本
8.0.0 或更高版本

1.1.1

增强功能 (查看拉取请求)
更新软件包名称和描述,以与标准措辞保持一致

7.17.0 或更高版本
8.0.0 或更高版本

1.1.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.3.0。

7.17.0 或更高版本
8.0.0 或更高版本

1.0.1

增强功能 (查看拉取请求)
添加多字段的文档

7.17.0 或更高版本
8.0.0 或更高版本

1.0.0

增强功能 (查看拉取请求)
初始版本

7.17.0 或更高版本
8.0.0 或更高版本