> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 数据库审计日志

> 本页介绍如何查看数据库审计日志

ClickHouse 默认提供数据库审计日志。本页重点介绍安全相关日志。有关系统记录数据的更多信息，请参阅[系统表](/zh/reference/system-tables/overview)文档。

<Tip>
  **日志保留**

  这些信息会直接记录到系统表中，默认最多保留 30 天。该时长可能更长或更短，并会受到系统中合并操作频率的影响。客户还可以采取额外措施来延长日志存储时间，或将日志导出到安全信息和事件管理 (SIEM) 系统中进行长期存储。详见下文。
</Tip>

<div id="security-relevant-logs">
  ## 安全相关日志
</div>

ClickHouse 主要将与安全相关的数据库事件记录到会话日志和查询日志中。

[system.session\_log](/zh/reference/system-tables/session_log) 会记录成功和失败的登录尝试，以及发起身份验证尝试的位置。此信息可用于识别针对 ClickHouse 实例的凭据填充攻击或暴力破解攻击。

显示登录失败的示例查询

```sql theme={null}
select event_time
    ,type
    ,user
    ,auth_type
    ,client_address 
FROM clusterAllReplicas('default',system.session_log) 
WHERE type='LoginFailure' 
LIMIT 100
```

[system.query\_log](/zh/reference/system-tables/query_log) 会捕获在 ClickHouse 实例中执行的查询活动。这些信息可用于确定威胁行为者执行了哪些查询。

用于搜索 "compromised\_account" 用户活动的示例查询

```sql theme={null}
SELECT event_time
    ,address
    ,initial_user
    ,initial_address
    ,forwarded_for
    ,query 
FROM clusterAllReplicas('default', system.query_log) 
WHERE user=’compromised_account’
```

<div id="reatining-log-data-within-services">
  ## 在服务中保留日志数据
</div>

如需更长的保留期或更高的日志持久性，可以使用 materialized views 来实现这些目标。有关 materialized views 的更多信息，包括其概念、优势和实现方法，请参阅我们的 [materialized views](/zh/concepts/features/materialized-views/index) 视频和文档。

<div id="exporting-logs">
  ## 导出日志
</div>

系统日志可使用与 SIEM 系统兼容的多种格式写入或导出到存储位置。更多信息，请参阅我们的[表函数](/zh/reference/functions/table-functions/index)文档。最常用的方法有：

* [写入 S3](/zh/reference/functions/table-functions/s3)
* [写入 GCS](/zh/reference/functions/table-functions/gcs)
* [写入 Azure Blob 存储](/zh/reference/functions/table-functions/azureBlobStorage)
