Mencari dan menganalisis log masuk CloudWatch - AWS Bimbingan Preskriptif

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

Mencari dan menganalisis log masuk CloudWatch

Setelah log dan metrik ditangkap ke dalam format dan lokasi yang konsisten, Anda dapat mencari dan menganalisisnya untuk membantu meningkatkan efisiensi operasional, selain mengidentifikasi dan memecahkan masalah. Kami menyarankan Anda menangkap log Anda dalam format yang terbentuk dengan baik (misalnya, JSON) untuk membuatnya lebih mudah untuk mencari dan menganalisis log Anda. Sebagian besar beban kerja menggunakan kumpulanAWS sumber daya seperti jaringan, komputasi, penyimpanan, dan database. Jika memungkinkan, Anda harus secara kolektif menganalisis metrik dan log dari sumber daya ini dan menghubungkannya agar dapat memantau dan mengelola semuaAWS beban kerja Anda secara efektif.

CloudWatch menyediakan beberapa fitur untuk membantu menganalisis log dan metrik, seperti CloudWatch Application Insights untuk secara kolektif menentukan dan memantau metrik dan log untuk aplikasi di berbagaiAWS sumber daya, DeteksiCloudWatch Anomali untuk menampilkan anomali untuk Anda metrik, dan CloudWatch Logs Insights untuk secara interaktif mencari dan menganalisis data log Anda di CloudWatch Logs.

Secara kolektif memantau dan menganalisis aplikasi dengan CloudWatch Application Insights

Pemilik aplikasi dapat menggunakan Amazon CloudWatch Application Insights untuk menyiapkan pemantauan dan analisis otomatis untuk beban kerja. Ini dapat dikonfigurasi selain pemantauan tingkat sistem standar yang dikonfigurasi untuk semua beban kerja di akun. Menyiapkan pemantauan melalui CloudWatch Application Insights juga dapat membantu tim aplikasi secara proaktif menyelaraskan operasi dan mengurangi mean time to recovery (MTTR). CloudWatch Wawasan Aplikasi dapat membantu mengurangi upaya yang diperlukan untuk menetapkan penebangan dan pemantauan tingkat aplikasi. Ini juga menyediakan kerangka kerja berbasis komponen yang membantu tim dalam membagi tanggung jawab penebangan dan pemantauan.

CloudWatch Application Insights menggunakan grup sumber daya untuk mengidentifikasi sumber daya yang harus dipantau secara kolektif sebagai aplikasi. Sumber daya yang didukung dalam grup sumber daya menjadi komponen CloudWatch aplikasi Application Insights yang ditentukan secara individual. Setiap komponen CloudWatch aplikasi Application Insights Anda memiliki log, metrik, dan alarmnya sendiri.

Untuk log, Anda menentukan kumpulan pola log yang harus digunakan untuk komponen dan dalam CloudWatch aplikasi Application Insights Anda. Kumpulan pola log adalah kumpulan pola log untuk dicari berdasarkan ekspresi reguler, bersama dengan tingkat keparahan rendah, sedang, atau tinggi saat pola terdeteksi. Untuk metrik, Anda memilih metrik untuk memantau setiap komponen dari daftar metrik khusus layanan dan didukung. Untuk alarm, CloudWatch Application Insights secara otomatis membuat dan mengonfigurasi alarm deteksi standar atau anomali untuk metrik yang sedang dipantau. CloudWatch Application Insights memiliki konfigurasi otomatis untuk metrik dan pengambilan log untuk teknologi yang diuraikan dalam Log dan metrik yang didukung oleh CloudWatch Application Insights dalam CloudWatch dokumentasi. Diagram berikut menunjukkan hubungan antara komponen CloudWatch Application Insights dan konfigurasi logging dan monitoring mereka. Setiap komponen telah menentukan log dan metriknya sendiri untuk dipantau menggunakan CloudWatch log dan metrik.

CloudWatch Application Insights memiliki konfigurasi otomatis khusus teknologi untuk metrik dan pengambilan log.

Instans EC2 yang dipantau oleh CloudWatch Application Insights memerlukan Systems Manager dan CloudWatch agen serta izin. Untuk informasi selengkapnya tentang ini, lihat Prasyarat untuk mengonfigurasi aplikasi dengan CloudWatch Application Insights dalam CloudWatch dokumentasi. CloudWatch Application Insights menggunakan Systems Manager untuk menginstal dan memperbarui CloudWatch agen. Metrik dan log yang dikonfigurasi di CloudWatch Application Insights membuat file konfigurasi CloudWatch agen yang disimpan dalam parameter Systems Manager denganAmazonCloudWatch-ApplicationInsights-SSMParameter awalan untuk setiap komponen CloudWatch Application Insights. Ini menghasilkan file konfigurasi CloudWatch agen terpisah yang ditambahkan ke direktori konfigurasi CloudWatch agen pada instans EC2. Perintah Systems Manager dijalankan untuk menambahkan konfigurasi ini ke konfigurasi aktif pada instans EC2. Menggunakan CloudWatch Application Insights tidak memengaruhi pengaturan konfigurasi CloudWatch agen yang ada. Anda dapat menggunakan CloudWatch Application Insights selain konfigurasi CloudWatch agen tingkat aplikasi dan sistem Anda sendiri. Namun, Anda harus memastikan bahwa konfigurasinya tidak tumpang tindih.

Melakukan analisis CloudWatch log dengan Wawasan Log

CloudWatch Wawasan Log memudahkan pencarian beberapa grup log dengan menggunakan bahasa kueri sederhana. Jika log aplikasi Anda terstruktur dalam format JSON, Wawasan CloudWatch Log secara otomatis menemukan bidang JSON di seluruh aliran log Anda dalam beberapa grup log. Anda dapat menggunakan Wawasan CloudWatch Log untuk menganalisis log aplikasi dan sistem Anda, yang menyimpan kueri Anda untuk penggunaan di future. Sintaks kueri untuk Wawasan CloudWatch Log mendukung fungsi seperti agregasi dengan fungsi, misalnya, sum (), avg (), count (), min (), dan max (), yang dapat membantu mengatasi masalah aplikasi atau analisis kinerja Anda.

Jika Anda menggunakan format metrik tersemat untuk membuat CloudWatch metrik, Anda dapat mengkueri log format metrik tersemat untuk menghasilkan metrik satu kali dengan menggunakan fungsi agregasi yang didukung. Ini membantu mengurangi biaya CloudWatch pemantauan Anda dengan menangkap titik data yang diperlukan untuk menghasilkan metrik tertentu sesuai kebutuhan, alih-alih secara aktif menangkapnya sebagai metrik khusus. Ini sangat efektif untuk dimensi dengan kardinalitas tinggi yang akan menghasilkan sejumlah besar metrik. CloudWatch Container Insights juga mengambil pendekatan ini dan menangkap data kinerja terperinci tetapi hanya menghasilkan CloudWatch metrik untuk subset data ini.

Misalnya, entri metrik tertanam berikut ini hanya menghasilkan sekumpulan CloudWatch metrik terbatas dari data metrik yang diambil dalam pernyataan format metrik tertanam:

{ "AutoScalingGroupName": "eks-e0bab7f4-fa6c-64ba-dbd9-094aee6cf9ba", "CloudWatchMetrics": [ { "Metrics": [ { "Unit": "Count", "Name": "pod_number_of_container_restarts" } ], "Dimensions": [ [ "PodName", "Namespace", "ClusterName" ] ], "Namespace": "ContainerInsights" } ], "ClusterName": "eksdemo", "InstanceId": "i-03b21a16b854aa4ca", "InstanceType": "t3.medium", "Namespace": "amazon-cloudwatch", "NodeName": "ip-172-31-10-211.ec2.internal", "PodName": "cloudwatch-agent", "Sources": [ "cadvisor", "pod", "calculated" ], "Timestamp": "1605111338968", "Type": "Pod", "Version": "0", "pod_cpu_limit": 200, "pod_cpu_request": 200, "pod_cpu_reserved_capacity": 10, "pod_cpu_usage_system": 3.268605094109382, "pod_cpu_usage_total": 8.899539221131045, "pod_cpu_usage_user": 4.160042847048305, "pod_cpu_utilization": 0.44497696105655227, "pod_cpu_utilization_over_pod_limit": 4.4497696105655224, "pod_memory_cache": 4096, "pod_memory_failcnt": 0, "pod_memory_hierarchical_pgfault": 0, "pod_memory_hierarchical_pgmajfault": 0, "pod_memory_limit": 209715200, "pod_memory_mapped_file": 0, "pod_memory_max_usage": 43024384, "pod_memory_pgfault": 0, "pod_memory_pgmajfault": 0, "pod_memory_request": 209715200, "pod_memory_reserved_capacity": 5.148439982463127, "pod_memory_rss": 38481920, "pod_memory_swap": 0, "pod_memory_usage": 42803200, "pod_memory_utilization": 0.6172094650851303, "pod_memory_utilization_over_pod_limit": 11.98828125, "pod_memory_working_set": 25141248, "pod_network_rx_bytes": 3566.4174629544723, "pod_network_rx_dropped": 0, "pod_network_rx_errors": 0, "pod_network_rx_packets": 3.3495665260575094, "pod_network_total_bytes": 4283.442421354973, "pod_network_tx_bytes": 717.0249584005006, "pod_network_tx_dropped": 0, "pod_network_tx_errors": 0, "pod_network_tx_packets": 2.6964010534762948, "pod_number_of_container_restarts": 0, "pod_number_of_containers": 1, "pod_number_of_running_containers": 1, "pod_status": "Running" }

Namun, Anda dapat menanyakan metrik yang diambil untuk mendapatkan wawasan lebih lanjut. Sebagai contoh, Anda dapat menjalankan kueri berikut untuk melihat 20 Pod terbaru dengan kesalahan halaman memori:

fields @timestamp, @message | filter (pod_memory_pgfault > 0) | sort @timestamp desc | limit 20

Melakukan analisis log dengan Amazon OpenSearch Service

CloudWatch terintegrasi dengan Amazon OpenSearch Service dengan memungkinkan Anda melakukan streaming data log dari grup CloudWatch log ke klaster OpenSearch Layanan Amazon pilihan Anda dengan filter langganan. Anda dapat menggunakan CloudWatch untuk pengambilan dan analisis log dan metrik primer, lalu menambahkannya dengan Amazon OpenSearch Service untuk kasus penggunaan berikut:

  • Kontrol akses data berbutir halus — Amazon OpenSearch Service memungkinkan Anda membatasi akses ke data hingga ke tingkat bidang dan membantu menganonimkan data di bidang berdasarkan izin pengguna. Ini berguna jika Anda ingin mendukung pemecahan masalah tanpa mengekspos data sensitif.

  • Agregat dan log pencarian di beberapa akun, Wilayah, dan infrastruktur — Anda dapat melakukan streaming log dari beberapa akun dan Wilayah ke dalam klaster OpenSearch Layanan Amazon yang umum. Tim operasi terpusat Anda dapat menganalisis tren, masalah, dan melakukan analitik di seluruh akun dan Wilayah. Streaming CloudWatch log ke Amazon OpenSearch Service juga membantu Anda mencari dan menganalisis aplikasi Multi-wilayah di lokasi pusat.

  • Kirim dan perkaya log langsung ke Amazon OpenSearch Service dengan menggunakan ElasticSearch agen — Komponen tumpukan aplikasi dan teknologi Anda dapat menggunakan OS yang tidak didukung oleh CloudWatch agen. Anda mungkin juga ingin memperkaya dan mengubah data log sebelum dikirim ke solusi logging Anda. Amazon OpenSearch Service mendukung klien Elasticsearch standar seperti pengirim data keluarga Elastic Beats dan Logstash yang mendukung pengayaan dan transformasi log sebelum mengirim data log ke Amazon OpenSearch Service.

  • Solusi manajemen operasi yang ada menggunakan Tumpukan ElasticSearch, Logstash, Kibana (ELK) untuk pencatatan dan pemantauan - Anda mungkin sudah memiliki investasi yang signifikan di Amazon OpenSearch Service atau Elasticsearch sumber terbuka dengan banyak beban kerja yang sudah dikonfigurasi. Anda mungkin juga memiliki dasbor operasional yang telah dibuat di Kibana yang ingin Anda gunakan.

Jika Anda tidak berencana untuk menggunakan CloudWatch log, Anda dapat menggunakan agen, driver log, dan pustaka yang didukung Amazon OpenSearch Service (misalnya, Fluent Bit, Fluentd, logstash, dan Open Distro for ElasticSearch API) untuk mengirimkan log Anda langsung ke Amazon OpenSearch Service dan bypass CloudWatch. Namun, Anda juga harus menerapkan solusi untuk menangkap log yang dihasilkan olehAWS layanan. CloudWatch Log adalah solusi penangkapan log utama untuk banyakAWS layanan dan beberapa layanan secara otomatis membuat grup log baru CloudWatch. Misalnya, Lambda membuat grup log baru untuk setiap fungsi Lambda. Anda dapat menyiapkan filter langganan untuk grup log untuk melakukan streaming lognya ke Amazon OpenSearch Service. Anda dapat mengonfigurasi filter langganan secara manual untuk setiap grup log individual yang ingin Anda streaming ke Amazon OpenSearch Service. Atau, Anda dapat menerapkan solusi yang secara otomatis berlangganan grup log baru ke ElasticSearch klaster. Anda dapat melakukan streaming log ke ElasticSearch klaster di akun yang sama atau akun terpusat. Streaming log ke ElasticSearch klaster di akun yang sama membantu pemilik beban kerja untuk menganalisis dan mendukung beban kerja mereka dengan lebih baik.

Anda harus mempertimbangkan untuk menyiapkan ElasticSearch klaster di akun terpusat atau bersama untuk menggabungkan log di seluruh akun, Wilayah, dan aplikasi Anda. Misalnya,AWS Control Tower menyiapkan akun Arsip Log yang digunakan untuk pencatatan terpusat. Saat akun baru dibuatAWS Control Tower,AWS CloudTrail danAWS Config lognya dikirimkan ke bucket S3 di akun terpusat ini. Pencatatan yang diinstrumentasi olehAWS Control Tower adalah untuk konfigurasi, perubahan, dan pencatatan audit.

Untuk membuat solusi analisis log aplikasi terpusat dengan Amazon OpenSearch Service, Anda dapat menerapkan satu atau lebih klaster Amazon OpenSearch Service terpusat ke akun logging terpusat dan mengonfigurasi grup log di akun Anda yang lain untuk melakukan streaming log ke Amazon OpenSearch Service terpusat cluster.

Anda dapat membuat klaster Amazon OpenSearch Service terpisah untuk menangani berbagai aplikasi atau lapisan arsitektur cloud Anda yang mungkin didistribusikan ke seluruh akun Anda. Menggunakan klaster Amazon OpenSearch Service yang terpisah membantu Anda mengurangi risiko keamanan dan ketersediaan dan memiliki klaster Amazon OpenSearch Service yang umum dapat mempermudah pencarian dan menghubungkan data dalam klaster yang sama.