Memantau aktivitas aplikasi dengan menggunakan Wawasan CloudWatch Log - AWS Prescriptive Guidance

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

Memantau aktivitas aplikasi dengan menggunakan Wawasan CloudWatch Log

Ram Kandaswamy, Amazon Web Services

Ringkasan

Pola ini memberikan solusi untuk mendeteksi dan memperingatkan pengecualian aplikasi secara otomatis dengan menggunakan Amazon CloudWatch Logs Insights. Dengan menerapkan analisis log otomatis dan peringatan, Anda dapat dengan cepat mengidentifikasi dan menanggapi masalah aplikasi di lingkungan produksi Anda.

Log memainkan peran penting dalam memantau perilaku sistem, mengidentifikasi masalah, dan memastikan kinerja yang optimal. Selama proses migrasi, file log sangat berharga untuk memvalidasi fungsi sistem di lingkungan baru, mendeteksi masalah kompatibilitas, dan mengidentifikasi perilaku yang tidak terduga. Masalah bisa terkait dengan operasi atau keamanan. Untuk masalah terkait keamanan, memungkinkan deteksi upaya akses yang tidak sah atau aktivitas mencurigakan sejak dini sangat penting untuk menjaga keamanan dan kepatuhan terhadap peraturan. Kemampuan ini sangat penting ketika berhadapan dengan data sensitif atau sistem kritis.

Pola ini sangat berharga bagi tim yang perlu melakukan hal berikut:

  • Pertahankan ketersediaan aplikasi yang tinggi.

  • Menanggapi masalah produksi dengan cepat.

  • Analisis kesalahan khusus aplikasi yang tidak ditangkap oleh Layanan AWS log.

  • Lakukan analisis log sesuai permintaan tanpa infrastruktur yang dibangun sebelumnya.

CloudWatch Logs Insights optimal untuk menganalisis log yang dihasilkan aplikasi di mana konteks kesalahan hanya ada dalam kode aplikasi Anda. CloudWatch Log Insights unggul dalam tugas-tugas berikut:

  • Kueri data log tidak terstruktur atau semi-terstruktur.

  • Lakukan analisis sesuai permintaan selama respons insiden.

  • Korelasikan peristiwa di beberapa grup log.

  • Buat visualisasi cepat tanpa alat eksternal.

Prasyarat dan batasan

Prasyarat

  • Aplikasi produksi yang digunakan secara aktif Akun AWS

  • Pemahaman dasar tentang format logging aplikasi produksi dan pola pengecualian

  • Log aplikasi dikonfigurasi untuk streaming ke Amazon CloudWatch Logs

Batasan

Arsitektur

Diagram berikut menunjukkan cara CloudWatch Logs Insights mengevaluasi log sumber daya dan mengirimkan visualisasi data yang relevan ke dasbor. CloudWatch

CloudWatch Logs Insights mengevaluasi log sumber daya dan mengirimkan visualisasi data ke dasbor.

Diagram menunjukkan alur kerja berikut:

  1. Sumber daya mempublikasikan log ke CloudWatch Log. Sumber daya dapat menyertakan AWS sumber daya seperti instans Amazon Elastic Compute Cloud (Amazon EC2) atau bucket Amazon Simple Storage Service (Amazon S3). Contoh lain termasuk sistem lokal dengan CloudWatch Agen diinstal yang dapat mempublikasikan log ke CloudWatch.

  2. CloudWatch Filter Wawasan Log untuk string pola yang relevan. Contoh string pola pencarian termasuk “kesalahan”, “pengecualian”, atau ekspresi reguler tertentu.

  3. Biasanya, tim dukungan produksi atau pengembang menambahkan visualisasi pola ke CloudWatch dasbor.

Otomatisasi dan skala

Pengembang dapat mengotomatiskan solusi pola ini dengan menggunakan AWS Cloud Development Kit (AWS CDK), AWS CloudFormation, atau AWS SDKs untuk menangani beberapa pola string. Tim dapat memasukkan otomatisasi ini ke dalam proses integrasi dan penerapan berkelanjutan (CI/CD) mereka. DevOps

Alat

Layanan AWS

Praktik terbaik

Efisiensi kueri

  • Tentukan dan konfigurasikan grup log untuk menganalisis data log yang relevan.

  • Gunakan penjelajah lapangan untuk memahami struktur dan bidang yang tersedia di data log Anda.

  • Tulis kueri yang efisien dengan menggunakan sintaks kueri CloudWatch Logs Insights.

  • Sesuaikan kueri sampel dengan kebutuhan spesifik Anda untuk analisis yang lebih cepat.

  • Batasi rentang waktu kueri untuk mengurangi data yang dipindai dan meningkatkan kinerja.

  • Simpan kueri untuk penggunaan di masa mendatang untuk menghemat waktu dan memastikan analisis yang konsisten.

Keamanan

Optimalisasi biaya

  • CloudWatch Log Insights mengenakan biaya per GB data yang dipindai per kueri. Rentang waktu yang sempit dan targetkan grup log tertentu untuk mengurangi biaya.

  • Konfigurasikan kebijakan penyimpanan log yang sesuai untuk mengelola biaya penyimpanan.

  • Untuk analisis yang sering dari kumpulan data historis besar, pertimbangkan untuk mengekspor log ke Amazon S3 dan menggunakan Amazon Athena.

  • Tinjau CloudWatch harga untuk memahami implikasi biaya untuk kasus penggunaan Anda.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Konfigurasikan izin IAM.

Untuk mengonfigurasi izin IAM, lakukan hal berikut:

  1. Identifikasi peran IAM yang digunakan oleh aplikasi Anda untuk menulis log dan oleh pengguna atau layanan yang akan membuat dasbor, kueri, dan alarm.

  2. Untuk peran aplikasi, tambahkan tindakan dan sumber daya API berikut ke kebijakan:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  3. Untuk mengelola CloudWatch sumber daya, tambahkan hal berikut ke kebijakan:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:GetDashboard", "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "cloudwatch:PutMetricAlarm" ], "Resource": "*" } ] }

Untuk informasi tentang cara membuat kebijakan IAM atau menambahkan izin ke kebijakan yang ada, lihat Menentukan izin IAM khusus dengan kebijakan yang dikelola pelanggan dan Mengedit kebijakan IAM di Panduan Pengguna IAM. Untuk informasi selengkapnya, lihat Identitas dan manajemen akses untuk referensi izin CloudWatch CloudWatch Log dan Log Amazon di Panduan Pengguna CloudWatch Log Amazon.

Administrator AWS, AWS DevOps, administrator sistem AWS, Administrator cloud, arsitek Cloud, DevOps insinyur

Membuat sebuah grup log.

Untuk membuat grup log, gunakan salah satu opsi berikut:

  • Buat atau buka file CloudFormation template (format YAMAL atau JSON) dengan ekstensi .yaml atau.json. (Kode berikut menggunakan format YAMB.) Tambahkan definisi sumber daya berikut ke bagian Sumber daya template Anda:

    MyLogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName: my-log-group

    Untuk informasi selengkapnya, lihat Mulai Cepat: Gunakan AWS CloudFormation untuk memulai CloudWatch Log di Panduan Pengguna CloudWatch Log Amazon.

Administrator AWS, AWS DevOps, administrator sistem AWS, Administrator cloud, arsitek Cloud, DevOps insinyur

Hasilkan kueri Wawasan CloudWatch Log.

Untuk membuat dan menyimpan kueri Wawasan CloudWatch Log, lakukan hal berikut:

  1. Buka CloudWatch konsol.

  2. Arahkan ke Wawasan Log.

  3. Buat kueri Anda dengan menggunakan salah satu metode berikut:

    • Mulailah dengan kueri sampel dari bagian Kueri.

    • Tulis kueri khusus.

    • Ubah contoh query berikut:

      fields @timestamp, @message | filter @message like /(?i)exception/|stats count() by bin(30s)

      Kueri ini memeriksa file log, mengekstrak stempel waktu dan konten pesan, memfilter kata “pengecualian” (case-insensitive), dan menghitung kejadian dalam interval 30 detik.

Administrator AWS, AWS DevOps, administrator sistem AWS, Administrator cloud, arsitek Cloud, DevOps insinyur

Buat visualisasi di CloudWatch dasbor.

Untuk menggunakan CloudWatch dasbor untuk membuat visualisasi, lakukan hal berikut:

  1. Buka CloudWatch konsol, dan buat CloudWatch dasbor (jika Anda belum memilikinya) atau buka dasbor yang ada.

  2. Tambahkan visualisasi pemantauan pengecualian Anda. Bagan batang, garis, dan lingkaran tersedia, tergantung pada kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Menggunakan widget di CloudWatch dasbor di Panduan Pengguna CloudWatch Log Amazon. Untuk visualisasi data real-time, Anda dapat menyesuaikan widget untuk memenuhi kebutuhan Anda.

Untuk informasi selengkapnya tentang opsi dan kemampuan dasbor, lihat Menggunakan CloudWatch dasbor Amazon dan Membuat CloudWatch dasbor fleksibel dengan variabel dasbor di Panduan Pengguna CloudWatch Log Amazon.

Administrator AWS, AWS DevOps, administrator sistem AWS, Administrator cloud, arsitek Cloud, DevOps insinyur

Pemecahan masalah

IsuSolusi

Tidak dapat melihat hasil kueri atau kueri tampaknya rusak

Mulailah dengan kueri kerja yang dimodifikasi dari kueri sampel. Lakukan perubahan inkremental kecil pada bagian kueri (seperti filter atau bidang), dan manfaatkan fitur generator kueri CloudWatch Log.

Grup log tidak membuat aliran log

Dalam kebijakan IAM, pastikan bahwa sumber daya untuk CreateLogStreamdan CreateLogGroupoperasi dilengkapi dengan nilai karakter (*) wildcard. create Operasi tidak akan berhasil tanpa izin wildcard ini.

Batas waktu kueri atau kinerja lambat

Kurangi rentang waktu, targetkan grup log tertentu, atau sederhanakan kueri. Pola ekspresi reguler (regex) yang kompleks dan rentang waktu yang besar meningkatkan waktu kueri.

Tidak ada data yang dikembalikan untuk rentang waktu yang valid

Verifikasi pemilihan grup log dan periksa apakah log sedang dicerna (tinjau aliran log), dan konfirmasikan pola filter cocok dengan format log Anda.

Sumber daya terkait