Microsoft SQL Server 集成
编辑Microsoft SQL Server 集成
编辑Microsoft SQL Server 集成包允许您通过 Elasticsearch 搜索、观察和可视化 SQL Server 审计日志,以及性能和事务日志指标。
数据流
编辑Microsoft SQL Server 集成收集两种类型的数据流:日志和指标。
日志数据流提供 Microsoft SQL Server 中发生的事件记录
-
audit
:来自配置的 Windows 事件日志通道的事件,提供详细的审计信息。请参阅SQL Server 审计。 -
logs
:Microsoft SQL Server 创建的错误日志,用于故障排除和系统事件。
不支持其他日志源,例如文件。
在日志中查找更多详细信息。
指标数据流提供对 SQL Server 性能和运行状况的深入了解
-
performance
:服务器上提供的综合性能计数器和对象。 -
transaction_log
:事务日志的使用统计信息和空间利用率指标。
在指标中查找更多详细信息。
要求
编辑您需要 Elasticsearch 来存储和搜索您的数据,并需要 Kibana 来可视化和管理数据。您可以使用我们托管在 Elastic Cloud 上的 Elasticsearch 服务(推荐),也可以在您的硬件上自行管理 Elastic Stack。
Microsoft SQL Server 权限
编辑在开始向 Elastic 发送数据之前,请确保您拥有必要的 Microsoft SQL Server 权限。
如果您在 Microsoft Developer Network (MSDN) 中浏览以下表,您会找到一个“权限”部分,其中定义了每个表所需的权限(例如,sys.dm_db_log_space_usage
页面上的“权限”部分)。
-
transaction_log
:- sys.databases
- sys.dm_db_log_space_usage
- sys.dm_db_log_stats (DB_ID)(在 SQL Server (MSSQL) 2016 (13.x) SP 2 及更高版本上可用)
-
performance
:
请确保用户具有对系统和用户定义数据库的权限。对于集成中使用的特定用户,满足以下要求
用户设置选项
- 授予 MSDN 页面中提到的特定权限。
- 或者,使用
sysadmin
角色(包括所有必需的权限):可以通过 SQL Server Management Studio (SSMS) 在服务器角色
中配置。阅读SQL Server 文档中关于加入角色的更多信息。
用户映射(使用 SQL Server Management Studio (SSMS))
- 打开 SSMS 并连接到您的服务器。
- 导航到“对象资源管理器”>“安全性”>“登录名”。
- 右键单击用户并选择“属性”。
- 在“用户映射”选项卡中,选择相应的数据库并授予所需的权限。
设置
编辑有关如何设置任何集成的逐步说明,请参阅入门指南。
您将在下面找到有关设置 Microsoft SQL Server 集成的更多具体详细信息。
命名实例
编辑Microsoft SQL Server 具有一项功能,允许在同一主机(或集群主机)上使用单独的设置运行多个数据库。通过使用实例名称和主机名(例如 host/instance_name
或 host:named_instance_port
)来建立命名实例连接,以收集指标。主机配置的详细信息如下所示。
在 Kibana 中按实例名称或服务器名称查询
编辑可以通过基于实例名称和服务器名称进行筛选,在 Kibana 中可视化数据。实例名称可以通过 mssql.metrics.instance_name
进行筛选,服务器名称可以通过 mssql.metrics.server_name
字段进行筛选。
主机配置
编辑作为输入配置的一部分,您需要提供用户名、密码和主机详细信息。主机配置支持使用以下语法的命名实例或默认(无名称)实例。
此集成支持从单个主机收集指标。对于多主机指标,每个主机都可以作为新的集成运行。
连接到默认实例(主机):
-
host
(例如,localhost
(连接到默认实例时不需要实例名称)) -
host:port
(例如,localhost:1433
)
连接到命名实例(主机):
-
host/instance_name
(例如,localhost/namedinstance_01
) -
host:named_instance_port
(例如,localhost:60873
)
配置
编辑审计
编辑SQL Server 的审计级别有多个,具体取决于您的安装的政府或标准要求。SQL Server 审计功能使您可以审核服务器级别和数据库级别的事件组以及单个事件。
有关不同审计级别的更多信息,请参阅SQL Server 审计操作组和操作。然后,要启用 SQL Server 的审计,请参阅这些说明。
为了使集成包能够读取和发送审计事件,必须将事件目标配置为 Windows 事件日志。
审计事件
编辑从指定的 Windows 事件日志通道收集 SQL Server 审计事件。
日志
编辑SQL Server log
包含用户定义的事件和一些可以用于故障排除的系统事件。
在SQL Server Management Studio 中查看 SQL Server 错误日志中了解更多信息。
性能指标
编辑收集 performance
计数器指标。动态计数器功能通过提供计数器作为输入来提供收集指标的灵活性。此输入可以是正则表达式,它将基于模式筛选结果。例如,如果将 %grant% 作为输入,它将启用对所有名称类似挂起的内存授予、活动内存授予计数等计数器的指标收集。MSSQL 支持有限的正则表达式集。有关更多详细信息,请参阅搜索条件中的模式匹配。
动态计数器将经历一些基本的摄取管道后处理,以使计数器名称小写并删除特殊字符,这些字段将没有任何静态字段映射。
在 8.4 beats 中引入了功能 merge_results
,它通过将指标合并到单个事件中来创建一个事件。有关更多详细信息,请参阅SQL 模块。
在有关每个性能计数器指标的说明中了解更多信息。
事务日志指标
编辑默认情况下,收集 SQL Server 实例的系统级数据库 transaction_log
指标。可以通过指定用户数据库列表或启用 从所有数据库提取
切换来收集用户级数据库的指标,以收集服务器上所有数据库的指标。
在说明以及事务日志支持的操作中了解更多信息。
从所有数据库提取
编辑为了简化从服务器上的所有数据库提取指标的过程,您可以在配置集成时启用 从所有数据库提取
切换。此字段会覆盖 数据库
输入中手动输入的数据库名称,而是从所有数据库(包括系统和用户定义的数据库)中提取所需的 transaction_log
指标。
请记住,此功能默认禁用,需要手动启用才能激活。
密码 URL 编码
编辑当密码包含特殊字符时,请使用 URL 编码传递这些特殊字符。
日志
编辑审计
编辑SQL Server 审计数据集提供来自配置的 Windows 事件日志通道的事件。所有特定于 SQL Server 审计的字段都可以在 sqlserver.audit
字段组中找到。
ECS 字段参考
请参阅以下文档,以获取有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
date |
cloud.image.id |
云实例的映像 ID。 |
keyword |
data_stream.dataset |
数据流数据集。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
host.containerized |
主机是否为容器。 |
boolean |
host.os.build |
操作系统构建信息。 |
keyword |
host.os.codename |
操作系统的代号(如果有)。 |
keyword |
sqlserver.audit.action_id |
操作的 ID |
keyword |
sqlserver.audit.additional_information |
有关该事件的任何其他信息,以 XML 格式存储。 |
text |
sqlserver.audit.affected_rows |
操作影响的行数。 |
long |
sqlserver.audit.application_name |
导致审计事件的应用程序的名称。 |
keyword |
sqlserver.audit.audit_schema_version |
审计事件架构版本。 |
keyword |
sqlserver.audit.class_type |
发生审计的可审计实体的类型。 |
keyword |
sqlserver.audit.client_ip |
“运行导致审计事件的应用程序的计算机的名称或 IP 地址。” |
keyword |
sqlserver.audit.connection_id |
连接 ID(连接的唯一 UUID) |
keyword |
sqlserver.audit.data_sensitivity_information |
有关操作的敏感信息。 |
keyword |
sqlserver.audit.database_name |
发生操作的数据库上下文。 |
keyword |
sqlserver.audit.database_principal_id |
执行操作的数据库用户上下文的 ID。 |
keyword |
sqlserver.audit.database_principal_name |
当前用户。 |
keyword |
sqlserver.audit.duration_milliseconds |
操作的持续时间(以毫秒为单位)。 |
long |
sqlserver.audit.event_time |
触发可审计操作的日期/时间。 |
date |
sqlserver.audit.host_name |
SQL Server 主机名。 |
keyword |
sqlserver.audit.is_column_permission |
表示列级别权限的标志 |
boolean |
sqlserver.audit.object_id |
“发生审核的实体的主要 ID。此 ID 可以是服务器对象、数据库、数据库对象或架构对象之一。” |
keyword |
sqlserver.audit.object_name |
“发生审核的实体的名称。这可以是服务器对象、数据库、数据库对象、架构对象或 TSQL 语句(如果有)。” |
keyword |
sqlserver.audit.permission_bitmask |
在适用情况下,显示已授予、拒绝或撤销的权限。 |
keyword |
sqlserver.audit.response_rows |
返回的行数。 |
long |
sqlserver.audit.schema_name |
发生操作的架构上下文。 |
keyword |
sqlserver.audit.sequence_group_id |
序列组 ID(唯一 UUID)。 |
keyword |
sqlserver.audit.sequence_number |
跟踪单个审核记录中记录的顺序,该记录太大而无法放入审核的写入缓冲区中。 |
integer |
sqlserver.audit.server_instance_name |
“发生审核的服务器实例的名称。使用标准的 machine\instance 格式。” |
keyword |
sqlserver.audit.server_principal_id |
执行操作所使用的登录上下文的 ID。 |
keyword |
sqlserver.audit.server_principal_name |
当前登录名。 |
keyword |
sqlserver.audit.server_principal_sid |
当前登录 SID。 |
keyword |
sqlserver.audit.session_id |
发生事件的会话的 ID。 |
integer |
sqlserver.audit.session_server_principal_name |
会话的服务器主体。 |
keyword |
sqlserver.audit.statement |
TSQL 语句(如果有) |
text |
sqlserver.audit.succeeded |
指示触发审核事件的操作的权限检查是否成功。 |
boolean |
sqlserver.audit.target_database_principal_id |
可审核操作应用到的数据库主体。 |
keyword |
sqlserver.audit.target_database_principal_name |
操作的目标用户。 |
keyword |
sqlserver.audit.target_server_principal_id |
可审核操作应用到的服务器主体。 |
keyword |
sqlserver.audit.target_server_principal_name |
操作的目标登录名。 |
keyword |
sqlserver.audit.target_server_principal_sid |
目标登录名的 SID。 |
keyword |
sqlserver.audit.transaction_id |
事务 ID |
keyword |
sqlserver.audit.user_defined_event_id |
用户定义的事件 ID。 |
integer |
sqlserver.audit.user_defined_information |
用户定义的信息 |
text |
winlog.activity_id |
用于标识当前活动的全局唯一标识符。使用此标识符发布的事件属于同一活动。 |
keyword |
winlog.api |
用于读取记录的事件日志 API 类型。可能的值为用于 Windows 事件日志 API 的“wineventlog”或用于事件日志记录 API 的“eventlogging”。事件日志记录 API 专为 Windows Server 2003 或 Windows 2000 操作系统而设计。在 Windows Vista 中,事件日志记录基础结构已重新设计。在 Windows Vista 或更高版本的操作系统上,使用 Windows 事件日志 API。Winlogbeat 会自动检测使用哪个 API 读取事件日志。 |
keyword |
winlog.channel |
从中读取此记录的通道的名称。此值是配置中 |
keyword |
winlog.computer_name |
生成记录的计算机的名称。使用 Windows 事件转发时,此名称可能与 |
keyword |
winlog.event_data |
特定于事件的数据。此字段与 |
object |
winlog.event_data.param1 |
keyword |
|
winlog.event_data.param2 |
keyword |
|
winlog.event_data.param3 |
keyword |
|
winlog.event_data.param4 |
keyword |
|
winlog.event_data.param5 |
keyword |
|
winlog.event_data.param6 |
keyword |
|
winlog.event_data.param7 |
keyword |
|
winlog.event_data.param8 |
keyword |
|
winlog.event_id |
事件标识符。该值特定于事件的来源。 |
keyword |
winlog.keywords |
关键字用于对事件进行分类。 |
keyword |
winlog.opcode |
事件中定义的操作码。任务和操作码通常用于标识应用程序中记录事件的位置。 |
keyword |
winlog.process.pid |
客户端服务器运行时进程的 process_id。 |
long |
winlog.process.thread.id |
long |
|
winlog.provider_guid |
用于标识记录事件的提供程序的全局唯一标识符。 |
keyword |
winlog.provider_name |
事件日志记录的来源(记录记录的应用程序或服务)。 |
keyword |
winlog.record_id |
事件日志记录的记录 ID。写入事件日志的第一个记录是记录号 1,其他记录按顺序编号。如果记录号达到最大值(事件日志记录 API 为 232,Windows 事件日志 API 为 264),则下一个记录号将为 0。 |
keyword |
winlog.related_activity_id |
用于标识控制权已转移到的活动的全局唯一标识符。相关的事件会将此标识符作为其 |
keyword |
winlog.task |
事件中定义的任务。任务和操作码通常用于标识应用程序中记录事件的位置。事件日志记录 API(在 Windows Vista 之前的操作系统上)使用的类别将写入此字段。 |
keyword |
winlog.user.domain |
与此事件关联的帐户所属的域。 |
keyword |
winlog.user.identifier |
与此事件关联的帐户的 Windows 安全标识符 (SID)。如果 Winlogbeat 无法将 SID 解析为名称,则将从事件中省略 |
keyword |
winlog.user.name |
与此事件关联的用户的名称。 |
keyword |
winlog.user.type |
与此事件关联的帐户类型。 |
keyword |
winlog.user_data |
特定于事件的数据。此字段与 |
object |
winlog.version |
事件定义的版本号。 |
long |
log
编辑Microsoft SQL Server log
数据集解析 Microsoft SQL Server 创建的错误日志。
示例
log
的示例事件如下所示
{ "@timestamp": "2022-07-14T07:12:49.210Z", "agent": { "ephemeral_id": "688f9c4d-2ac0-43b6-9421-bf465d5c92f0", "id": "42a4484f-4eb2-4802-bd76-1f1118713d64", "name": "docker-fleet-agent", "type": "filebeat", "version": "8.3.0" }, "cloud": { "account": {}, "instance": { "id": "b30e45e6-7900-4900-8d67-e37cb13374bc", "name": "obs-int-windows-dev" }, "machine": { "type": "Standard_D16ds_v5" }, "provider": "azure", "region": "CentralIndia", "service": { "name": "Virtual Machines" } }, "data_stream": { "dataset": "microsoft_sqlserver.log", "namespace": "ep", "type": "logs" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "42a4484f-4eb2-4802-bd76-1f1118713d64", "snapshot": false, "version": "8.3.0" }, "event": { "agent_id_status": "verified", "category": [ "database" ], "dataset": "microsoft_sqlserver.log", "ingested": "2022-07-14T07:13:12Z", "kind": "event", "original": "2022-07-14 07:12:49.21 Server Microsoft SQL Server 2019 (RTM-CU16-GDR) (KB5014353) - 15.0.4236.7 (X64) \n\tMay 29 2022 15:55:47 \n\tCopyright (C) 2019 Microsoft Corporation\n\tDeveloper Edition (64-bit) on Linux (Ubuntu 20.04.4 LTS) <X64>", "type": [ "info" ] }, "input": { "type": "log" }, "log": { "file": { "path": "/tmp/service_logs/errorlog" }, "flags": [ "multiline" ], "offset": 0 }, "message": "Microsoft SQL Server 2019 (RTM-CU16-GDR) (KB5014353) - 15.0.4236.7 (X64) \n\tMay 29 2022 15:55:47 \n\tCopyright (C) 2019 Microsoft Corporation\n\tDeveloper Edition (64-bit) on Linux (Ubuntu 20.04.4 LTS) <X64>", "microsoft_sqlserver": { "log": { "origin": "Server" } }, "tags": [ "mssql-logs" ] }
ECS 字段参考
请参阅以下文档,以获取有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
date |
cloud.image.id |
云实例的映像 ID。 |
keyword |
data_stream.dataset |
数据流数据集。 |
constant_keyword |
data_stream.namespace |
数据流命名空间。 |
constant_keyword |
data_stream.type |
数据流类型。 |
constant_keyword |
event.dataset |
事件数据集 |
constant_keyword |
event.module |
事件模块 |
constant_keyword |
host.containerized |
主机是否为容器。 |
boolean |
host.os.build |
操作系统构建信息。 |
keyword |
host.os.codename |
操作系统的代号(如果有)。 |
keyword |
input.type |
Filebeat 输入的类型。 |
keyword |
log.flags |
此字段包含事件的标志。 |
keyword |
log.offset |
日志文件中条目的偏移量。 |
long |
microsoft_sqlserver.log.origin |
消息的来源,通常是服务器,但也可能是恢复进程 |
keyword |
指标
编辑性能
编辑Microsoft SQL Server performance
数据集提供来自性能计数器表的指标。所有 performance
指标都将在 sqlserver.metrics
字段组中提供。
示例
performance
的示例事件如下所示
{ "@timestamp": "2022-11-23T05:03:28.987Z", "agent": { "ephemeral_id": "70f5c0c1-37b1-486b-9806-8105b2cdcd20", "id": "6d444a4a-2158-445e-8953-dc6eef720a34", "name": "docker-fleet-agent", "type": "metricbeat", "version": "8.5.0" }, "cloud": { "account": {}, "instance": { "id": "b30e45e6-7900-4900-8d67-e37cb13374bc", "name": "obs-int-windows-dev" }, "machine": { "type": "Standard_D16ds_v5" }, "provider": "azure", "region": "CentralIndia", "service": { "name": "Virtual Machines" } }, "data_stream": { "dataset": "microsoft_sqlserver.performance", "namespace": "ep", "type": "metrics" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "6d444a4a-2158-445e-8953-dc6eef720a34", "snapshot": false, "version": "8.5.0" }, "event": { "agent_id_status": "verified", "dataset": "microsoft_sqlserver.performance", "duration": 41134100, "ingested": "2022-11-23T05:03:30Z", "module": "sql" }, "host": { "architecture": "x86_64", "containerized": false, "hostname": "docker-fleet-agent", "id": "66392b0697b84641af8006d87aeb89f1", "ip": [ "172.18.0.5" ], "mac": [ "02-42-AC-12-00-05" ], "name": "docker-fleet-agent", "os": { "codename": "focal", "family": "debian", "kernel": "5.10.104-linuxkit", "name": "Ubuntu", "platform": "ubuntu", "type": "linux", "version": "20.04.5 LTS (Focal Fossa)" } }, "metricset": { "name": "query", "period": 60000 }, "mssql": { "metrics": { "active_temp_tables": 0, "batch_requests_per_sec": 54, "buffer_cache_hit_ratio": 24, "buffer_checkpoint_pages_per_sec": 105, "buffer_database_pages": 2215, "buffer_page_life_expectancy": 16, "buffer_target_pages": 2408448, "compilations_per_sec": 80, "connection_reset_per_sec": 13, "instance_name": "MSSQLSERVER", "lock_waits_per_sec": 4, "logins_per_sec": 16, "logouts_per_sec": 15, "memory_grants_pending": 0, "page_splits_per_sec": 9, "re_compilations_per_sec": 0, "server_name": "d10aad520431", "transactions": 0, "user_connections": 1 } }, "service": { "address": "elastic-package-service_microsoft_sqlserver_1", "type": "sql" } }
ECS 字段参考
请参阅以下文档,以获取有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 | 指标类型 |
---|---|---|---|
@timestamp |
事件发生的日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收到事件的时间填充。所有事件的必填字段。 |
date |
|
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
|
cloud.account.id |
用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
|
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
|
cloud.image.id |
云实例的映像 ID。 |
keyword |
|
cloud.instance.id |
主机实例 ID。 |
keyword |
|
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
|
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
|
container.id |
唯一容器 ID。 |
keyword |
|
data_stream.dataset |
该字段可以包含任何对表示数据来源有意义的内容。示例包括 |
constant_keyword |
|
data_stream.namespace |
用户定义的命名空间。命名空间对于允许数据分组很有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供这种最佳实践作为默认值。许多用户将使用 |
constant_keyword |
|
data_stream.type |
数据流的总体类型。目前允许的值是“logs”和“metrics”。我们希望在不久的将来还添加“traces”和“synthetics”。 |
constant_keyword |
|
host.containerized |
主机是否为容器。 |
boolean |
|
host.name |
主机的名称。它可以包含 Unix 系统上 hostname 返回的值、完全限定域名 (FQDN) 或用户指定的名称。建议的值是主机的小写 FQDN。 |
keyword |
|
host.os.build |
操作系统构建信息。 |
keyword |
|
host.os.codename |
操作系统的代号(如果有)。 |
keyword |
|
mssql.metrics.active_temp_tables |
正在使用的临时表/表变量的数量。 |
long |
gauge |
mssql.metrics.batch_requests_per_sec |
每秒接收的 Transact-SQL 命令批处理的数量。此统计数据受所有约束(例如 I/O、用户数量、缓存大小、请求的复杂性等)的影响。高批处理请求意味着良好的吞吐量。 |
float |
gauge |
mssql.metrics.buffer_cache_hit_ratio |
该比率是过去几千次页面访问中缓存命中总数除以缓存查找总数。经过很长一段时间后,该比率变化很小。由于从缓存读取比从磁盘读取便宜得多,因此您希望此比率较高。 |
double |
gauge |
mssql.metrics.buffer_checkpoint_pages_per_sec |
指示检查点或需要刷新所有脏页的其他操作每秒刷新到磁盘的页数。 |
float |
gauge |
mssql.metrics.buffer_database_pages |
指示缓冲区池中具有数据库内容的页数。 |
long |
gauge |
mssql.metrics.buffer_page_life_expectancy |
指示页面在没有引用的情况下在缓冲区池中保留的秒数(以秒为单位)。 |
long |
gauge |
mssql.metrics.buffer_target_pages |
缓冲区池中理想的页数。 |
long |
gauge |
mssql.metrics.compilations_per_sec |
每秒 SQL 编译的数量。指示进入编译代码路径的次数。包括由 SQL Server 中语句级别的重新编译引起的编译。在 SQL Server 用户活动稳定后,此值将达到稳定状态。 |
float |
gauge |
mssql.metrics.connection_reset_per_sec |
从连接池每秒启动的登录总数。 |
float |
gauge |
mssql.metrics.instance_name |
mssql 连接实例的名称。 |
keyword |
|
mssql.metrics.lock_waits_per_sec |
每秒需要调用方等待的锁请求数。 |
float |
gauge |
mssql.metrics.logins_per_sec |
每秒启动的总登录数。这不包括池连接。 |
float |
gauge |
mssql.metrics.logouts_per_sec |
每秒启动的总注销操作数。 |
float |
gauge |
mssql.metrics.memory_grants_pending |
这是从动态计数器名称变量的默认模式生成的。此计数器告诉我们有多少进程正在等待分配给它们的内存,以便它们可以启动。 |
long |
|
mssql.metrics.page_splits_per_sec |
由于索引页溢出而每秒发生的页面拆分数。 |
float |
gauge |
mssql.metrics.re_compilations_per_sec |
每秒语句重新编译的次数。计算触发语句重新编译的次数。通常,您希望重新编译次数较低。 |
float |
gauge |
mssql.metrics.server_name |
mssql 服务器的名称。 |
keyword |
|
mssql.metrics.transactions |
事务总数 |
long |
gauge |
mssql.metrics.user_connections |
用户连接总数。 |
long |
gauge |
service.address |
从中收集有关此服务的数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(sockets)。 |
keyword |
transaction_log
编辑Microsoft SQL Server transaction_log
数据集提供来自日志空间使用情况和日志统计表的指标。 所有 transaction_log
指标都将在 sqlserver.metrics
字段组中可用。
示例
transaction_log
的示例事件如下所示
{ "@timestamp": "2022-12-20T07:34:29.687Z", "agent": { "ephemeral_id": "8d528ff8-5e90-4572-89f6-61fb3a6c96f1", "id": "d44a1c4a-95bf-47e9-afb0-453a2ef43c00", "name": "192.168.1.2", "type": "metricbeat", "version": "8.5.3" }, "data_stream": { "dataset": "microsoft_sqlserver.transaction_log", "namespace": "default", "type": "metrics" }, "ecs": { "version": "8.11.0" }, "elastic_agent": { "id": "d44a1c4a-95bf-47e9-afb0-453a2ef43c00", "snapshot": false, "version": "8.5.3" }, "event": { "agent_id_status": "verified", "dataset": "microsoft_sqlserver.transaction_log", "duration": 2147044750, "ingested": "2022-12-20T07:34:32Z", "module": "sql" }, "host": { "architecture": "x86_64", "containerized": false, "hostname": "192.168.1.2", "id": "627E8AE5-E918-5073-A58E-8A2D9ED96875", "ip": [ "192.168.1.2" ], "mac": [ "36-F7-DC-28-23-80" ], "name": "192.168.1.2", "os": { "build": "21D62", "family": "darwin", "kernel": "21.3.0", "name": "macOS", "platform": "darwin", "type": "macos", "version": "12.2.1" } }, "metricset": { "name": "query", "period": 60000 }, "mssql": { "metrics": { "database_id": 1, "database_name": "master", "instance_name": "MSSQLSERVER", "log_space_in_bytes_since_last_backup": 602112, "server_name": "obs-int-mssql20", "total_log_size_bytes": 2088960, "used_log_space_bytes": 1024000, "used_log_space_pct": 49.01960754394531 } }, "service": { "address": "20.228.135.242", "type": "sql" } }
ECS 字段参考
请参阅以下文档,以获取有关 ECS 字段的详细信息。
导出的字段
字段 | 描述 | 类型 | 单位 | 指标类型 |
---|---|---|---|---|
@timestamp |
事件发生的日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收到事件的时间填充。所有事件的必填字段。 |
date |
||
agent.id |
此代理的唯一标识符(如果存在)。示例:对于 Beats,这将是 beat.id。 |
keyword |
||
cloud.account.id |
用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
keyword |
||
cloud.availability_zone |
此主机、资源或服务所在的可用区。 |
keyword |
||
cloud.image.id |
云实例的映像 ID。 |
keyword |
||
cloud.instance.id |
主机实例 ID。 |
keyword |
||
cloud.provider |
云提供商的名称。示例值为 aws、azure、gcp 或 digitalocean。 |
keyword |
||
cloud.region |
此主机、资源或服务所在的区域。 |
keyword |
||
container.id |
唯一容器 ID。 |
keyword |
||
data_stream.dataset |
该字段可以包含任何对表示数据来源有意义的内容。示例包括 |
constant_keyword |
||
data_stream.namespace |
用户定义的命名空间。命名空间对于允许数据分组很有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供这种最佳实践作为默认值。许多用户将使用 |
constant_keyword |
||
data_stream.type |
数据流的总体类型。目前允许的值是“logs”和“metrics”。我们希望在不久的将来还添加“traces”和“synthetics”。 |
constant_keyword |
||
host.containerized |
主机是否为容器。 |
boolean |
||
host.name |
主机的名称。它可以包含 Unix 系统上 hostname 返回的值、完全限定域名 (FQDN) 或用户指定的名称。建议的值是主机的小写 FQDN。 |
keyword |
||
host.os.build |
操作系统构建信息。 |
keyword |
||
host.os.codename |
操作系统的代号(如果有)。 |
keyword |
||
mssql.metrics.active_log_size |
以字节为单位的总活动事务日志大小。 |
long |
字节 |
计数器 |
mssql.metrics.database_id |
MSSQL 内部的数据库的唯一 ID。 |
long |
||
mssql.metrics.database_name |
数据库的名称。 |
keyword |
||
mssql.metrics.instance_name |
mssql 连接实例的名称。 |
keyword |
||
mssql.metrics.log_backup_time |
上次事务日志备份时间。 |
date |
||
mssql.metrics.log_recovery_size |
自日志恢复日志序列号 (LSN) 以来的日志大小(以字节为单位)。 |
long |
字节 |
gauge |
mssql.metrics.log_since_last_checkpoint |
自上次检查点日志序列号 (LSN) 以来的日志大小(以字节为单位)。 |
long |
字节 |
gauge |
mssql.metrics.log_since_last_log_backup |
自上次备份以来的日志文件大小(以字节为单位)。 |
long |
字节 |
gauge |
mssql.metrics.log_space_in_bytes_since_last_backup |
自上次日志备份以来使用的空间量(以字节为单位)。 |
long |
字节 |
gauge |
mssql.metrics.query_id |
表示为获取结果而执行的 mssql 查询的自动生成的 ID。 |
keyword |
||
mssql.metrics.server_name |
mssql 服务器的名称。 |
keyword |
||
mssql.metrics.total_log_size |
总日志大小。 |
long |
字节 |
计数器 |
mssql.metrics.total_log_size_bytes |
以字节为单位的总事务日志大小。 |
long |
字节 |
计数器 |
mssql.metrics.used_log_space_bytes |
日志的已占用大小(以字节为单位)。 |
long |
字节 |
gauge |
mssql.metrics.used_log_space_pct |
日志的已占用大小占总日志大小的百分比。 |
float |
百分比 |
gauge |
service.address |
从中收集有关此服务的数据的地址。这应该是 URI、网络地址(ipv4:port 或 [ipv6]:port)或资源路径(sockets)。 |
keyword |
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
2.9.4 |
Bug 修复 (查看拉取请求) |
8.13.0 或更高版本 |
2.9.3 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
2.9.2 |
Bug 修复 (查看拉取请求) |
8.13.0 或更高版本 |
2.9.1 |
Bug 修复 (查看拉取请求) |
8.13.0 或更高版本 |
2.9.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
2.8.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
2.7.0 |
增强 (查看拉取请求) |
8.13.0 或更高版本 |
2.6.0 |
增强 (查看拉取请求) |
8.12.0 或更高版本 |
2.5.1 |
增强 (查看拉取请求) |
8.12.0 或更高版本 |
2.5.0 |
增强 (查看拉取请求) |
8.12.0 或更高版本 |
2.4.1 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
2.4.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
2.3.2 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
2.3.1 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
2.3.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
2.2.2 |
Bug 修复 (查看拉取请求) |
8.10.2 或更高版本 |
2.2.1 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
2.2.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.1.1 |
Bug 修复 (查看拉取请求) |
8.8.0 或更高版本 |
2.1.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
2.0.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.23.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.22.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.21.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.20.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.19.1 |
Bug 修复 (查看拉取请求) |
8.4.0 或更高版本 |
1.19.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.18.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.17.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.16.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.15.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.14.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.13.1 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.13.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.12.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.11.1 |
Bug 修复 (查看拉取请求) |
8.3.0 或更高版本 |
1.11.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.10.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.9.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.8.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.7.0 |
增强 (查看拉取请求) 增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.6.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.5.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.4.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.3.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.2.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.1.1 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.1.0 |
增强 (查看拉取请求) |
— |
1.0.0 |
增强 (查看拉取请求) |
7.16.0 或更高版本 |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.5 |
增强 (查看拉取请求) |
— |
0.4.4 |
增强 (查看拉取请求) |
— |
0.4.3 |
错误修复 (查看拉取请求) |
— |
0.4.2 |
错误修复 (查看拉取请求) |
— |
0.4.1 |
错误修复 (查看拉取请求) |
— |
0.4.0 |
增强 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) 错误修复 (查看拉取请求) 增强 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |