

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kueri format file log NCSA
<a name="querying-iis-logs-ncsa-log-file-format"></a>

IIS juga menggunakan format [logging NCSA](https://docs.microsoft.com/en-us/windows/win32/http/ncsa-logging), yang memiliki jumlah bidang tetap dalam format teks ASCII yang dipisahkan oleh spasi. Struktur ini mirip dengan format log umum yang digunakan untuk log akses Apache. Kolom dalam format data log umum NCSA termasuk alamat IP klien, ID klien (tidak biasanya digunakan), domain\$1 user ID, permintaan diterima stempel waktu, teks permintaan klien, kode status server, dan ukuran objek kembali ke klien.

Contoh berikut menunjukkan data dalam format log umum NCSA sebagai didokumentasikan untuk IIS.

```
198.51.100.7 - ExampleCorp\Li [10/Oct/2019:13:55:36 -0700] "GET /logo.gif HTTP/1.0" 200 232
198.51.100.14 - AnyCompany\Jorge [24/Nov/2019:10:49:52 -0700] "GET /index.html HTTP/1.1" 200 2165
198.51.100.22 - ExampleCorp\Mateo [27/Dec/2019:11:38:12 -0700] "GET /about.html HTTP/1.1" 200 1287
198.51.100.9 - AnyCompany\Nikki [11/Jan/2020:11:40:11 -0700] "GET /image.png HTTP/1.1" 404 230
198.51.100.2 - ExampleCorp\Ana [15/Feb/2019:10:12:22 -0700] "GET /favicon.ico HTTP/1.1" 404 30
198.51.100.13 - AnyCompany\Saanvi [14/Mar/2019:11:40:33 -0700] "GET /intro.html HTTP/1.1" 200 1608
198.51.100.11 - ExampleCorp\Xiulan [22/Apr/2019:10:51:34 -0700] "GET /group/index.html HTTP/1.1" 200 1344
```

## Buat tabel di Athena untuk log IIS NCSA
<a name="querying-iis-logs-ncsa-creating-a-table-in-athena"></a>

Untuk`CREATE TABLE`pernyataan, Anda dapat menggunakan[Grok SerDe](grok-serde.md)dan pola grok yang mirip dengan yang[Log server web Apache](querying-apache-logs.md). Tidak seperti Apache log, pola grok menggunakan`%{DATA:user_id}`untuk bidang ketiga, bukan`%{USERNAME:user_id}`untuk memperhitungkan adanya backslash di`domain\user_id`. *Untuk informasi selengkapnya tentang menggunakan Grok SerDe, lihat [Menulis pengklasifikasi kustom grok di Panduan Pengembang](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-grok).AWS Glue *

**Untuk membuat tabel di Athena untuk log server web IIS NCSA**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Paste pernyataan DDL berikut ke Editor Kueri Athena. Modifikasi nilai di`LOCATION 's3://amzn-s3-demo-bucket/iis-ncsa-logs/'`Untuk menunjuk ke log IIS NCSA di Amazon S3.

   ```
   CREATE EXTERNAL TABLE iis_ncsa_logs(
     client_ip string,
     client_id string,
     user_id string,
     request_received_time string,
     client_request string,
     server_status string,
     returned_obj_size string
     )
   ROW FORMAT SERDE
      'com.amazonaws.glue.serde.GrokSerDe'
   WITH SERDEPROPERTIES (
      'input.format'='^%{IPV4:client_ip} %{DATA:client_id} %{DATA:user_id} %{GREEDYDATA:request_received_time} %{QUOTEDSTRING:client_request} %{DATA:server_status} %{DATA: returned_obj_size}$'
      )
   STORED AS INPUTFORMAT
      'org.apache.hadoop.mapred.TextInputFormat'
   OUTPUTFORMAT
      'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
   LOCATION
      's3://amzn-s3-demo-bucket/iis-ncsa-logs/';
   ```

1. Menjalankan kueri di konsol Athena untuk mendaftar`iis_ncsa_logs`Tabel. Saat permintaan selesai, log siap bagi Anda untuk mengkueri dari Athena.

## Contoh kueri pilih untuk log IIS NCSA
<a name="querying-iis-logs-ncsa-example-select-queries"></a>

**Example – Pemfilteran untuk kesalahan 404**  
Contoh kueri berikut memilih waktu permintaan diterima, teks permintaan klien, dan kode status server dari tabel `iis_ncsa_logs`. Klausa `WHERE` memfilter untuk kode status HTTP`404` (halaman tidak ditemukan).  

```
SELECT request_received_time, client_request, server_status
FROM iis_ncsa_logs
WHERE server_status = '404'
```
Gambar berikut menunjukkan hasil kueri di Editor Kueri Athena.  

![\[Kueri log IIS NCSA dari Athena untuk HTTP404Entri.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/querying-iis-logs-3.png)


**Example – Memfilter untuk permintaan sukses dari domain tertentu**  
Contoh kueri berikut memilih ID pengguna, waktu permintaan diterima, teks permintaan klien, dan kode status server dari tabel `iis_ncsa_logs`. Klausa `WHERE` memfilter untuk permintaan dengan kode status HTTP `200` (berhasil) dari pengguna di domain `AnyCompany`.  

```
SELECT user_id, request_received_time, client_request, server_status
FROM iis_ncsa_logs
WHERE server_status = '200' AND user_id LIKE 'AnyCompany%'
```
Gambar berikut menunjukkan hasil kueri di Editor Kueri Athena.  

![\[Kueri log IIS NCSA dari Athena untuk HTTP200Entri.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/querying-iis-logs-4.png)
