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 piped-together, sehingga lebih mudah untuk memahami dan menyusun kueri yang 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 matematika, string, tanggal, kondisional, dan fungsi lainnya yang kaya untuk analisis.
Termasuk SOURCE dalam kueri PPL adalah cara yang berguna untuk menentukan indeks bidang grup log, dan sumber data untuk disertakan dalam kueri saat Anda menggunakan AWS CLI atau API untuk membuat kueri. SOURCEPerintah hanya didukung di API AWS CLI dan, 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 pembatasan, lihat perintah PPL yang didukung di Panduan Pengembang OpenSearch Layanan.
Untuk informasi tentang bahasa kueri lain yang dapat Anda gunakan lihat, Wawasan CloudWatch Log, SQL OpenSearch Layanan, dan CloudWatch Metrics Insights
| Perintah atau fungsi | Kueri contoh | Deskripsi |
|---|---|---|
|
ladang |
|
Menampilkan satu set bidang yang membutuhkan proyeksi. |
|
join |
|
Bergabung dengan dua kumpulan data bersama-sama. |
|
di mana |
|
Memfilter data berdasarkan kondisi yang Anda tentukan. |
|
AWS: FieldIndex |
|
Mengembalikan data yang diindeks saja, dengan memaksa kueri untuk memindai hanya grup log yang diindeks pada bidang yang Anda tentukan dalam kueri. |
|
statistik |
|
Melakukan agregasi dan perhitungan |
|
mengurai |
|
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. |
|
menyortir |
|
Urutkan hasil yang ditampilkan dengan nama bidang. Gunakan sort - FieldName untuk mengurutkan dalam urutan menurun. |
|
eval |
|
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. |
|
ganti nama |
|
Mengganti nama satu atau beberapa bidang di hasil pencarian. |
|
kepala |
|
Membatasi hasil kueri yang ditampilkan ke baris N pertama. |
|
atas |
|
Menemukan nilai yang paling sering untuk sebuah bidang. |
|
dedup |
|
Menghapus entri duplikat berdasarkan bidang yang Anda tentukan. |
|
langka |
|
Menemukan nilai yang paling tidak sering dari semua bidang dalam daftar bidang. |
|
subkueri |
|
Melakukan kueri yang kompleks dan bersarang dalam pernyataan PPL Anda. |
|
garis tren |
|
Menghitung rata-rata bergerak bidang. |
|
EventStats |
|
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. |
|
membesar |
|
Memecah bidang yang berisi beberapa nilai menjadi baris terpisah, membuat baris baru untuk setiap nilai di bidang yang ditentukan. |
|
fillnull |
|
Mengisi bidang null dengan nilai yang Anda berikan. Ini dapat digunakan dalam satu atau lebih bidang. |
|
meratakan |
|
Meratakan bidang. Bidang harus dari jenis ini: |
|
cidrmatch |
|
Memeriksa apakah alamat IP yang ditentukan berada dalam kisaran CIDR yang diberikan. |
|
ringkasan lapangan |
|
Menghitung statistik dasar untuk setiap bidang (hitungan, hitungan berbeda, min, maks, rata-rata, stddev, dan rata-rata). |
|
grok |
|
Mem-parsing bidang teks dengan pola grok dan menambahkan hasilnya ke hasil pencarian. |
|
Fungsi string |
|
Fungsi bawaan di PPL yang dapat memanipulasi dan mengubah data string dan teks dalam kueri PPL. Misalnya, mengonversi kasus, menggabungkan string, mengekstraksi bagian, dan membersihkan teks. |
|
Fungsi Tanggal-Waktu |
|
Fungsi bawaan 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 |
|
Fungsi bawaan yang memeriksa kondisi bidang tertentu, dan mengevaluasi ekspresi secara kondisional. Misalnya, jika field1 adalah null, kembalikan field2. |
|
Fungsi matematika |
|
Fungsi bawaan untuk melakukan perhitungan dan transformasi matematis dalam kueri PPL. Misalnya, abs (nilai absolut), bulat (angka bulat), sqrt (akar kuadrat), pow (perhitungan daya), dan ceil (membulatkan ke bilangan bulat terdekat). |
|
CryptoGraphic fungsi |
|
Untuk menghitung hash dari bidang yang diberikan |
|
Fungsi JSON |
|
Fungsi bawaan 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 yang akan disertakan dalam kueri saat Anda menggunakan API AWS CLI atau untuk membuat kueri. Perintah SOURCE hanya didukung di API AWS CLI dan, 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 yang tepat yang perlu dicari
source = [lg:`/aws/lambda/my-function`] | where status = 200 | head 10
Indeks Lapangan
Pemilihan sumber berbasis indeks bidang mengurangi jumlah data yang ditanyakan dengan membatasi hasil hanya pada data yang diindeks saat filter Anda 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 ini yang diindeks di bidang ini, selanjutnya mengoptimalkan kueri dengan melewatkan grup log yang tidak memiliki peristiwa log yang berisi bidang yang ditentukan dalam kueri untuk bidang yang diindeks. Selanjutnya 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 FieldIndex sebagai berikut
source = [`aws:fieldIndex` IN ("status", "region"), `status` = 200, `region` IN ("us-west-2", "us-east-1")] | head 10
Sumber dan Jenis Data
Sumber data dan pemilihan sumber berbasis tipe 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 jenis data yang ditentukan.
source = [ds:`data_source.type`] | where status = 200 | head 10
PPL yang didukung untuk kueri sumber data
Untuk mendukung kasus penggunaan kueri sumber data di PPL, Anda dapat menggunakan klausa pemilih sumber dinamis. Dengan menggunakan sintaks ini, Anda dapat meminta 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 indeks, ketika kueri berikut dijalankan, hasil yang dikembalikan hanya akan memiliki peristiwa sumber dan tipe DataSource 1.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
Pembatasan berikut berlaku saat Anda menggunakan OpenSearch PPL untuk melakukan kueri di Wawasan CloudWatch Log.
-
Anda tidak dapat menggunakan perintah bergabung atau subquery dengan kueri sumber data.