CloudWatch sintaks ekspresi pencarian - Amazon CloudWatch

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

CloudWatch sintaks ekspresi pencarian

Ekspresi pencarian yang benar memiliki format berikut.

SEARCH(' {Namespace, DimensionName1, DimensionName2, ...} SearchTerm', 'Statistic')

Sebagai contoh:

SEARCH('{AWS/EC2,InstanceId} MetricName="CPUUtilization"', 'Average')
  • Bagian pertama kueri setelah kata SEARCH, yang diapik dengan rangka melengkung, adalah skema metrik yang akan dicari. Skema metrik memuat namespace metrik dan satu nama dimensi atau lebih. Termasuk skema metrik dalam kueri pencarian yang bersifat opsional. Jika ditentukan, skema metrik harus memuat namespace dan secara opsional dapat memuat satu nama dimensi atau lebih yang benar di namespace tersebut.

    Anda tidak perlu menggunakan tanda kutip di dalam skema metrik kecuali jika namespace atau nama dimensi mencakup spasi atau karakter bukan alfanumerik. Dalam hal ini, Anda harus mengapit nama yang memuat karakter tersebut dengan tanda kutip ganda.

  • SearchTerm juga bersifat opsional, tetapi pencarian yang benar harus memuat skema metrik, SearchTerm, atau keduanya. SearchTermBiasanya berisi satu atau lebih akunIDs, nama metrik atau nilai dimensi. SearchTerm dapat menyertakan beberapa istilah untuk dicari, baik cocok sebagian maupun yang benar-benar cocok. Juga dapat memuat operator Boolean.

    Menggunakan ID akun hanya SearchTerm berfungsi di akun yang disiapkan sebagai akun pemantauan untuk pengamatan CloudWatch lintas akun. Sintaks untuk ID akun SearchTerm adalah :aws.AccountId = 444455556666. Anda juga dapat menggunakan 'LOCAL' untuk menentukan akun pemantauan itu sendiri: :aws.AccountId = 'LOCAL'

    Untuk informasi selengkapnya, lihat CloudWatch observabilitas lintas akun.

    SearchTerm dapat mencakup satu penanda atau lebih, seperti MetricName= sebagaimana dalam contoh ini, tetapi menggunakan penanda yang tidak diperlukan.

    Skema metrik dan SearchTerm harus diapit bersama-sama dalam sepasang tanda kutip tunggal.

  • StatisticIni adalah nama dari setiap CloudWatch statistik yang valid. Ini harus diapit dengan satu tanda kutip. Untuk informasi selengkapnya, lihat Statistik.

Contoh sebelumnya mencari namespace AWS/EC2 untuk metrik yang memiliki InstanceId sebagai nama dimensi. Ini mengembalikan semua metrik CPUUtilization yang ditemukan, dengan grafik yang menunjukkan statistik Average.

Ekspresi pencarian hanya dapat menemukan metrik yang telah melaporkan data dalam dua minggu terakhir.

Batas ekspresi pencarian

Ukuran kueri ekspresi pencarian maksimum 1024 karakter. Anda dapat memiliki sebanyak 100 ekspresi pencarian pada satu grafik. Grafik dapat menampilkan sebanyak 500 deret waktu.

CloudWatch ekspresi pencarian: Tokenisasi

Saat Anda menentukanSearchTerm, fungsi pencarian akan mencari token, yang merupakan substring yang secara CloudWatch otomatis dihasilkan dari nama metrik lengkap, nama dimensi, nilai dimensi, dan ruang nama. CloudWatch menghasilkan token yang dibedakan dengan kapitalisasi kasus unta dalam string asli. Karakter numerik juga berfungsi sebagai awal token baru, dan karakter bukan alfanumerik berfungsi sebagai pembatas, yang membuat token sebelum dan sesudah karakter bukan alfanumerik.

String berkelanjutan dengan jenis karakter pembatas token yang sama menghasilkan satu token.

Semua token dibuat dalam huruf kecil. Tabel berikut menunjukkan beberapa contoh token yang dibuat.

String awal Token yang dihasilkan

CustomCount1

customcount1, custom, count, 1

SDBFailure

sdbfailure, sdb, failure

Project2-trial333

project2trial333, project, 2, trial, 333

CloudWatch ekspresi pencarian: Kecocokan sebagian

Saat Anda menentukan aSearchTerm, istilah pencarian juga diberi token. CloudWatchmenemukan metrik berdasarkan kecocokan sebagian, yang merupakan kecocokan dari satu token yang dihasilkan dari istilah pencarian ke token tunggal yang dihasilkan dari nama metrik, namespace, nama dimensi, atau nilai dimensi.

Pencarian cocok sebagian untuk mencocokkan satu token bersifat tidak peka huruf besar dan kecil. Sebagai contoh, menggunakan salah satu istilah pencarian berikut dapat menampilkan metrik CustomCount1:

  • count

  • Count

  • COUNT

Namun demikian, menggunakan couNT sebagai istilah pencarian tidak menemukan CustomCount1 karena penulisan huruf besar dalam istilah pencarian couNT diberi token menjadi cou dan NT.

Pencarian juga dapat mencocokkan token gabungan, yang merupakan beberapa token yang muncul secara berurutan dalam nama aslinya. Untuk mencocokkan token gabungan, pencarian peka huruf besar dan kecil. Sebagai contoh, jika istilah awal CustomCount1, mencari CustomCount atau Count1 berhasil, tetapi mencari customcount atau count1 tidak berhasil.

CloudWatch ekspresi pencarian: Pencocokan yang tepat

Anda dapat menentukan pencarian untuk menemukan istilah yang benar-benar cocok saja dari istilah pencarian menggunakan tanda kutip ganda di bagian dari istilah pencarian yang memerlukan istilah yang benar-benar cocok. . Tanda kutip ganda ini diapit dalam tanda kutip tunggal yang digunakan di sekitar seluruh istilah pencarian. Sebagai contoh, SEARCH(' {MyNamespace}, "CustomCount1" ', 'Maximum') menemukan string CustomCount1 yang benar-benar sama jika ada sebagai nama metrik, nama dimensi, atau nilai dimensi di namespace yang disebut MyNamespace. Namun demikian, pencarian SEARCH(' {MyNamespace}, "customcount1" ', 'Maximum') atau SEARCH(' {MyNamespace}, "Custom" ', 'Maximum') tidak menemukan string ini.

Anda dapat menggabungkan istilah yang cocok sebagian dan istilah yang benar-benar cocok dalam satu ekspresi pencarian. Sebagai contoh, SEARCH(' {AWS/NetworkELB, LoadBalancer} "ConsumedLCUs" OR flow ', 'Maximum') mengembalikan metrik Penyeimbang Beban Elastis yang disebut ConsumedLCUs serta semua metrik atau dimensi Penyeimbang Beban Elastis yang memuat token flow.

Penggunaan istilah yang benar-benar cocok juga merupakan cara yang baik untuk menemukan nama dengan karakter khusus, seperti karakter bukan alfanumerik atau spasi, seperti dalam contoh berikut.

SEARCH(' {"My Namespace", "Dimension@Name"}, "Custom:Name[Special_Characters" ', 'Maximum')

CloudWatch ekspresi pencarian: Tidak termasuk skema metrik

Semua contoh yang ditunjukkan sejauh ini mencakup skema metrik, dalam rangka melengkung. Pencarian yang menghilangkan skema metrik juga benar.

Sebagai contoh, SEARCH(' "CPUUtilization" ', 'Average') mengembalikan semua nama metrik, nama dimensi, nilai dimensi, dan namespace yang benar-benar cocok untuk string CPUUtilization. Di ruang nama AWS metrik, ini dapat mencakup metrik dari beberapa layanan termasuk Amazon, EC2 Amazon ECS SageMaker, dan lainnya.

Untuk mempersempit pencarian ini menjadi hanya satu AWS layanan, praktik terbaik adalah menentukan namespace dan dimensi apa pun yang diperlukan dalam skema metrik, seperti pada contoh berikut. Meskipun mempersempit pencarian menjadi namespace AWS/EC2, ini masih akan mengembalikan hasil metrik lain jika Anda telah menetapkan CPUUtilization sebagai nilai dimensi untuk metrik tersebut.

SEARCH(' {AWS/EC2, InstanceType} "CPUUtilization" ', 'Average')

Atau, Anda dapat menambahkan namespace di SearchTerm dalam contoh berikut. Namun dalam contoh ini, pencarian akan cocok dengan string AWS/EC2, meskipun ini merupakan nama atau nilai dimensi kustom.

SEARCH(' "AWS/EC2" MetricName="CPUUtilization" ', 'Average')

CloudWatch ekspresi pencarian: Menentukan nama properti dalam pencarian

Pencarian yang benar-benar cocok berikut untuk "CustomCount1" mengembalikan semua metrik dengan tepat namanya.

SEARCH(' "CustomCount1" ', 'Maximum')

Tapi itu juga mengembalikan metrik dengan nama dimensi, nilai dimensi, atau namespace dari CustomCount1. Untuk menyusun pencarian lebih lanjut, Anda dapat menetapkan nama properti dari jenis objek yang ingin Anda temukan dalam pencarian Anda. Contoh berikut mencari semua namespace dan mengembalikan metrik yang disebut CustomCount1.

SEARCH(' MetricName="CustomCount1" ', 'Maximum')

Anda juga dapat menggunakan namespace dan nama dimensi/pasangan nilai sebagai nama properti, seperti dalam contoh berikut. Contoh pertama juga menggambarkan bahwa Anda juga dapat menggunakan nama properti dengan pencarian yang cocok sebagian.

SEARCH(' InstanceType=micro ', 'Average')
SEARCH(' InstanceType="t2.micro" Namespace="AWS/EC2" ', 'Average')

CloudWatch ekspresi pencarian: Karakter non-alfanumerik

Karakter non-alfanumerik berfungsi sebagai pembatas, dan menandai di mana nama metrik, dimensi, namespace, dan istilah pencarian akan dipisahkan menjadi token. Ketika istilah diberi token, karakter non-alfanumerik dihapus dan tidak muncul dalam token. Sebagai contoh, Network-Errors_2 menghasilkan token network, errors, dan 2.

Istilah pencarian Anda dapat mencakup karakter non-alfanumerik. Jika karakter ini muncul dalam istilah pencarian Anda, maka karakter tersebut dapat menentukan token gabungan dalam karakter yang cocok sebagian. Sebagai contoh, semua pencarian berikut akan menemukan metrik yang disebut Network-Errors-2 atau NetworkErrors2.

network/errors network+errors network-errors Network_Errors

Ketika Anda melakukan pencarian nilai yang benar-benar sama, karakter non-alfanumerik yang digunakan dalam pencarian yang benar-benar sama harus merupakan karakter yang benar yang muncul dalam string yang dicari. Sebagai contoh, jika Anda ingin menemukan Network-Errors-2, yang mencari "Network-Errors-2" berhasil, tetapi pencarian "Network_Errors_2" tidak berhasil.

Ketika Anda melakukan pencarian yang benar-benar sama, karakter berikut harus hilang dengan garis miring terbalik.

" \ ( )

Sebagai contoh, untuk menemukan nama metrik Europe\France Traffic(Network) berdasarkan karakter yang benar-benar sama, gunakan istilah pencarian "Europe\\France Traffic\(Network\)"

CloudWatch ekspresi pencarian: Operator Boolean

Pencarian mendukung penggunaan operator Boolean AND, OR, dan NOT dalam SearchTerm. Operator Boolean diapit dalam tanda kutip tunggal yang Anda gunakan untuk mengapit seluruh istilah pencarian. Operator boolean peka huruf besar dan kecil, sehingga and, or, dan not tidak benar sebagai operator Boolean.

Anda dapat menggunakan AND secara eksplisit dalam pencarian Anda, seperti SEARCH('{AWS/EC2,InstanceId} network AND packets', 'Average'). Tidak menggunakan operator Boolean di antara istilah pencarian secara implisit mencari seolah-olah ada operator AND, sehingga SEARCH(' {AWS/EC2,InstanceId} network packets ', 'Average') memberikan hasil pencarian yang sama.

Gunakan NOT untuk mengecualikan subset data dari hasil. Sebagai contoh, SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" NOT i-1234567890123456 ', 'Average') mengembalikan CPUUtilization untuk semua instans Anda, kecuali untuk instans i-1234567890123456. Anda juga dapat menggunakan klausa NOT sebagai satu-satunya istilah pencarian. Sebagai contoh, SEARCH( 'NOT Namespace=AWS ', 'Maximum') menghasilkan semua metrik kustom Anda (metrik dengan namespace yang tidak mencakup AWS).

Anda dapat menggunakan beberapa frasa NOT dalam kueri. Sebagai contoh, SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" NOT "ProjectA" NOT "ProjectB" ', 'Average') mengembalikan CPUUtilization dari semua instans di Wilayah, kecuali untuk contoh dengan nilai dimensi ProjectA atau ProjectB.

Anda dapat menggabungkan operator Boolean untuk pencarian yang lebih kuat dan detail, seperti dalam contoh berikut. Gunakan tanda kurung untuk mengelompokkan operator.

Kedua dari dua contoh berikutnya mengembalikan semua nama metrik yang berisi ReadOps dari kedua EC2 dan EBS ruang nama.

SEARCH(' (EC2 OR EBS) AND MetricName=ReadOps ', 'Maximum')
SEARCH(' (EC2 OR EBS) MetricName=ReadOps ', 'Maximum')

Contoh berikut mempersempit pencarian sebelumnya menjadi hasil yang hanya mencakup ProjectA, yang dapat berupa nilai dimensi.

SEARCH(' (EC2 OR EBS) AND ReadOps AND ProjectA ', 'Maximum')

Contoh berikut menggunakan pengelompokan bersarang. Ini mengembalikan metrik Lambda untuk Errors dari semua fungsi, dan Invocations dari fungsi dengan nama yang menyertakan string ProjectA atau ProjectB.

SEARCH(' {AWS/Lambda,FunctionName} MetricName="Errors" OR (MetricName="Invocations" AND (ProjectA OR ProjectB)) ', 'Average')

CloudWatch ekspresi pencarian: Menggunakan ekspresi matematika

Anda dapat menggunakan ekspresi pencarian di dalam ekspresi matematika dalam grafik.

Sebagai contoh, SUM(SEARCH(' {AWS/Lambda, FunctionName} MetricName="Errors" ', 'Sum')) mengembalikan jumlah metrik Errors dari semua fungsi Lambda Anda.

Menggunakan baris terpisah untuk ekspresi pencarian dan ekspresi matematika Anda dapat memberikan hasil yang lebih berguna. Sebagai contoh, misal Anda menggunakan dua ekspresi berikut dalam grafik. Baris pertama menampilkan baris Errors secara terpisah untuk setiap fungsi Lambda Anda. ID dari ekspresi ini adalah e1. Baris kedua menambahkan baris lain yang menunjukkan jumlah kesalahan dari semua fungsi.

SEARCH(' {AWS/Lambda, FunctionName}, MetricName="Errors" ', 'Sum') SUM(e1)