Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat alarm pada log
Anda dapat membuat CloudWatch alarm yang memantau data log Anda dengan dua cara:
-
Pendekatan Alarm Log — Buat Alarm CloudWatch Log yang menjalankan kueri Wawasan Log pada jadwal dan mengevaluasi hasil agregat secara langsung terhadap ambang batas.
-
Pendekatan filter metrik — Buat filter metrik pada grup log, lalu buat alarm metrik standar pada metrik yang dihasilkan.
Buat Alarm Log
Buat Alarm Log
Anda dapat membuat CloudWatch alarm yang menggunakan kueri Wawasan CloudWatch Log untuk memantau data log secara langsung. Kueri berjalan pada jadwal menggunakan Kueri Terjadwal, dan alarm mengevaluasi hasil agregat terhadap ambang batas. Untuk informasi selengkapnya tentang cara kerja Alarm Log, lihatAlarm log.
Prasyarat
Sebelum membuat Alarm Log, Anda harus membuat peran IAM yang memberikan izin CloudWatch Log untuk menjalankan kueri terjadwal. Jika Anda juga ingin baris log disertakan dalam notifikasi Amazon SNS, Anda harus membuat peran kedua.
catatan
Jika Anda membuat Alarm Log dari CloudWatch konsol, konsol membantu Anda membuat peran ini.
Peran eksekusi kueri terjadwal
Peran eksekusi kueri terjadwal memungkinkan CloudWatch Log menjalankan kueri atas nama Anda. Peran ini diperlukan untuk semua Alarm Log untuk menjalankan kueri terjadwal. Peran harus mempercayai kepala logs.amazonaws.com layanan.
Contoh berikut menunjukkan kebijakan kepercayaan untuk peran eksekusi kueri terjadwal.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Contoh berikut menunjukkan kebijakan izin. Cakupan Resource ke ARN grup log yang ditargetkan kueri.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:region:account-id:log-group:your-log-group:*" } ] }
Peran baris log (opsional)
Peran baris log memungkinkan CloudWatch untuk mengambil baris log untuk pemberitahuan email Amazon SNS. Peran ini diperlukan hanya jika Anda menetapkan ActionLogLineCount ke nilai yang lebih besar dari 0. Peran harus mempercayai kepala cloudwatch.amazonaws.com layanan.
Contoh berikut menunjukkan kebijakan kepercayaan untuk peran baris log.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Contoh berikut menunjukkan kebijakan izin untuk peran baris log. logs:GetQueryResultsIzin diperlukan untuk mengambil baris log. Cakupan Resource ke ARN grup log yang ditargetkan kueri.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:GetQueryResults" ], "Resource": "arn:aws:logs:region:account-id:log-group:your-log-group:*" } ] }
catatan
Untuk melihat hasil kueri Log Alarm di CloudWatch konsol, pengguna IAM atau peran yang mengakses konsol harus memiliki izin. logs:GetScheduledQueryData Ini adalah API khusus konsol dan tidak tersedia melalui atau SDK AWS CLI . CloudTrailmencatat API ini sebagai peristiwa data, jadi Anda harus mengonfigurasi jejak dengan pencatatan peristiwa data untuk menangkapnya.
Membuat Alarm Log menggunakan konsol
Langkah-langkah di bagian ini menjelaskan cara menggunakan CloudWatch konsol untuk membuat Alarm Log. Anda juga dapat menggunakan AWS CLI untuk membuat Alarm Log. Untuk informasi selengkapnya, lihat Membuat Alarm Log menggunakan AWS CLI.
Untuk membuat Alarm Log
-
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Di panel navigasi, pilih Alarm.
-
Pilih Buat alarm.
-
Untuk Sumber data, pilih Log.
-
Di bawah Kueri Log:
-
Pilih Buat kueri di Log Analytics. Ini membuka halaman Log Analytics tempat Anda membuat kueri.
-
Pada halaman Log Analytics, tulis kueri Anda. Setelah selesai, pilih Lanjutkan ke Alarm di kanan atas untuk kembali ke konsol alarm.
-
Untuk ekspresi Agregasi, tentukan cara menggabungkan hasil kueri untuk mengembalikan nilai numerik untuk evaluasi alarm (misalnya,
count(*)atau).avg(latency) by endpoint
-
-
Dalam Kondisi Alarm:
-
Untuk Setiap kali hasil agregat adalah... , pilih operator perbandingan.
-
Untuk dari... , masukkan nilai ambang batas.
-
(Opsional) Di bawah Konfigurasi Tambahan:
-
Ubah Datapoint menjadi alarm untuk menentukan jumlah hasil pelanggaran yang diperlukan untuk memicu kueri N
ALARMterakhir. -
Ubah perlakuan data yang hilang untuk menentukan cara memperlakukan data yang hilang.
-
-
-
Di bawah Jadwal:
-
Untuk Frekuensi Evaluasi, pilih seberapa sering kueri berjalan (misalnya, setiap 5 menit).
-
Untuk Start time offset, jendela lookback untuk setiap eksekusi query.
-
Untuk Offset waktu akhir (opsional), akhir rentang waktu kueri sebagai offset dalam detik dari waktu saat ini.
-
-
Di bawah izin IAM:
-
Tentukan peran yang diperlukan untuk menjalankan kueri terjadwal. Anda dapat memilih untuk membuat peran baru atau menggunakan peran yang sudah ada.
-
-
Pilih Berikutnya.
-
Di bawah Konfigurasi tindakan, konfigurasikan tindakan dan pemberitahuan sesuai kebutuhan.
-
Untuk menyertakan baris log yang memicu transisi alarm di notifikasi email Amazon SNS, di bawah Sertakan hasil kueri dalam tindakan:
-
Tambahkan Jumlah hasil kueri untuk menentukan jumlah baris log yang akan disertakan.
-
Buat atau pilih peran yang ada yang digunakan untuk mendapatkan hasil kueri yang diperlukan.
-
-
-
Pilih Berikutnya.
-
Masukkan Nama dan Deskripsi opsional (mendukung Markdown).
-
(Opsional) Tambahkan tanda.
-
Pilih Berikutnya.
-
Di bawah Pratinjau dan buat, tinjau konfigurasi Anda, lalu pilih Buat alarm.
Membuat Alarm Log menggunakan AWS CLI
Anda dapat menggunakan AWS CLI put-log-alarm perintah untuk membuat Alarm Log.
Contoh berikut membuat Alarm Log yang memantau jumlah kesalahan dalam grup log dan transisi ke ALARM status ketika hitungan melebihi 100 dalam 3 dari 5 eksekusi kueri.
aws cloudwatch put-log-alarm \ --alarm-name "HighErrorCount" \ --alarm-description "Alarm when error count exceeds 100" \ --comparison-operator GreaterThanThreshold \ --threshold 100 \ --query-results-to-evaluate 5 \ --query-results-to-alarm 3 \ --treat-missing-data missing \ --alarm-actions "arn:aws:sns:region:account-id:topic-name" \ --scheduled-query-configuration '{ "QueryString": "fields @timestamp, @message | filter @message like /ERROR/", "LogGroupIdentifiers": ["/aws/lambda/my-function"], "ScheduledQueryRoleARN": "arn:aws:iam::account-id:role/ScheduledQueryRole", "AggregationExpression": "count(*)", "ScheduleConfiguration": { "ScheduleExpression": "rate(10 minutes)", "StartTimeOffset": 600 } }' \ --action-log-line-count 5 \ --action-log-line-role-arn "arn:aws:iam::account-id:role/LogLineRole"
Tabel berikut menjelaskan parameter kunci untuk put-log-alarm perintah.
| Parameter | Diperlukan | Deskripsi |
|---|---|---|
--alarm-name |
Ya | Nama alarm. Harus berisi hanya UTF-8 karakter. |
--comparison-operator |
Ya | Operator perbandingan untuk evaluasi ambang batas. Nilai yang valid:GreaterThanThreshold,GreaterThanOrEqualToThreshold,LessThanThreshold,LessThanOrEqualToThreshold. |
--threshold |
Ya | Nilai ambang numerik untuk dibandingkan. |
--query-results-to-evaluate |
Ya | Jumlah eksekusi kueri terbaru untuk dievaluasi (N in M-out-of-N). |
--query-results-to-alarm |
Ya | Jumlah hasil pelanggaran yang diperlukan untuk memicu ALARM (M in M-out-of-N). |
--treat-missing-data |
Tidak | Bagaimana memperlakukan data yang hilang. Nilai yang valid: missing (default),notBreaching,breaching,ignore. |
--scheduled-query-configuration |
Ya | Konfigurasi kueri termasuk string kueri, pengidentifikasi grup log, ARN peran kueri terjadwal, ekspresi agregasi, dan konfigurasi jadwal. |
--action-log-line-count |
Tidak | Jumlah baris log untuk disertakan dalam notifikasi email Amazon SNS (0-50). Default-nya adalah 0. |
--action-log-line-role-arn |
Tidak | ARN dari peran IAM yang dipercaya. cloudwatch.amazonaws.com Diperlukan jika action-log-line-count lebih besar dari 0. |
Membuat Alarm Log menggunakan AWS CloudFormation
Anda dapat menggunakan jenis AWS::CloudWatch::LogAlarm sumber daya untuk membuat Alarm Log dalam AWS CloudFormation templat.
Contoh template berikut membuat Log Alarm yang memantau jumlah kesalahan.
AWSTemplateFormatVersion: '2010-09-09' Resources: HighErrorCountAlarm: Type: AWS::CloudWatch::LogAlarm Properties: AlarmName: HighErrorCount AlarmDescription: Alarm when error count exceeds 100 ComparisonOperator: GreaterThanThreshold Threshold: 100 QueryResultsToEvaluate: 5 QueryResultsToAlarm: 3 TreatMissingData: missing ActionLogLineCount: 5 ActionLogLineRoleArn: !GetAtt LogLineRole.Arn ScheduledQueryConfiguration: QueryString: "fields @timestamp, @message | filter @message like /ERROR/" LogGroupIdentifiers: - /aws/lambda/my-function ScheduledQueryRoleARN: !GetAtt ScheduledQueryRole.Arn AggregationExpression: "count(*)" ScheduleConfiguration: ScheduleExpression: "rate(10 minutes)" StartTimeOffset: 600 AlarmActions: - !Ref AlarmSNSTopic
Buat CloudWatch alarm berdasarkan filter metrik grup log
Prosedur yang diuraikan pada bagian ini akan menjelaskan cara membuat alarm berdasarkan filter metrik grup log. Dengan filter metrik, Anda dapat mencari istilah dan pola dalam data log saat data dikirim CloudWatch. Untuk informasi selengkapnya, lihat Membuat metrik dari peristiwa log menggunakan filter di Panduan Pengguna CloudWatch Log Amazon. Sebelum Anda membuat sebuah alarm berdasarkan filter metrik grup log, Anda harus terlebih dahulu menyelesaikan tindakan-tindakan berikut:
-
Membuat sebuah grup log. Untuk informasi selengkapnya, lihat Bekerja dengan grup log dan aliran log di Panduan Pengguna CloudWatch Log Amazon.
-
Membuat sebuah filter metrik. Untuk informasi selengkapnya, lihat Membuat filter metrik untuk grup log di Panduan Pengguna CloudWatch Log Amazon.
Cara membuat sebuah alarm berdasarkan pada filter metrik grup log
-
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Dari panel navigasi, silakan pilih Log, kemudian pilih Grup log.
-
Pilih grup log yang menyertakan filter metrik Anda.
-
Pilih Filter metrik.
-
Pada tab filter metrik, silakan pilih kotak untuk filter metrik yang ingin Anda gunakan sebagai dasar alarm Anda.
-
Pilih Buat alarm.
-
(Opsional) Pada Metrik, sunting Nama metrik, Statistik, dan Periode.
-
Pada Ketentuan, tentukan hal-hal berikut:
-
Untuk Jenis ambang batas, silakan pilih Statis atau Deteksi anomali.
-
Untuk Kapanpun
your-metric-name. , pilih Lebih Besar,, Greater/EqualLower/Equal, atau Lebih Rendah. -
Kemudian untuk dari . . ., silakan masukkan angka untuk nilai ambang batas Anda.
-
-
Pilih Konfigurasi tambahan.
-
Untuk Titik data untuk alarm, Anda harus menentukan berapa banyak titik data yang memicu alarm Anda sehingga statusnya beralih menjadi
ALARM. Jika Anda menentukan nilai yang cocok, maka alarm Anda akan beralih statusnya menjadiALARMjika banyak periode berturut-turut yang melanggar. Untuk membuat M-out-of-N alarm, tentukan angka untuk nilai pertama yang lebih rendah dari angka yang Anda tentukan untuk nilai kedua. Untuk informasi selengkapnya, lihat Evaluasi alarm. -
Untuk Perlakuan data yang hilang, silakan pilih opsi untuk menentukan cara menangani data yang hilang saat alarm Anda dievaluasi.
-
-
Pilih Berikutnya.
-
Untuk Notifikasi, Anda harus menentukan topik Amazon SNS yang akan mendapatkan notifikasi saat alarm Anda berada dalam status
ALARM,OK, atauINSUFFICIENT_DATA.-
(Opsional) Untuk mengirimkan beberapa notifikasi untuk status alarm yang sama atau status alarm yang berbeda, silakan pilih Tambahkan notifikasi.
-
(Opsional) Jika tidak ingin mengirimkan notifikasi, silakan pilih Hapus.
-
-
Agar alarm dapat melakukan tindakan penskalaan otomatis, EC2, Lambda atau Systems Manager, pilih tombol yang sesuai dan pilih status alarm serta tindakan yang harus dilakukan. Jika Anda memilih sebuah fungsi Lambda sebagai tindakan alarm, maka Anda menentukan nama fungsi atau ARN, dan Anda dapat memilih versi tertentu dari fungsi tersebut secara opsional.
Alarm dapat melakukan tindakan Systems Manager hanya ketika masuk ke status ALARM. Untuk informasi selengkapnya tentang tindakan Systems Manager, lihat Mengkonfigurasi CloudWatch untuk membuat OpsItems dari alarm dan pembuatan Insiden.
catatan
Untuk membuat alarm yang melakukan tindakan SSM Incident Manager, Anda harus memiliki izin tertentu. Untuk informasi selengkapnya, lihat contoh Identity-based kebijakan untuk Manajer Insiden AWS Systems Manager.
-
Pilih Berikutnya.
-
Untuk Nama dan deskripsi, Anda harus memasukkan nama dan deskripsi untuk alarm Anda. Nama harus berisi hanya UTF-8 karakter, dan tidak dapat berisi karakter kontrol ASCII. Deskripsi dapat mencakup pemformatan penurunan harga, yang hanya ditampilkan di tab Detail alarm di CloudWatch konsol. Penurunan harga dapat Anda gunakan untuk menambahkan tautan ke runbook atau sumber daya internal lainnya.
-
Untuk Pratinjau dan buat, silakan periksa apakah konfigurasi Anda sudah benar, dan pilih Buat alarm.