Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemantauan
Pemantauan adalah proses mengumpulkan metrik yang berbeda, seperti CPU dan memori, dan menyimpannya dalam database deret waktu seperti Amazon Managed Service untuk Prometheus. Sistem pemantauan dapat berbasis push atau pull based. Dalam sistem berbasis push, sumber mendorong metrik secara berkala ke basis data deret waktu. Dalam sistem berbasis tarik, scraper mengikis metrik dari berbagai sumber dan menyimpannya dalam database deret waktu. Pengembang dapat menganalisis metrik, memfilter metrik, dan memplot mereka dari waktu ke waktu untuk memvisualisasikan kinerja. Melaksanakan pemantauan dengan sukses dapat dibagi menjadi dua bidang luas: aplikasi dan infrastruktur.
Untuk pengembang aplikasi, metrik berikut sangat penting:
-
Latensi — Waktu yang dibutuhkan untuk menerima tanggapan
-
Permintaan throughput — Jumlah total permintaan yang ditangani per detik
-
Tingkat kesalahan permintaan - Jumlah total kesalahan
Tangkap pemanfaatan sumber daya, saturasi, dan jumlah kesalahan untuk setiap sumber daya (seperti wadah aplikasi, database) yang terlibat dalam transaksi bisnis. Misalnya, saat memantau penggunaan CPU, Anda dapat melacak pemanfaatan CPU rata-rata, beban rata-rata, dan beban puncak selama uji kinerja dijalankan. Ketika sumber daya mencapai saturasi selama pengujian stres, tetapi mungkin tidak mencapai saturasi selama kinerja berjalan untuk periode waktu yang lebih singkat.
Metrik
Aplikasi dapat menggunakan aktuator yang berbeda, seperti aktuator boot pegas, untuk memantau aplikasinya. Pustaka tingkat produksi ini umumnya mengekspos titik akhir REST untuk memantau informasi tentang aplikasi yang sedang berjalan. Pustaka dapat memantau infrastruktur yang mendasarinya, platform aplikasi, dan sumber daya lainnya. Jika salah satu metrik default tidak memenuhi persyaratan, pengembang harus menerapkan metrik khusus. Metrik khusus dapat membantu melacak indikator kinerja kunci bisnis (KPI) yang tidak dapat dilacak melalui data dari implementasi default. Misalnya, Anda mungkin ingin melacak operasi bisnis seperti latensi integrasi API pihak ketiga atau jumlah total transaksi yang diselesaikan.
Kardinalitas
Kardinalitas mengacu pada jumlah deret waktu yang unik dari suatu metrik. Metrik diberi label untuk memberikan informasi tambahan. Misalnya, aplikasi berbasis REST yang melacak jumlah permintaan untuk API tertentu menunjukkan kardinalitas 1. Jika Anda menambahkan label pengguna untuk mengidentifikasi jumlah permintaan per pengguna, kardinalitas meningkat secara proporsional dengan jumlah pengguna. Dengan menambahkan label yang menciptakan kardinalitas, Anda dapat mengiris dan memotong metrik berdasarkan berbagai grup. Penting untuk menggunakan label yang tepat untuk kasus penggunaan yang tepat karena kardinalitas meningkatkan jumlah rangkaian metrik dalam database deret waktu pemantauan backend.
Resolusi
Dalam pengaturan pemantauan tipikal, aplikasi pemantauan dikonfigurasi untuk mengikis metrik dari aplikasi secara berkala. Periodisitas pengikisan mendefinisikan granularitas data pemantauan. Metrik yang dikumpulkan pada interval yang lebih pendek cenderung memberikan tampilan kinerja yang lebih akurat karena lebih banyak titik data yang tersedia. Namun, beban pada database deret waktu meningkat karena lebih banyak entri disimpan. Biasanya granularitas 60 detik adalah resolusi standar dan 1 detik adalah resolusi tinggi.
DevOps tim
Pengembang aplikasi sering meminta DevOps insinyur untuk mengatur lingkungan pemantauan untuk memvisualisasikan metrik infrastruktur dan aplikasi. DevOps Insinyur harus mengatur lingkungan yang dapat diskalakan dan mendukung alat visualisasi data yang digunakan oleh pengembang aplikasi. Ini melibatkan pengikisan data pemantauan dari berbagai sumber dan mengirim data ke database deret waktu pusat seperti Amazon Managed Service untuk Prometheus.
Pemantauan backend
Layanan backend pemantauan mendukung pengumpulan, penyimpanan, kueri, dan visualisasi data metrik. Ini biasanya database deret waktu seperti Amazon Managed Service untuk Prometheus atau InfluxDB. InfluxData Dengan menggunakan mekanisme penemuan layanan, kolektor pemantauan dapat mengumpulkan metrik dari berbagai sumber dan menyimpannya. Sementara pengujian kinerja, penting untuk menyimpan data metrik sehingga dapat dicari di lain waktu. Kami merekomendasikan untuk menyimpan setidaknya 15 hari data untuk metrik. Namun, menyimpan metrik untuk durasi yang lebih lama tidak menambah manfaat yang signifikan dan menyebabkan biaya penyimpanan yang tidak perlu. Karena pengujian kinerja dapat menghasilkan volume metrik yang besar, penting bagi infrastruktur metrik untuk menskalakan sambil memberikan kinerja kueri yang cepat. Layanan backend pemantauan menyediakan bahasa kueri yang dapat digunakan untuk melihat data metrik.
Visualisasi
Menyediakan alat visualisasi yang dapat menampilkan data aplikasi untuk memberikan wawasan yang berarti. DevOps Insinyur dan pengembang aplikasi harus mempelajari bahasa kueri untuk backend pemantauan dan bekerja sama untuk menghasilkan template dasbor yang dapat digunakan kembali. Di dasbor, sertakan latensi, dan kesalahan sambil juga menampilkan pemanfaatan dan saturasi sumber daya di seluruh infrastruktur dan sumber daya aplikasi.
Mengotomatiskan infrastruktur pemantauan
Mirip dengan logging, penting untuk mengotomatiskan instalasi dan pengoperasian infrastruktur pemantauan sehingga Anda dapat mengakomodasi berbagai persyaratan aplikasi yang berbeda. Gunakan alat IAc untuk menyediakan backend infrastruktur pemantauan. Kemudian Anda dapat menyediakan infrastruktur pemantauan baik sebagai layanan bersama atau sebagai penyebaran pesan lebih dahulu independen untuk aplikasi tertentu.
Gunakan saluran pipa CD untuk mengotomatiskan hal berikut:
-
Menyebarkan infrastruktur pemantauan sesuai permintaan dan meruntuhkannya ketika tidak diperlukan.
-
Perbarui konfigurasi pemantauan untuk memfilter atau menggabungkan metrik.
-
Menyebarkan dasbor aplikasi.
Alat pemantauan
Layanan Terkelola Amazon untuk Prometheus adalah layanan pemantauan yang kompatibel dengan
Amazon CloudWatch menyediakan pemantauan full-stack pada AWS. CloudWatch mendukung solusi AWS native dan open source sehingga Anda dapat memahami apa yang terjadi di seluruh tumpukan teknologi Anda kapan saja.
AWS Alat asli meliputi yang berikut:
Amazon CloudWatch menawarkan fitur yang dibuat khusus yang menangani kasus penggunaan tertentu seperti pemantauan kontainer melalui CloudWatch Wawasan Kontainer. Fitur-fitur ini dibangun CloudWatch sehingga Anda dapat mengatur log, pengumpulan metrik, dan pemantauan.
Untuk aplikasi kontainer dan layanan mikro Anda, gunakan Wawasan Kontainer untuk mengumpulkan, menggabungkan, dan meringkas metrik dan log. Container Insights tersedia untuk Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), dan platform Kubernetes di Amazon Elastic Compute Cloud (Amazon EC2). Wawasan Kontainer mengumpulkan data sebagai peristiwa log kinerja dalam format metrik yang disematkan. Entri peristiwa log kinerja ini menggunakan skema JSON terstruktur yang mendukung konsumsi dan penyimpanan data kardinalitas tinggi dalam skala besar.
Untuk informasi tentang penerapan Wawasan Kontainer dengan Amazon EKS, lihat posting blog Memperkenalkan Amazon CloudWatch Container Insights untuk Amazon EKS Fargate menggunakan Distro