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.SearchTerm
Biasanya 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 akunSearchTerm
adalah:aws.AccountId =
. Anda juga dapat menggunakan444455556666
'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, sepertiMetricName=
sebagaimana dalam contoh ini, tetapi menggunakan penanda yang tidak diperlukan.Skema metrik dan
SearchTerm
harus diapit bersama-sama dalam sepasang tanda kutip tunggal. Statistic
Ini 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 |
|
SDBFailure |
|
Project2-trial333 |
|
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)