

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

# Membuat kueri terjadwal
<a name="create-scheduled-query"></a>

Buat kueri terjadwal yang secara otomatis menjalankan kueri Wawasan CloudWatch Log dan memberikan hasil ke tujuan yang Anda pilih.

## Prasyarat
<a name="create-scheduled-query-prerequisites"></a>

Sebelum membuat kueri terjadwal, pastikan Anda memiliki yang berikut:
+ **Grup log** - Satu atau beberapa grup log yang berisi data yang ingin Anda analisis
+ **Eksekusi peran IAM - Peran** IAM dengan izin berikut:
  + `logs:StartQuery`- Izin untuk memulai CloudWatch kueri Wawasan Log
  + `logs:GetQueryResults`- Izin untuk mengambil hasil kueri
  + `logs:DescribeLogGroups`- Izin untuk mengakses informasi grup log. Ini hanya diperlukan untuk grup log berbasis awalan untuk penemuan grup log
+ **Izin tujuan - Izin** IAM tambahan untuk tujuan yang Anda pilih:
  + Untuk tujuan Amazon S3: `s3:PutObject`
+ **Untuk AWS CLI dan penggunaan API** - AWS Kredensi yang dikonfigurasi dengan izin untuk memanggil Log CloudWatch APIs

Untuk contoh kebijakan IAM yang mendetail, lihat[Manajemen identitas dan akses untuk Amazon CloudWatch Logs](auth-and-access-control-cwl.md). Juga perlu dicatat Anda hanya dapat memiliki 1000 kueri terjadwal per akun.

------
#### [ Console ]

**Untuk membuat kueri terjadwal (konsol)**

1. Buka konsol CloudWatch Log di [https://us-east-1.console.aws.amazon.com/cloudwatch/rumah? region=us-east-1](https://us-east-1.console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:logs-insights) \# logsV2: logs-wawasan.

1. Di panel navigasi, pilih ** Wawasan Logs**.

1. Pilih **Buat kueri terjadwal**.

1. Di bagian **Definisi kueri**:

   1. Untuk **bahasa Kueri**, pilih bahasa kueri yang akan digunakan dari daftar.

   1. Untuk **string Kueri**, masukkan kueri Wawasan CloudWatch Log Anda di kotak.

   1. Untuk **grup Log**, pilih grup log untuk kueri dari daftar.

1. Di bagian **Pengaturan jadwal**:

   1. Untuk **ekspresi Jadwal**, konfigurasikan saat kueri berjalan. Pilih dari opsi yang telah ditentukan atau masukkan ekspresi cron kustom.

   1. Untuk **Efektif saat pembuatan**, tentukan kapan jadwal menjadi aktif. Pilih untuk segera memulai atau pada tanggal dan waktu tertentu menggunakan YYYY/MM/DD format.

   1. Untuk **Rentang waktu**, tentukan periode lookback untuk setiap eksekusi kueri. Masukkan durasi dalam menit yang menentukan seberapa jauh dari waktu eksekusi ke kueri.

   1. Untuk **Lanjutkan tanpa batas waktu**, tentukan kapan jadwal berakhir. Pilih untuk menjalankan tanpa batas waktu atau sampai tanggal dan waktu tertentu menggunakan YYYY/MM/DD format.

1. Konsol menampilkan tiga kueri terjadwal berikutnya berdasarkan konfigurasi Anda, menunjukkan tanggal dan waktu yang tepat di UTC saat kueri akan dijalankan.

1. Dalam **hasil kueri Posting ke S3 - bagian opsional** (jika menggunakan tujuan S3):

   1. Untuk **bucket S3**, pilih **Akun ini** jika bucket tujuan berada di AWS akun yang sama, atau pilih **Akun lain** jika bucket berada di AWS akun yang berbeda dan berikan ID akun pemilik ember sebagai input.

   1. Untuk **URI Amazon S3**, masukkan bucket Amazon S3 dan awalan tempat hasil akan disimpan (misalnya,). `s3://my-bucket/query-results/` Jika Anda memilih **Akun ini**, Anda dapat memilih **Jelajahi Amazon S3** untuk menavigasi dan memilih lokasi Amazon S3 yang ada.

   1. (Opsional) Untuk **ARN kunci KMS**, masukkan ARN kunci yang AWS KMS dikelola pelanggan untuk mengenkripsi hasil kueri menggunakan SSE-KMS. Kuncinya harus berada di AWS Wilayah yang sama dengan bucket Amazon S3 tujuan.

1. Dalam **peran IAM untuk memposting hasil kueri ke bagian Amazon** S3, pilih salah satu opsi berikut:

   1. Pilih **Buat otomatis peran baru dengan izin default** untuk secara otomatis menyiapkan peran IAM dengan izin yang diperlukan untuk CloudWatch Log untuk mengirimkan hasil kueri ke Amazon S3.

   1. Pilih **Gunakan peran yang ada untuk memilih peran** IAM yang ada dengan kebijakan yang diperlukan untuk CloudWatch Log untuk mengirimkan hasil kueri ke Amazon S3. Gunakan bidang pencarian untuk menemukan dan memilih peran IAM yang sesuai dari daftar.

1. Di **peran IAM untuk bagian eksekusi kueri terjadwal**, pilih salah satu opsi berikut:

   1. Pilih **Auto-create peran baru dengan izin default** untuk secara otomatis mengatur peran IAM dengan izin yang diperlukan untuk CloudWatch Log untuk menjalankan kueri terjadwal.

   1. Pilih **Gunakan peran yang ada untuk memilih peran** IAM yang ada dengan kebijakan yang diperlukan untuk CloudWatch Log untuk menjalankan kueri terjadwal. Gunakan bidang pencarian untuk menemukan dan memilih peran IAM yang sesuai dari daftar.

1. Pilih **Buat jadwal** untuk membuat kueri terjadwal.

------
#### [ AWS CLI ]

**Untuk membuat query terjadwal (AWS CLI)**
+ Gunakan `create-scheduled-query` perintah untuk membuat kueri terjadwal baru:

  ```
  aws logs create-scheduled-query \
      --name "ErrorAnalysisQuery" \
      --query-language "CWLI" \
      --query-string "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)" \
      --schedule-expression "cron(8 * * * ? *)" \
      --execution-role-arn "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole" \
      --log-group-identifiers "/aws/lambda/my-function" "/aws/apigateway/my-api" \
      --state "ENABLED"
  ```

------
#### [ API ]

**Untuk membuat kueri terjadwal (API)**
+ Gunakan `CreateScheduledQuery` tindakan untuk membuat kueri terjadwal baru. Contoh berikut membuat kueri terjadwal yang berjalan setiap jam:

  ```
  {
      "name": "ErrorAnalysisQuery",
      "queryLanguage": "CWLI",
      "queryString": "fields @timestamp, @message | filter @message like /ERROR/ | stats count() by bin(5m)",
      "scheduleExpression": "cron(8 * * * ? *)",
      "executionRoleArn": "arn:aws:iam::123456789012:role/CloudWatchLogsScheduledQueryRole",
      "logGroupIdentifiers": ["/aws/lambda/my-function", "/aws/apigateway/my-api"],
      "state": "ENABLED"
  }
  ```

------

Setelah membuat kueri terjadwal, Anda dapat melihat dan mengelolanya dari halaman **Kueri terjadwal** dan menggunakan ListScheduledQueries API, yang menampilkan semua kueri terjadwal dengan nama, tanggal pembuatan, status proses terakhir, waktu pemicu terakhir, dan frekuensi pengulangan.