FilterIndex - CloudWatch Log Amazon

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

FilterIndex

Gunakan filterIndex 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, lihatBuat indeks bidang untuk meningkatkan kinerja kueri dan mengurangi volume pemindaian.

Menggunakan filterIndex dengan bidang yang diindeks dapat membantu Anda menanyakan grup log yang menyertakan petabyte data log secara efisien dengan membatasi ruang pencarian aktual untuk grup log dan peristiwa log yang memiliki indeks bidang.

Misalnya, Anda telah membuat indeks bidang untuk IPaddress beberapa grup log di akun Anda. Anda kemudian dapat membuat kueri berikut dan memilih untuk menanyakan semua grup log di akun untuk menemukan peristiwa log yang menyertakan nilai 198.51.100.0 di IPaddress bidang.

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

filterIndexPerintah menyebabkan kueri ini mencoba melewati semua grup log yang tidak diindeks. IPaddress Selain itu, dalam grup log yang diindeks, kueri melewatkan peristiwa log yang memiliki IPaddress bidang tetapi tidak diamati 198.51.100.0 sebagai nilai untuk bidang tersebut.

Gunakan IN operator untuk memperluas hasil ke salah satu dari beberapa nilai untuk bidang yang diindeks. Contoh berikut menemukan log peristiwa yang menyertakan nilai 198.51.100.0 atau 198.51.100.1 di IPaddress bidang.

fields @timestamp, @message | filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"] | limit 20

CloudWatch Log menyediakan indeks bidang default untuk semua grup log di kelas log Standar. Indeks bidang default secara otomatis tersedia untuk bidang berikut:

  • @logStream

  • @aws.region

  • @aws.account

  • @source.log

  • traceId

Indeks bidang default merupakan tambahan dari indeks bidang kustom apa pun yang Anda tentukan dalam kebijakan Anda. Indeks bidang default tidak dihitung terhadap kuota indeks bidang Anda.

FilterIndex dibandingkan dengan filter

Untuk mengilustrasikan perbedaan antara filterIndex danfilter, pertimbangkan contoh kueri berikut. Misalnya Anda telah membuat indeks bidang untukIPaddress, untuk empat grup log Anda, tetapi tidak untuk grup log kelima. Penggunaan kueri berikut filterIndex akan melewati pemindaian grup log yang tidak memiliki bidang yang diindeks. Untuk setiap grup log yang diindeks, ia mencoba memindai hanya peristiwa log yang memiliki bidang yang diindeks, dan juga hanya mengembalikan hasil setelah indeks bidang dibuat.

fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20

Sebaliknya, jika Anda menggunakan filter bukan filterIndex untuk kueri dari lima grup log yang sama, kueri akan mencoba memindai tidak hanya peristiwa log yang berisi nilai dalam grup log yang diindeks, tetapi juga akan memindai grup log kelima yang tidak diindeks, dan itu akan memindai setiap peristiwa log di grup log kelima itu.

fields @timestamp, @message | filter IPaddress = "198.51.100.0" | limit 20