

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用查询筛选日志条目
<a name="cw-queries"></a>

您可以使用 CloudWatch 查询来筛选和识别 Transfer Family 的日志条目。本节包含一些示例。

1. 登录 AWS 管理控制台 并打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)。

1. 您可以创建查询或规则。
   + 要创建 **Logs Insight** **s 查询，请从左侧导航面板中选择 Lo** gs Insights，然后输入查询的详细信息。
   + 要创建 “**贡献者见解**” 规则，请从左侧导航面板中选择 “见解” > “贡献者见解”，然后输入规则的详细信息。

1. 运行您创建的查询或规则。

**查看身份验证失败的主要贡献者**

在您的结构化日志中，身份验证失败日志条目类似于以下内容：

```
{
  "method":"password",
  "activity-type":"AUTH_FAILURE",
  "source-ip":"999.999.999.999",
  "resource-arn":"arn:aws:transfer:us-east-1:999999999999:server/s-0123456789abcdef",
  "message":"Invalid user name or password",
  "user":"exampleUser"
}
```

运行以下查询以查看导致身份验证失败的主要原因。

```
filter @logStream = 'ERRORS'
| filter `activity-type` = 'AUTH_FAILURE'
| stats count() as AuthFailures by user, method
| sort by AuthFailures desc
| limit 10
```

您可以创建 “**CloudWatch 贡献者**CloudWatch 见解**” 规则来查看身份验证失败情况，而不是使用 Logs** Insights。创建类似于以下内容的规则。

```
{
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.activity-type",
                "In": [
                    "AUTH_FAILURE"
                ]
            }
        ],
        "Keys": [
            "$.user"
        ]
    },
    "LogFormat": "JSON",
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupARNs": [
        "arn:aws:logs:us-east-1:999999999999:log-group:/customer/structured_logs"
    ]
}
```

**查看文件打开位置的日志条目**

在您的结构化日志中，文件读取日志条目类似于以下内容：

```
{
  "mode":"READ",
  "path":"/fs-0df669c89d9bf7f45/avtester/example",
  "activity-type":"OPEN",
  "resource-arn":"arn:aws:transfer:us-east-1:999999999999:server/s-0123456789abcdef",
  "session-id":"0049cd844c7536c06a89"
}
```

运行以下查询以查看表明文件已打开的日志条目。

```
filter `activity-type` = 'OPEN'
| display @timestamp, @logStream, `session-id`, mode, path
```