Pendahuluan
ELK Stack terintegrasi secara native dengan Kubernetes, yang berfungsi sebagai stack pemantauan – mengumpulkan, menyimpan, dan menganalisis data telemetri k8. Ada beberapa metode untuk menyiapkan dan men-deploy tumpukan ELK di Kubernetes, dan menggunakan diagram kemudi adalah yang paling mudah.
Dalam tutorial ini, Anda akan mempelajari cara menggunakan diagram kemudi untuk menginstal Elasticsearch, komponen utama tumpukan ELK, serta Kibana dan Metricbeat (sebagai pengganti Logstash), di cluster Kubernetes Anda.
Prasyarat
- Cluster Kubernetes (Anda dapat membuatnya dengan minikube)
- alat baris perintah kubectl terpasang
- Manajer paket helm terpasang
Siapkan Cluster Kubernetes untuk Elasticsearch
1. Pertama, jalankan Minikube. Cluster multi-simpul untuk Elasticsearch memerlukan sumber daya sistem yang signifikan, jadi pastikan Anda mengalokasikan cukup CPU dan memori menggunakan --cpus
dan --memory
pilihan:
minikube start --cpus 4 --memory 8192
Penting: Jika Anda menjalankan klaster Minikube pada sistem yang sama sebelumnya, Anda tidak dapat menggunakan opsi yang disebutkan di atas untuk mengalokasikan sumber daya. Untuk memulai cluster baru, gunakan minicube delete
perintah untuk menghapus cluster sebelumnya dan kemudian lanjutkan dengan instruksi.
2. Periksa apakah cluster Anda berfungsi dengan baik dengan mengetik:
kubectl cluster-info
Output mengkonfirmasi bahwa control plane Kubernetes dan KubeDNS sedang berjalan:
Terapkan Elasticsearch dengan Helm
1. Untuk mulai menginstal Elasticsearch, tambahkan elastic
repositori di Helm:
helm repo add elastic https://helm.elastic.co
2. Sekarang, gunakan curl
perintah untuk mengunduh values.yaml
file yang berisi informasi konfigurasi:
curl -O https://raw.githubusercontent.com/elastic/helm-charts/master/elasticsearch/examples/minikube/values.yaml
3. Gunakan helm install
perintah dan values.yaml
file untuk menginstal bagan helm Elasticsearch:
helm install elasticsearch elastic/elasticsearch -f ./values.yaml
-f
opsi memungkinkan menentukan yaml
file dengan template. Jika Anda ingin menginstal Elasticsearch di namespace tertentu, tambahkan -n
pilihan diikuti dengan nama namespace.
helm install elasticsearch elastic/elasticsearch -n [namespace] -f ./values.yaml
Keluaran mengonfirmasi status aplikasi sebagai diterapkan dan menawarkan opsi tambahan untuk menguji penginstalan:
4. Opsi pertama adalah menggunakan get pods
perintah untuk memeriksa apakah anggota cluster sudah aktif:
kubectl get pods --namespace=default -l app=elasticsearch-master -w
Setelah READY
kolom dalam output seluruhnya diisi dengan 1/1
entri, semua anggota cluster sudah bangun:
Opsi lainnya adalah menggunakan helm test
perintah untuk memeriksa kesehatan cluster:
helm test elasticsearch
5. Setelah Anda berhasil menginstal Elasticsearch, gunakan kubectl port-forward
perintah untuk meneruskannya ke port 9200 :
kubectl port-forward svc/elasticsearch-master 9200
Untuk tetap menggunakan terminal setelah menjalankan port-forward
perintah, jalankan perintah di jendela terminal lain.
Instal Kibana
1. Untuk menginstal Kibana di atas Elasticsearch, ketik perintah berikut:
helm install kibana elastic/kibana
Output mengkonfirmasi penyebaran Kibana:
2. Periksa apakah semua pod sudah siap:
kubectl get pods
Pod Kibana muncul di bawah Pod Elasticsearch:
3. Teruskan Kibana ke port 5601 menggunakan kubectl
:
kubectl port-forward deployment/kibana-kibana 5601
4. Setelah Anda mengatur penerusan port, akses Elasticsearch, dan GUI Kibana dengan mengetik http://localhost:5601
di browser Anda:
Instal Metricbeat
Menginstal Metricbeat mengikuti pola yang sama seperti menginstal Kibana.
1. Gunakan Helm untuk mengeluarkan install
perintah:
helm install metricbeat elastic/metricbeat
2. Konfirmasikan bahwa pod Metricbeat aktif dan berjalan:
kubectl get pods
3. Untuk melihat pengindeksan metrik Elasticsearch, gunakan curl
perintah:
curl localhost:9200/_cat/indices
4. Kunjungi Kibana. Anda sekarang dapat membuat pola indeks. Navigasikan ke Manajemen Tumpukan> Pola indeks :
5. Klik Create Index Pattern
untuk mulai bekerja dengan Kibana.