Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
OpenSearch Bahasa Pemrosesan Pipa (PPL)
Bagian ini berisi pengantar dasar untuk menanyakan CloudWatch Log menggunakan OpenSearch PPL. Dengan PPL, Anda dapat mengambil, menanyakan, dan menganalisis data menggunakan perintah yang disipitkan, sehingga lebih mudah untuk memahami dan menyusun kueri kompleks. Sintaksnya didasarkan pada pipa Unix, dan memungkinkan rantai perintah untuk mengubah dan memproses data. Dengan PPL, Anda dapat memfilter dan mengumpulkan data, dan menggunakan serangkaian fungsi matematika, string, tanggal, kondisional, dan lainnya yang kaya untuk analisis.
Mem SOURCE asukkan dalam kueri PPL adalah cara yang berguna untuk menentukan indeks bidang grup log, dan sumber data untuk disertakan dalam kueri saat Anda menggunakan API AWS CLI atau untuk membuat kueri. Per SOURCE intah ini hanya didukung di AWS CLI dan API, bukan di CloudWatch konsol. Saat Anda menggunakan CloudWatch konsol untuk memulai kueri, Anda menggunakan antarmuka konsol untuk menentukan grup log dan nama dan jenis sumber data.
Gunakan aws:fieldIndex untuk mengembalikan data yang diindeks saja, dengan memaksa kueri untuk memindai hanya grup log yang diindeks pada bidang yang Anda tentukan dalam kueri. Grup log yang relevan dipilih secara otomatis, berdasarkan bidang yang ditentukan dalam filterIndex perintah. Ini mengurangi volume yang dipindai dengan melewatkan grup log yang tidak memiliki peristiwa log yang berisi bidang yang ditentukan dalam kueri, dan hanya memindai grup log yang cocok dengan nilai yang ditentukan dalam kueri untuk indeks bidang ini. Gunakan aws:fieldIndex untuk menentukan nama bidang, bersama dengan nama bidang dan nilai dalam perintah sumber untuk menanyakan hanya data yang diindeks yang berisi bidang dan nilai yang ditentukan. Untuk informasi selengkapnya, lihat Buat indeks bidang untuk meningkatkan kinerja kueri dan mengurangi volume pemindaian
Anda dapat menggunakan OpenSearch PPL untuk kueri grup log di Kelas Log Standar.
catatan
Untuk informasi tentang semua perintah kueri OpenSearch PPL yang didukung di CloudWatch Log dan informasi terperinci tentang sintaks dan batasan, lihat Perintah PPL yang Didukung di Panduan Pengembang OpenSearch Layanan.
Untuk informasi tentang bahasa kueri lain yang dapat Anda gunakan lihat, CloudWatch Logs Insights, OpenSearch Service SQL, dan CloudWatch Metrics Insights
| Perintah atau fungsi | Kueri contoh | Deskripsi |
|---|---|---|
|
|
|
Menampilkan sekumpulan bidang yang membutuhkan proyeksi. |
|
|
|
Menggabungkan dua dataset bersama-sama. |
|
|
|
Memfilter data berdasarkan kondisi yang Anda tentukan. |
|
|
|
Mengembalikan data yang diindeks saja, dengan memaksa kueri untuk memindai hanya grup log yang diindeks pada bidang yang Anda tentukan dalam kueri. |
|
|
|
Melakukan agregasi dan perhitungan |
|
|
|
Mengekstrak pola ekspresi reguler (regex) dari string dan menampilkan pola yang diekstraksi. Pola yang diekstraksi dapat digunakan lebih lanjut untuk membuat bidang baru atau menyaring data. |
|
|
|
Urutkan hasil yang ditampilkan dengan nama bidang. Gunakan pengurutan - FieldName untuk mengurutkan dalam urutan menurun. |
|
|
|
Memodifikasi atau memproses nilai bidang dan menyimpannya di bidang yang berbeda. Ini berguna untuk memodifikasi kolom secara matematis, menerapkan fungsi string ke kolom, atau menerapkan fungsi tanggal ke kolom. |
|
|
|
Mengganti nama satu atau lebih bidang dalam hasil pencarian. |
|
|
|
Membatasi hasil kueri yang ditampilkan ke N baris pertama. |
|
|
|
Menemukan nilai yang paling sering untuk bidang. |
|
|
|
Menghapus entri duplikat berdasarkan bidang yang Anda tentukan. |
|
|
|
Menemukan nilai paling jarang dari semua bidang dalam daftar bidang. |
|
|
|
Melakukan kueri kompleks dan bersarang dalam pernyataan PPL Anda. |
|
|
|
Menghitung rata-rata bergerak bidang. |
|
|
|
Memperkaya data acara Anda dengan statistik ringkasan yang dihitung. Ini menganalisis bidang tertentu dalam acara Anda, menghitung berbagai ukuran statistik, dan kemudian menambahkan hasil ini ke setiap peristiwa asli sebagai bidang baru. |
|
|
|
Memecah bidang yang berisi beberapa nilai menjadi baris terpisah, membuat baris baru untuk setiap nilai di bidang yang ditentukan. |
|
|
|
Mengisi bidang null dengan nilai yang Anda berikan. Hal ini dapat digunakan dalam satu atau lebih bidang. |
|
|
|
Meratakan bidang. Bidang harus dari jenis ini: |
|
|
|
Memeriksa apakah alamat IP yang ditentukan berada dalam kisaran CIDR yang diberikan. |
|
|
|
Menghitung statistik dasar untuk setiap bidang (hitungan, hitungan berbeda, min, maks, avg, stddev, dan mean). |
|
|
|
Mengurai bidang teks dengan pola grok dan menambahkan hasil ke hasil pencarian. |
|
Fungsi string |
|
Built-in fungsi dalam PPL yang dapat memanipulasi dan mengubah data string dan teks dalam kueri PPL. Misalnya, mengubah kasus, menggabungkan string, mengekstraksi bagian, dan membersihkan teks. |
|
Date-Time fungsi |
|
Built-in fungsi untuk menangani dan mengubah data tanggal dan stempel waktu dalam kueri PPL. Misalnya, date_add, date_format, datediff, date-sub, timestampadd, timestampdiff, current_timezone, utc_timestamp, dan current_date. |
|
Fungsi syarat |
|
Built-in fungsi yang memeriksa kondisi bidang tertentu, dan mengevaluasi ekspresi secara kondisional. Misalnya, jika field1 adalah null, kembalikan field2. |
|
Fungsi matematika |
|
Built-in fungsi untuk melakukan perhitungan matematis dan transformasi dalam kueri PPL. Misalnya, abs (nilai absolut), bulat (putaran angka), sqrt (akar kuadrat), pow (perhitungan daya), dan ceil (membulatkan ke bilangan bulat terdekat). |
|
CryptoGraphic fungsi |
|
Untuk menghitung hash bidang yang diberikan |
|
Fungsi JSON |
|
Built-in fungsi untuk menangani JSON termasuk array, ekstraksi, dan validasi. Misalnya, json_object, json_array, to_json_string, json_array_length, json_extract, json_keys, dan json_valid. |
Lingkup kueri
Menyertakan SUMBER dalam kueri adalah cara yang berguna untuk menentukan grup log untuk disertakan dalam kueri saat Anda menggunakan API AWS CLI atau untuk membuat kueri. Perintah SOURCE hanya didukung di AWS CLI dan API, bukan di CloudWatch konsol. Saat Anda menggunakan CloudWatch konsol untuk memulai kueri, Anda menggunakan antarmuka konsol untuk menentukan grup log dan nama dan jenis sumber data.
Perintah sumber PPL sekarang mendukung beberapa cara untuk menentukannya:
-
Grup log
-
Indeks bidang - Baru
-
Sumber dan tipe data - Baru
Grup Log
Pemilihan sumber Grup Log dapat digunakan ketika pelanggan mengetahui grup log mana yang perlu dicari
source = [lg:`/aws/lambda/my-function`] | where status = 200 | head 10
Indeks Bidang
Pemilihan sumber berbasis indeks bidang mengurangi jumlah data yang ditanyakan dengan membatasi hasil hanya data yang diindeks saat filter menargetkan bidang yang telah diindeks. Grup log yang relevan dipilih secara otomatis, berdasarkan bidang yang ditentukan dalam filterIndex perintah. Untuk informasi selengkapnya tentang indeks bidang dan cara membuatnya, lihat Membuat indeks bidang untuk meningkatkan kinerja kueri dan mengurangi volume pemindaian.
Gunakan aws:fieldIndex untuk mengembalikan data yang diindeks saja, dengan memaksa kueri untuk memindai hanya grup log yang diindeks pada bidang yang Anda tentukan dalam kueri. Untuk grup log yang diindeks pada bidang ini, lebih lanjut mengoptimalkan kueri dengan melewatkan grup log yang tidak memiliki peristiwa log yang berisi bidang yang ditentukan dalam kueri untuk bidang yang diindeks. Ini lebih lanjut mengurangi volume yang dipindai dengan mencoba memindai hanya peristiwa log dari grup log ini yang cocok dengan nilai yang ditentukan dalam kueri untuk indeks bidang ini. Untuk informasi selengkapnya tentang indeks bidang dan cara membuatnya, lihat Membuat indeks bidang untuk meningkatkan kinerja kueri dan mengurangi volume pemindaian.
Dalam PPL, aws:fieldIndex digunakan untuk menentukan pasangan nilai kunci mana yang harus diperlakukan sebagai indeks. Sintaksnya adalah sebagai berikut
source = [`aws:fieldIndex`="region", `region` = "us-west-2"] | where status = 200 | head 10
dimana,
-
`aws:fieldIndex`="region"mengidentifikasi wilayah sebagai Indeks bidang.-
Catatan: Alih-alih = pelanggan dapat menggunakan IN untuk menentukan beberapa indeks (contoh di bawah)
-
-
`region`="us-west-2"mengidentifikasi kondisi filter yang akan diterapkan-
Catatan: Alih-alih = pelanggan dapat menggunakan IN untuk menentukan beberapa nilai (contoh di bawah)
-
Pelanggan dapat menentukan beberapa fieldIndexes sebagai berikut
source = [`aws:fieldIndex` IN ("status", "region"), `status` = 200, `region` IN ("us-west-2", "us-east-1")] | head 10
Sumber dan Jenis Data
Pemilihan sumber data dan tipe berbasis sumber dapat digunakan ketika pelanggan mengetahui sumber data pasti mana yang perlu ditanyakan. Kueri ini dijalankan melalui satu atau lebih grup log yang berisi sumber dan tipe data yang ditentukan.
source = [ds:`data_source.type`] | where status = 200 | head 10
PPL yang didukung untuk kueri sumber data
Untuk mendukung kasus penggunaan untuk menanyakan sumber data di PPL, Anda dapat menggunakan klausa pemilih sumber dinamis. Menggunakan sintaks ini, Anda dapat menanyakan sumber data dengan menentukannya dalam perintah pencarian. Anda dapat menentukan hingga 10 sumber data.
Sintaksis
source=[ds:`DataSource1.Type1`, ds:`DataSource2.Type2`, ...ds:`DataSourcen.Typen`]
Contoh kueri
search source=[ds:`DataSource1.Type1`, ds:`DataSource2.Type2`] | fields field1, field2
Contoh gabungan
Pelanggan dapat menentukan semua operator pemilihan sumber dalam urutan apa pun & hasilnya akan menjadi persimpangan dari semua kondisi yang diterapkan.
Misalnya, aws/lambda /my-function-1 mungkin berisi beberapa sumber & tipe data termasuk berbagai macam indeks, ketika kueri berikut dijalankan, hasil yang dikembalikan hanya akan memiliki peristiwa sumber dan tipe DataSource1.Type1 dan cocok dengan kriteria 'status' = 200.
search source=[ ds:`DataSource1.Type1`, lg:`/aws/lambda/my-function-1`, `aws:fieldIndex` IN ("status"), `status` = 200 ]
Pembatasan
Batasan berikut berlaku saat Anda menggunakan OpenSearch PPL untuk membuat kueri di CloudWatch Logs Insights.
-
Anda tidak dapat menggunakan perintah join atau subquery dengan kueri sumber data.