Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
pencarian
Gunakan lookup untuk memperkaya hasil kueri Anda dengan data referensi dari tabel pencarian. Anda dapat mengisi tabel pencarian dengan data CSV yang Anda unggah ke Amazon CloudWatch Logs, atau dengan hasil kueri log yang diselesaikan atau dibatalkan. Saat kueri berjalan, lookup perintah mencocokkan bidang dalam peristiwa log Anda dengan bidang di tabel pencarian dan menambahkan bidang keluaran yang ditentukan ke hasil.
Gunakan tabel pencarian untuk skenario pengayaan data seperti memetakan ID pengguna ke detail pengguna, kode produk ke informasi produk, atau kode kesalahan ke deskripsi kesalahan.
Membuat dan mengelola tabel pencarian
Sebelum Anda dapat menggunakan lookup perintah dalam kueri, Anda harus membuat tabel pencarian. Anda dapat membuat dan mengelola tabel pencarian dari CloudWatch konsol atau dengan menggunakan Amazon CloudWatch Logs API.
Untuk membuat tabel pencarian (konsol)
-
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Di panel navigasi, pilih Pengaturan, lalu pilih tab Log.
-
Gulir ke tabel pencarian dan pilih Kel ola.
-
Pilih Buat tabel pencarian.
-
Masukkan nama untuk tabel pencarian. Nama hanya dapat berisi karakter alfanumerik dan garis bawah.
-
(Opsional) Masukkan deskripsi.
-
Unggah file CSV. File harus menyertakan baris header dengan nama kolom, menggunakan UTF-8 pengkodean, dan tidak melebihi 10 MB.
-
(Opsional) Tentukan AWS KMS kunci untuk mengenkripsi data tabel.
-
Pilih Buat.
Setelah Anda membuat tabel pencarian, Anda dapat melihatnya di editor kueri CloudWatch Logs Insights. Pilih tab Loo kup tables untuk menelusuri tabel yang tersedia dan bidangnya.
Untuk memperbarui tabel pencarian, pilih tabel dan pilih Tindakan , Per barui. Unggah file CSV baru untuk menggantikan semua konten yang ada. Untuk menghapus tabel pencarian, pilih Tind akan, H apus.
Alih-alih mengunggah data CSV, Anda juga dapat membuat atau memperbarui tabel pencarian dari hasil kueri log yang diselesaikan atau dibatalkan yang Anda jalankan di konsol Log Analytics atau dengan Amazon CloudWatch Logs API. Tentukan ID kueri dengan queryId parameter CreateLookupTable atau UpdateLookupTable API. Kueri yang dibatalkan mengisi tabel dengan hasil parSIAL yang tersedia saat kueri dihentikan. Anda harus menentukan konten CSV atau ID kueri, tetapi tidak keduanya. Memperbarui tabel adalah operasi penggantian penuh—semua konten yang ada diganti terlepas dari sumbernya. Untuk menyegarkan tabel pencarian dengan hasil kueri secara otomatis pada jadwal, gunakan kueri terjadwal dengan tujuan tabel pencarian. Untuk informasi selengkapnya, lihat Mengkonfigurasi tujuan tabel pencarian untuk kueri terjadwal.
catatan
Anda dapat membuat hingga 100 tabel pencarian per akun per Wilayah AWS. File CSV dapat mencapai 10 MB. Anda juga dapat mengelola tabel pencarian dengan menggunakan Amazon CloudWatch Logs API. Untuk informasi selengkapnya, lihat CreateLookupTable Referensi API Amazon CloudWatch Logs.
catatan
Jika tabel pencarian dienkripsi dengan kunci KMS, pemanggil harus memiliki kms:Decrypt izin pada kunci (kunci KMS yang digunakan untuk mengenkripsi tabel pencarian) untuk menggunakan StartQuery API dengan kueri yang mereferensikan tabel pencarian tersebut. Untuk informasi selengkapnya, lihat Enkripsi tabel pencarian di CloudWatch Log menggunakan AWS Key Management Service.
Sintaks kueri untuk pencarian
Struktur komando
Berikut ini menunjukkan format perintah ini.
lookuptablematch-fieldsoutput-modeoutput-field[,...]
Perintah menggunakan argumen berikut:
-
— Nama tabel pencarian yang akan digunakan.table -
— Tentukan satu atau lebih bidang untuk mencocokkan peristiwa log dengan tabel pencarian. Anda dapat menggunakan salah satu dari formulir berikut:match-fields-
— Gunakanlookup-fieldaslog-field[,...]asketika nama kolom tabel pencarian berbeda dari nama bidang peristiwa log. Misalnya, menip_address as srcAddrcocokip_addresskan kolom dalam tabel pencarian dengansrcAddrbidang di peristiwa log Anda. -
- Ketika nama bidang peristiwa log sama dengan nama kolom tabel pencarian, Anda dapat menghilangkanlookup-field[,...]asdan menentukan nama bidang secara langsung. Misalnya, mendepartment, rolecocokkan kedua kolom dengan bidang peristiwa log dengan nama yang sama.
Ketika beberapa bidang kecocokan ditentukan, baris dalam tabel pencarian harus cocok dengan semua bidang untuk menghasilkan hasil (logika AND).
-
-
— Menentukan bagaimana bidang keluaran ditambahkan ke hasil. Gunakan salah satu langkah berikut:output-mode-
OUTPUT— Menambahkan bidang keluaran ke hasil. Jika bidang dengan nama yang sama sudah ada di acara log, itu akan diganti dengan nilai tabel pencarian. Jika tidak ada kecocokan yang ditemukan, bidang disetel ke null. -
OUTPUTNEW— Menambahkan bidang keluaran ke hasil hanya jika bidang tersebut belum ada di acara log. Jika bidang sudah memiliki nilai, nilai aslinya disimpan. Jika tidak ada kecocokan yang ditemukan, bidang dibiarkan tidak berubah.
-
-
— Satu atau lebih bidang dari tabel pencarian untuk ditambahkan ke hasil.output-field
Contoh: Perkaya peristiwa log dengan detail pengguna
Misalkan Anda memiliki grup log dengan peristiwa yang berisi id bidang, dan tabel pencarian bernama user_data dengan kolomid,name,email, dandepartment. Kueri berikut memperkaya setiap peristiwa log dengan nama pengguna, email, dan departemen dari tabel pencarian.
fields action, status, name, email, department | lookup user_data id OUTPUT name, email, department
Contoh: Gunakan pencarian dengan agregasi
Anda dapat menggunakan bidang keluaran pencarian dengan fungsi agregasi. Kueri berikut memperkaya peristiwa log dengan detail pengguna dan kemudian menghitung peristiwa yang dikelompokkan berdasarkan alamat email.
fields user_id, action, username, email, department | lookup user_data user_id OUTPUT username, email, department | stats count(*) by email
Contoh: Gunakan pencarian dengan filter
Anda dapat memfilter hasil berdasarkan bidang yang dikembalikan oleh pencarian. Kueri berikut memperkaya peristiwa log dan kemudian memfilter untuk hanya menampilkan peristiwa dari departemen tertentu.
fields user_id, action | lookup user_data user_id OUTPUT username, email, department | filter department = "Engineering"
Contoh: Gunakan OUTPUTNEW untuk memperkaya tanpa mengganti
Jika peristiwa log Anda sudah berisi hostname bidang tetapi terkadang kosong, gunakan OUTPUTNEW untuk mengisi nilai yang hilang tanpa mengganti yang sudah ada.
fields srcAddr, hostname | lookup known_hosts ip_address as srcAddr OUTPUTNEW hostname, region
Contoh: Gunakan pencarian dengan beberapa bidang kecocokan
Anda dapat mencocokkan di lebih dari satu bidang. Kueri berikut cocok dengan kedua srcAddr dan dstPort terhadap tabel pencarian untuk mengidentifikasi layanan jaringan yang dikenal.
fields @timestamp, srcAddr, dstAddr, dstPort | lookup network_services ip_address as srcAddr, port as dstPort OUTPUT service_name, owner | filter ispresent(service_name)
Contoh: Gunakan pencarian dengan nama bidang yang cocok
Ketika nama bidang peristiwa log Anda sama persis dengan nama kolom tabel pencarian, Anda dapat menghilangkan as kata kunci. Kueri berikut cocok dengan kedua department dan role bidang langsung dengan tabel pencarian.
fields @timestamp, department, role | lookup employees department, role OUTPUT office, manager