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 mempertahankan ketersediaan aplikasi yang tinggi dan dengan cepat menanggapi masalah produksi. Ini relevan di berbagai industri dan kasus penggunaan. Misalnya, dalam telekomunikasi, ini memungkinkan identifikasi cepat kesalahan konfigurasi jaringan atau pemadaman dan deteksi jalur perutean suboptimal untuk menentukan potensi kemacetan. Dalam domain Internet of Things (IoT), komponen Greengrass dapat mempublikasikan log ke CloudWatch, memungkinkan teknik ini untuk mengekstrak detail log yang relevan dan menyajikannya di dasbor yang komprehensif.

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

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 YAMB 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:

  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.

Sumber daya terkait