Boolean, perbandingan, numerik, datetime, dan fungsi lainnya - CloudWatch Log Amazon

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

Boolean, perbandingan, numerik, datetime, dan fungsi lainnya

CloudWatch Log Insights mendukung banyak operasi dan fungsi lain dalam kueri, seperti yang dijelaskan di bagian berikut.

Operator aritmatika

Operator aritmatika menerima tipe data numerik sebagai argumen dan mengembalikan hasil numerik. Gunakan operator aritmatika dalam filter dan fields perintah dan sebagai argumen untuk fungsi lainnya.

Operasi Deskripsi

a + b

Penambahan

a - b

Pengurangan

a * b

Perkalian

a / b

Pembagian

a ^ b

Eksponensiasi (pengembalian) 2 ^ 3 8

a % b

Sisa atau modulus (pengembalian) 10 % 3 1

Operator Boolean

Gunakan operator Booleanand,or, dannot.

catatan

Gunakan operator Boolean hanya dalam fungsi yang mengembalikan nilai TRUE atau FALSE.

Operator perbandingan

Operator perbandingan menerima semua tipe data sebagai argumen dan mengembalikan hasil Boolean. Gunakan operasi perbandingan dalam filter perintah dan sebagai argumen untuk fungsi lainnya.

Operator Deskripsi

=

Sama

!=

Tidak sama

<

Kurang dari

>

Lebih besar dari

<=

Kurang dari atau sama dengan

>=

Lebih besar dari atau sama dengan

Operator numerik

Operasi numerik menerima tipe data numerik sebagai argumen dan mengembalikan hasil numerik. Gunakan operasi numerik dalam filter dan fields perintah dan sebagai argumen untuk fungsi lainnya.

Operasi Tipe Hasil Deskripsi

abs(a: number)

number

Nilai absolut

ceil(a: number)

number

Bulat ke langit-langit (bilangan bulat terkecil yang lebih besar dari nilai) a

floor(a: number)

number

Bulat ke lantai (bilangan bulat terbesar yang lebih kecil dari nilai) a

greatest(a: number, ...numbers: number[])

number

Mengembalikan nilai terbesar

least(a: number, ...numbers: number[])

number

Mengembalikan nilai terkecil

log(a: number)

number

Log alami

sqrt(a: number)

number

Akar kuadrat

Fungsi datetime

Fungsi Datetime

Gunakan fungsi datetime dalam fields dan filter perintah dan sebagai argumen untuk fungsi lainnya. Gunakan fungsi ini untuk membuat bucket waktu untuk kueri dengan fungsi agregat. Gunakan periode waktu yang terdiri dari angka dan salah satu dari yang berikut:

  • msuntuk milidetik

  • sselama beberapa detik

  • mselama beberapa menit

  • hselama berjam-jam

Misalnya, 10m adalah 10 menit, dan 1h 1 jam.

catatan

Gunakan unit waktu yang paling tepat untuk fungsi datetime Anda. CloudWatch Log membatasi permintaan Anda sesuai dengan satuan waktu yang Anda pilih. Misalnya, ini membatasi 60 sebagai nilai maksimum untuk setiap permintaan yang menggunakans. Jadi, jika Anda menentukanbin(300s), CloudWatch Log sebenarnya mengimplementasikan ini sebagai 60 detik, karena 60 adalah jumlah detik dalam satu menit sehingga CloudWatch Log tidak akan menggunakan angka yang lebih tinggi dari 60 dengans. Untuk membuat ember 5 menit, gunakan bin(5m) sebagai gantinya.

Tutup untuk ms adalah 1000, tutup untuk s dan m 60, dan tutupnya h adalah 24.

Tabel berikut berisi daftar fungsi datetime yang berbeda yang dapat Anda gunakan dalam perintah query. Tabel mencantumkan jenis hasil setiap fungsi dan berisi deskripsi dari setiap fungsi.

Tip

Saat Anda membuat perintah kueri, Anda dapat menggunakan pemilih interval waktu untuk memilih periode waktu yang ingin Anda kueri. Misalnya, Anda dapat mengatur periode waktu antara interval 5 dan 30 menit; interval 1, 3, dan 12 jam; atau kerangka waktu khusus. Anda juga dapat mengatur periode waktu antara tanggal tertentu.

Fungsi Tipe hasil Deskripsi

bin(period: Period)

Stempel Waktu

Membulatkan nilai @timestamp ke periode waktu tertentu dan kemudian memotong. Misalnya, bin(5m) bulatkan nilai @timestamp ke 5 menit terdekat.

Anda dapat menggunakan ini untuk mengelompokkan beberapa entri log bersama-sama dalam kueri. Contoh berikut mengembalikan jumlah pengecualian per jam:

filter @message like /Exception/ | stats count(*) as exceptionCount by bin(1h) | sort exceptionCount desc

Satuan waktu dan singkatan berikut didukung dengan bin fungsi tersebut. Untuk semua unit dan singkatan yang menyertakan lebih dari satu karakter, menambahkan s ke pluralisasi didukung. Jadi keduanya hr dan hrs bekerja untuk menentukan jam.

  • millisecond ms msec

  • second s sec

  • minute m min

  • hour h hr

  • day d

  • week w

  • month mo mon

  • quarter q qtr

  • year y yr

datefloor(timestamp: Timestamp, period: Period)

Stempel Waktu

Memotong stempel waktu ke periode tertentu. Misalnya, datefloor(@timestamp, 1h) memotong semua nilai @timestamp ke bagian bawah jam.

dateceil(timestamp: Timestamp, period: Period)

Stempel waktu

Membulatkan stempel waktu ke periode tertentu dan kemudian memotong. Misalnya, dateceil(@timestamp, 1h) memotong semua nilai @timestamp ke bagian atas jam.

fromMillis(fieldName: number)

Stempel waktu

Menafsirkan bidang input sebagai jumlah milidetik sejak jangka waktu Unix dan mengubahnya menjadi stempel waktu.

toMillis(fieldName: Timestamp)

nomor

Mengonversi stempel waktu yang ditemukan di bidang bernama menjadi angka yang mewakili milidetik sejak jangka waktu Unix. Misalnya, toMillis(@timestamp) mengubah stempel waktu 2022-01-14T13:18:031.000-08:00 menjadi. 1642195111000

catatan

Saat ini, CloudWatch Logs Insights tidak mendukung pemfilteran log dengan stempel waktu yang dapat dibaca manusia.

Fungsi umum

Fungsi umum

Gunakan fungsi umum dalam fields dan filter perintah dan sebagai argumen untuk fungsi lainnya.

Fungsi Tipe hasil Deskripsi

ispresent(fieldName: LogField)

Boolean

Mengembalikan true jika bidang ada

coalesce(fieldName: LogField, ...fieldNames: LogField[])

LogField

Mengembalikan nilai non-null pertama dari daftar

Fungsi string alamat IP

Fungsi string alamat IP

Gunakan fungsi string alamat IP dalam filter dan fields perintah dan sebagai argumen untuk fungsi lainnya.

Fungsi Tipe hasil Deskripsi

isValidIp(fieldName: string)

boolean

Mengembalikan true jika bidang adalah alamat IPv4 atau IPv6 yang valid.

isValidIpV4(fieldName: string)

boolean

Mengembalikan true jika bidang adalah alamat IPv4 yang valid.

isValidIpV6(fieldName: string)

boolean

Mengembalikan true jika bidang adalah alamat IPv6 yang valid.

isIpInSubnet(fieldName: string, subnet: string)

boolean

Mengembalikan true jika bidang adalah alamat IPv4 atau IPv6 yang valid dengan subnet v4 atau v6 yang ditentukan. Saat Anda menentukan subnet, gunakan notasi CIDR seperti 192.0.2.0/24 atau2001:db8::/32, di mana 192.0.2.0 atau 2001:db8:: merupakan awal dari blok CIDR.

isIpv4InSubnet(fieldName: string, subnet: string)

boolean

Mengembalikan true jika bidang adalah alamat IPv4 yang valid dalam subnet v4 yang ditentukan. Saat Anda menentukan subnet, gunakan notasi CIDR seperti 192.0.2.0/24 di 192.0.2.0 mana awal blok CIDR..

isIpv6InSubnet(fieldName: string, subnet: string)

boolean

Mengembalikan true jika bidang adalah alamat IPv6 yang valid dalam subnet v6 yang ditentukan. Saat Anda menentukan subnet, gunakan notasi CIDR seperti 2001:db8::/32 di 2001:db8:: mana awal blok CIDR.

Fungsi string

Fungsi string

Gunakan fungsi string dalam fields dan filter perintah dan sebagai argumen untuk fungsi lainnya.

Fungsi Tipe hasil Deskripsi

isempty(fieldName: string)

Jumlah

Mengembalikan 1 jika bidang tidak ada atau string kosong.

isblank(fieldName: string)

Jumlah

Mengembalikan 1 jika bidang tidak ada, string kosong, atau hanya berisi spasi.

concat(str: string, ...strings: string[])

string

Menyatukan string.

ltrim(str: string)

ltrim(str: string, trimChars: string)

string

Jika fungsi tidak memiliki argumen kedua, ia menghapus spasi putih dari kiri string. Jika fungsi memiliki argumen string kedua, itu tidak menghapus spasi putih. Sebaliknya, ia menghapus karakter trimChars dari kiristr. Misalnya, ltrim("xyZxyfooxyZ","xyZ") mengembalikan "fooxyZ".

rtrim(str: string)

rtrim(str: string, trimChars: string)

string

Jika fungsi tidak memiliki argumen kedua, ia menghapus spasi putih dari kanan string. Jika fungsi memiliki argumen string kedua, itu tidak menghapus spasi putih. Sebaliknya, ia menghapus karakter trimChars dari dari kananstr. Misalnya, rtrim("xyZfooxyxyZ","xyZ") mengembalikan "xyZfoo".

trim(str: string)

trim(str: string, trimChars: string)

string

Jika fungsi tidak memiliki argumen kedua, ia menghapus spasi putih dari kedua ujung string. Jika fungsi memiliki argumen string kedua, itu tidak menghapus spasi putih. Sebaliknya, ia menghapus karakter trimChars dari kedua sisistr. Misalnya, trim("xyZxyfooxyxyZ","xyZ") mengembalikan "foo".

strlen(str: string)

nomor

Mengembalikan panjang string dalam poin kode Unicode.

toupper(str: string)

string

Mengonversi string menjadi huruf besar.

tolower(str: string)

string

Mengonversi string menjadi huruf kecil.

substr(str: string, startIndex: number)

substr(str: string, startIndex: number, length: number)

string

Mengembalikan substring dari indeks yang ditentukan oleh argumen angka ke akhir string. Jika fungsi memiliki argumen angka kedua, itu berisi panjang substring yang akan diambil. Misalnya, substr("xyZfooxyZ",3, 3) mengembalikan "foo".

replace(fieldName: string, searchValue: string, replaceValue: string)

string

Mengganti semua searchValue dalam fieldName: stringdengan replaceValue.

Misalnya, fungsi replace(logGroup,"smoke_test","Smoke") mencari peristiwa log di mana bidang logGroup berisi nilai string smoke_test dan menggantikan nilai dengan string. Smoke

strcontains(str: string, searchValue: string)

number

Mengembalikan 1 jika str berisi searchValue dan 0 sebaliknya.