Analisis log adalah proses sistematis untuk mengumpulkan, memusatkan, menelusuri, dan memvisualisasikan data yang dihasilkan mesin (log) dari aplikasi, server, perangkat jaringan, dan infrastruktur cloud. Selain menyimpan data, alat ini juga menyediakan alat untuk mengajukan pertanyaan kompleks dan mendapatkan gambaran yang jelas tentang performa sistem.
Pada intinya, log bertindak sebagai catatan real-time dari setiap peristiwa yang terjadi dalam sistem digital. Analisis log adalah mesin yang mengubah teks yang sering kali kacau dan tidak terstruktur ini menjadi data terstruktur yang dapat dikueri. Kecerdasan ini penting untuk memecahkan masalah error aplikasi, memantau traffic jaringan, dan mengidentifikasi tren keamanan sebelum memengaruhi bisnis.
Meskipun sering digunakan secara bergantian, pengelolaan log dan analisis log mewakili tahap kematangan yang berbeda dalam menangani telemetri.
Pengelolaan log berfokus pada "plumbing"—pengumpulan, perutean, penyimpanan, dan pengarsipan log. Sasaran utamanya biasanya adalah pencatatan dan memastikan kepatuhan terhadap kebijakan retensi data.
Analisis log menambahkan lapisan kecerdasan pada data terkelola tersebut. Solusi ini memanfaatkan mesin telusur, kueri SQL, dan dasbor visualisasi yang canggih untuk mendeteksi anomali secara proaktif. Meskipun pengelolaan memastikan ketersediaan data, analisis memberikan "alasan" di balik perilaku sistem, sehingga tim dapat beralih dari penyimpanan reaktif ke pemecahan masalah proaktif.
Siklus proses peristiwa log melibatkan pipeline yang mengalirkan data dari pembuatan hingga menjadi insight. Alur mekanis ini memastikan bahwa output mentah dari mesin diubah menjadi sesuatu yang dapat digunakan engineer untuk memecahkan masalah.
Agen software atau API mengumpulkan log dari berbagai sumber seperti microservice, firewall, dan database. Log ini dialirkan ke satu repositori terpusat untuk menghilangkan data silo, sehingga memastikan engineer dapat melihat konteks lengkap suatu permintaan saat melewati berbagai lapisan sistem.
String teks tidak terstruktur diuraikan ke dalam format terstruktur seperti JSON. Kolom utama—seperti alamat IP, kode error, dan ID pengguna—diekstraksi dan diindeks. Pengindeksan ini memungkinkan pengguna menelusuri miliaran entri log dalam hitungan detik, bukan menit.
Engineer menggunakan bahasa kueri seperti SQL untuk mengidentifikasi pola atau membuat dasbor visual. Tahap ini mengubah log mentah menjadi diagram dan grafik, sehingga memudahkan untuk mendeteksi lonjakan aktivitas atau mengorelasikan log dengan metrik dan trace sistem.
Skenario berikut mengilustrasikan bagaimana tim menerapkan analisis log untuk menyelesaikan masalah operasional dan keamanan di dunia nyata.
Skenario | Petunjuk | Contoh kueri SQL |
Pemecahan masalah terkait error | Temukan bagian aplikasi mana yang paling sering gagal dengan menghitung error berdasarkan sumber. | SELECT resource.labels.cluster_name, count(*) as error_count FROM my_logs WHERE severity = 'ERROR' GROUP BY 1 |
Memantau traffic | Gunakan log alur VPC untuk melihat volume traffic yang melewati jaringan Anda. | SELECT json_payload.src_ip, sum(cast(json_payload.bytes_count as INT64)) as total_bytes FROM vpc_logs GROUP BY 1 |
Audit keamanan | Periksa siapa yang mengakses sistem dengan melihat log audit untuk tindakan tertentu. | SELECT proto_payload.authentication_info.principal_email, count(*) FROM audit_logs GROUP BY 1 |
Skenario
Petunjuk
Contoh kueri SQL
Pemecahan masalah terkait error
Temukan bagian aplikasi mana yang paling sering gagal dengan menghitung error berdasarkan sumber.
SELECT resource.labels.cluster_name, count(*) as error_count FROM my_logs WHERE severity = 'ERROR' GROUP BY 1
Memantau traffic
Gunakan log alur VPC untuk melihat volume traffic yang melewati jaringan Anda.
SELECT json_payload.src_ip, sum(cast(json_payload.bytes_count as INT64)) as total_bytes FROM vpc_logs GROUP BY 1
Audit keamanan
Periksa siapa yang mengakses sistem dengan melihat log audit untuk tindakan tertentu.
SELECT proto_payload.authentication_info.principal_email, count(*) FROM audit_logs GROUP BY 1
Melacak satu permintaan di puluhan microservice sangatlah kompleks. Analisis log, yang dikombinasikan dengan ID trace, memungkinkan developer menggabungkan alur permintaan yang gagal untuk menemukan layanan spesifik yang bertanggung jawab atas kegagalan tersebut.
Analis keamanan menggunakan log dari firewall, penyedia identitas, dan log alur VPC untuk melacak pergerakan lateral pihak tidak berwenang melalui jaringan, mengidentifikasi akun yang disusupi atau resource yang terekspos.
Industri yang diatur dengan regulasi menggunakan penyimpanan dan analisis log yang tidak dapat diubah untuk membuktikan kepada auditor siapa yang mengakses data tertentu dan kapan, sehingga memastikan mereka memenuhi persyaratan penanganan data yang ketat.
Transisi dari logging dasar ke analisis lanjutan menawarkan efisiensi operasional yang signifikan dan laba atas investasi yang lebih tinggi bagi tim engineering.
Pemecahan masalah dan RCA yang lebih cepat
Penelusuran terpusat memungkinkan Site Reliability Engineer (SRE) mengurangi Rata-Rata Waktu Penyelesaian (MTTR) secara signifikan. Tim dapat memulihkan layanan jauh lebih cepat dengan menemukan log error spesifik penyebab pemadaman layanan secara instan tanpa perlu melakukan SSH ke tiap server.
Keamanan dan kepatuhan proaktif
Analisis log berfungsi sebagai dasar untuk Informasi Keamanan dan Manajemen Peristiwa (SIEM). Tim keamanan dapat memburu ancaman, mendeteksi akses tidak sah, dan mempertahankan kepatuhan terhadap framework seperti HIPAA atau PCI-DSS dengan mengaudit tindakan pengguna dalam skala besar.
Peningkatan performa aplikasi
Tim pengembangan menggunakan tren log untuk mengidentifikasi kueri database yang berjalan lambat dan bottleneck tersembunyi. Dengan menganalisis tren dari waktu ke waktu, engineer dapat memperbaiki kode yang tidak efisien sebelum pengguna melaporkan masalah performa.
Strategi yang sukses bukan hanya sekadar pengumpulan log sederhana, melainkan analisis terstruktur yang menghasilkan nilai bisnis.
1. Menentukan tujuan dan cakupan: Identifikasi sistem mana yang memerlukan logging dan tentukan peristiwa spesifik yang penting untuk sasaran operasional dan keamanan
2. Menstandardisasi format log: Terapkan logging terstruktur (seperti JSON) di seluruh aplikasi untuk memastikan data mudah diurai dan dikueri
3. Menetapkan kebijakan retensi dan perutean: Tentukan log mana yang tetap berada di penyimpanan "yang sering diakses" untuk analisis real-time dan mana yang diarsipkan ke penyimpanan "yang jarang diakses" untuk kepatuhan
4. Mengotomatiskan pemberitahuan dan dasbor: Buat aturan pemberitahuan proaktif untuk mendeteksi anomali dan memberi tahu tim sebelum masalah memengaruhi pengguna akhir
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.