Jaringan adalah fondasi untuk aplikasi terdistribusi. Aplikasi terdistribusi memiliki beberapa layanan mikro, yang masing-masing berjalan pada sekumpulan Pod, seringkali terletak di Node yang berbeda. Area masalah dalam aplikasi terdistribusi dapat berada di tingkat jaringan (Aliran, log jaringan), atau di tingkat tidak tersedianya sumber daya aplikasi (Metrik) atau tidak tersedianya komponen (penelusuran).
Konektivitas pada lapisan jaringan dapat dipengaruhi oleh berbagai faktor seperti pengaturan perutean, penggabungan IP, kebijakan jaringan, dll. Ketika layanan A tidak dapat berkomunikasi dengan layanan B melalui jaringan, atau aplikasi eksternal tidak dapat terhubung ke layanan A, log jaringan menjadi sumber data penting yang diperlukan untuk memecahkan masalah konektivitas. Seperti halnya jaringan tradisional, log jaringan memungkinkan administrator kluster untuk memantau jaringan layanan mikro Kubernetes.
Log Jaringan Memiliki Beberapa Kasus Penggunaan
Log jaringan dapat digunakan untuk memenuhi persyaratan unik tim yang berbeda (DevOps, SecOps, Platform, Jaringan). Nilai log jaringan Kubernetes terletak pada informasi yang dikumpulkan seperti konteks mendetail tentang titik akhir / titik akhir (misalnya pod, label, namespace) dan kebijakan jaringan yang diterapkan saat menyiapkan koneksi. Dalam lingkungan TI, tim DevOps, SecOps, Jaringan, dan Platform dapat memanfaatkan log jaringan untuk kasus penggunaan mereka, yang berguna dalam domain pengetahuan mereka. Di bawah ini kami tunjukkan beberapa contoh.
Pembuatan Kebijakan dan Deteksi Ancaman dengan Log Aliran Data di Calico Enterprise.
Calico Enterprise membuat log kontekstual aliran jaringan di setiap koneksi ke pod. Log disimpan ke file di node, yang kemudian diproses oleh agen fluentd dan dikirim ke tujuan yang dikonfigurasi.
Seperti yang ditunjukkan pada diagram di atas, log dikirim secara default ke mesin Elasticsearch yang disertakan dengan Calico Enterprise. Anda dapat mengonfigurasi penerusan log aliran ke platform SOC Anda. Kami menyarankan Anda memiliki satu platform untuk semua majalah Anda. Log adalah alat pemantauan dan analisis penting untuk tim operasi, yang sudah memiliki proses yang terdefinisi dengan baik yang dibangun di atas platform logging terpusat. Ini penting untuk perencanaan Anda.
Karakteristik Log Arus Data
Log aliran memiliki banyak overhead penyimpanan. Secara default, Calico Enterprise hanya menyimpan data dari tujuh hari terakhir. Hal ini memungkinkan Calico Enterprise menyediakan fitur yang dirancang khusus untuk menyederhanakan pengembangan kebijakan dan pemecahan masalah konektivitas hampir secara real time.
- Pedoman yang disarankan untuk membuat kebijakan memungkinkan pengembang untuk secara otomatis membuat kebijakan jaringan untuk melindungi layanan mereka
- Alur kerja untuk kebijakan (rekomendasi, pratinjau, kebijakan bertahap) memungkinkan tim SecOps dan DevOps untuk membuat kebijakan secara efisien dan menerapkannya dengan cara yang tidak mengganggu
- Deteksi ancaman memungkinkan tim SecOps melacak setiap aliran ke alamat IP atau domain tertentu dan mengidentifikasi ancaman
Log aliran standar di Calico Enterprise berisi semua informasi kontekstual yang diperlukan:
- Konteks Kubernetes (sub, namespace, label, kebijakan)
- Alamat IP pengirim untuk sumber eksternal, jika tersedia melalui masuk
- Start_time, end_time, action, bytes_in, bytes_out, dest_ip, dest_name, dest_name_aggr, dest_namespace, dest_port, dest_type, dest_labels, reporter, num_flows, num_flows_completed, num_flows_started, source__requests_alrequests, source_name, http_requests_alrequests, source_name source_namespace, source_port, source_type, source_labels, original_source_ips, num_original_source_ips
Log DNS dikumpulkan untuk setiap pod dari waktu ke waktu dan berisi informasi berikut:
- Start_time, end_time, type, count, client_ip, client_name, client_name_aggr, client_namespace, client_labels, qname, qtype, qclass, rcode, rrsets, server
Entri log tersedia di Kibana sebagai indeks Elasticsearch. Anda memiliki kontrol penuh atas parameter pengindeksan, waktu retensi, dan penyimpanan. Menjaga pengaturan default berfungsi dengan baik untuk sebagian besar penerapan.
Kurangi biaya pengoperasian dengan mengoptimalkan penyimpanan log benang
Calico Enterprise mengumpulkan berbagai log (jaringan / aliran, audit, DNS). Log aliran adalah yang paling mahal dalam hal penyimpanan, terhitung lebih dari 95% dari total penyimpanan. Seringkali, untuk setiap node yang terisi penuh, ada aliran 5k per detik. Dengan 200 byte per aliran, ini berubah menjadi 1 MB / s (megabyte). Persyaratan penyimpanan harian untuk setiap node adalah 86 GB untuk thread log. Untuk cluster yang terdiri dari 100 node, persyaratan log thread harian menjadi 8 TB + !!! Jelas ini tidak berskala. Dan yang lebih penting, apakah Anda benar-benar perlu menyimpan data sebanyak itu? Biasanya, nilai data yang terdapat dalam log menurun secara eksponensial dari waktu ke waktu dan hanya relevan untuk tujuan pemecahan masalah dan kepatuhan.
Karena alasan ini, Calico Enterprise memiliki agregasi secara default, yang mengurangi persyaratan penyimpanan log utas lebih dari 100 kali lipat! Kami melakukan ini tanpa mengorbankan data (visibilitas, pemantauan, pemecahan masalah) yang diterima klien kami dari log aliran. Log dikumpulkan berdasarkan port tujuan selama periode waktu tertentu. Dengan cara ini, Anda tidak perlu khawatir tentang biaya penyimpanan log streaming saat menggunakan pengaturan default di Calico Enterprise. Cara lain Calico Enterprise dapat membantu Anda menurunkan persyaratan penyimpanan adalah dengan mengecualikannya. Anda dapat dengan mudah menyesuaikan namespace atau instalasi tertentu yang akan dikecualikan dari pembuatan log aliran.
Tertarik untuk menjelajahi thread log secara mendalam?
Log utas diaktifkan secara default. Lihat dokumentasi berikut untuk konfigurasi rinci:
