Meskipun pemantauan aplikasi Looker mungkin tidak terlihat wajib, sangat penting untuk menyiapkannya pada instance yang dihosting pelanggan. Dalam kasus yang jarang terjadi, ketika terjadi masalah pada server Anda, Looker sering kali jauh lebih sulit atau tidak mungkin membantu Anda memperbaiki masalah tersebut, kecuali jika Anda dapat memberikan informasi pemantauan yang sesuai sejak saat insiden terjadi.
Pemantauan aplikasi
URL
Ada dua cara sederhana untuk memvalidasi bahwa instance Looker Anda sedang berjalan.
Tambahkan
/alive
ke URL instance Looker Anda seperti ini:https://instance_name.looker.com/alive
Jika instance dapat merespons permintaan web, Anda akan menerima kode status HTTP 200 OK.
Tambahkan
/availability
ke URL instance Looker Anda seperti ini:https://instance_name.looker.com/availability
URL ini melakukan pemeriksaan yang lebih lengkap terhadap beberapa subsistem yang mendasarinya dan juga akan merespons dengan kode status HTTP 200 OK jika semuanya baik-baik saja.
JMX
Mesin virtual Java yang menjalankan Looker dapat dipantau melalui JMX.
Banyak aplikasi pemantauan seperti Zabbix dan Nagios mendukung JMX. Lihat dokumentasi aplikasi pemantauan Anda untuk informasi selengkapnya.
Mengedit skrip startup Looker
Untuk mengaktifkan pemantauan JMX, Anda perlu mengedit skrip startup Looker. Secara default, namanya adalah:
/home/looker/looker/looker
Cari parameter startup Java:
java \
-XX:+UseG1GC -XX:MaxGCPauseMillis=2000 \
-Xms$JAVAMEM -Xmx$JAVAMEM \
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps \
-Xloggc:/tmp/gc.log ${JAVAARGS} \
-jar looker.jar start ${LOOKERARGS}
Mulai Looker 6.18, file Looker JAR telah dibagi menjadi dua file JAR terpisah: file JAR inti Looker dan file JAR dependensi Looker. Setelah memulai, file JAR inti akan secara otomatis memulai file JAR dependensi. Kedua file JAR harus berada di direktori yang sama sehingga file JAR inti bisa berhasil menemukan dan memulai file JAR dependensi.
Secara default, opsi memulai --no-daemonise
tidak ditetapkan. Jika Anda belum menetapkan opsi --no-daemonise
, tambahkan bagian setelah baris yang dimulai dengan -Xms$JAVAMEM
:
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote \
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.port=9910 \
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.ssl=false \
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.local.only=false \
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.authenticate=true \
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.access.file=${HOME}/.lookerjmx/jmxremote.access \
-Dcom.sun.akuma.jvmarg.com.sun.management.jmxremote.password.file=${HOME}/.lookerjmx/jmxremote.password \
Jika Anda telah menetapkan opsi memulai --no-daemonise
, tambahkan bagian mengikuti baris yang dimulai dengan -Xms$JAVAMEM
:
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9910 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=true \
-Dcom.sun.management.jmxremote.access.file=${HOME}/.lookerjmx/jmxremote.access \
-Dcom.sun.management.jmxremote.password.file=${HOME}/.lookerjmx/jmxremote.password \
Membuat direktori .lookerjmx
Selanjutnya, buat direktori .lookerjmx
pada direktori beranda pengguna Looker Anda, lalu tetapkan izin:
sudo su - looker
mkdir ~/.lookerjmx
chmod 700 ~/.lookerjmx
cd ~/.lookerjmx
Membuat file JMX
Dengan menggunakan editor teks favorit Anda, buat file di direktori baru bernama jmxremote.access
dengan konten berikut (Anda dapat menyesuaikannya untuk lingkungan Anda):
monitorRole readonly
controlRole readwrite \
create javax.management.monitor.*,javax.management.timer.* \
unregister
Selanjutnya, buat file bernama jmxremote.password
di direktori yang sama dengan konten berikut, menggunakan sandi aman Anda sendiri:
monitorRole some_password_here
controlRole some_password_here
Menetapkan izin
Pastikan Java (dan juga Looker) tidak akan dimulai jika izin file mengizinkan siapa saja kecuali pengguna Looker untuk membaca file sandi.
chmod 400 jmxremote.*
Memulai ulang Looker
Looker harus dimulai ulang untuk mengaktifkan JMX. Pastikan Anda menjalankan ini *sebagai pengguna Looker dan bukan root*:
cd ~/looker
./looker restart
Instance Looker Anda sekarang dikonfigurasi untuk pemantauan JMX jarak jauh pada port 9910, menggunakan sandi yang Anda berikan. Anda mungkin perlu memodifikasi pengaturan {i>firewall<i} atau ACL jaringan Anda untuk memungkinkan server pemantauan Anda mendapatkan akses jaringan pada porta ini.
Pemantauan host
Untuk setiap host yang menjalankan aplikasi Looker, sebaiknya kumpulkan, buat grafik, dan beri tahu setidaknya metrik performa berikut:
- Pemakaian CPU: beban dan persentase CPU yang digunakan
- Pemakaian Memori: total yang digunakan dan swap yang digunakan
- Penggunaan Disk
Nilai minimum pemberitahuan
Untuk menetapkan batas pemberitahuan yang baik, tetapkan baseline terlebih dahulu. Kumpulkan data performa dengan instance Looker yang berjalan dengan beban normal. Lihat grafik performa dan amati puncaknya. Durasi waktu yang diperlukan untuk menetapkan dasar pengukuran bergantung pada bisnis dan pola penggunaan Looker Anda. Beberapa perusahaan mungkin menggunakan Looker dalam pola yang stabil dan berulang setiap minggu selama jam kerja. Sebagian lagi mungkin lebih sering menggunakan Looker pada waktu tertentu (seperti akhir setiap bulan).
Secara umum, notifikasi hanya boleh dikirim untuk peristiwa yang dapat ditindaklanjuti. Mengirim pemberitahuan saat tidak ada hal yang perlu dilakukan akan menutupi pentingnya pemberitahuan penting.
Nilai minimum berikut dapat digunakan sebagai titik awal untuk pemberitahuan. Jika nilai berikut terlampaui selama 15 menit atau lebih, intervensi manual mungkin diperlukan.
Metrik | Peringatan | Penting | Komentar |
---|---|---|---|
Beban CPU | 2 | 4 | Beban umumnya harus 1 atau kurang untuk sistem dengan inti tunggal. Beban tinggi yang terus-menerus menyebabkan performa yang buruk. |
Persentase CPU Terpakai | 80 | 90 | Penggunaan CPU yang tinggi menyebabkan performa yang buruk. |
% Memori Digunakan | 60 | 70 | Penggunaan memori tinggi dapat mengindikasikan terlalu banyak memori yang dialokasikan ke Java. |
% Disk Digunakan | 80 | 90 | Pastikan disk tidak penuh. |
Catatan tambahan:
- Sistem dengan lebih dari satu core dapat menangani beban CPU yang tinggi tanpa penurunan performa. Aturan praktisnya adalah beban berkelanjutan tidak boleh lebih besar dari jumlah inti prosesor.
- Persentase total waktu CPU yang digunakan sebelum sistem mengalami skala penurunan performa sesuai dengan jumlah inti CPU dalam sistem. Dengan kata lain, sistem dengan satu inti mungkin memiliki kinerja yang buruk ketika CPU telah mencapai 80%, sedangkan {i>host<i} enam belas inti masih dapat digunakan pada tingkat pemakaian sebesar 95%.
- Pemakaian CPU berkelanjutan yang tinggi dapat diperbaiki dengan mengupdate hardware host atau mengupgrade ke instance yang lebih besar. Terkadang, sejumlah besar Tampilan terjadwal atau tabel turunan kueri panjang dapat dikurangi atau dibuat lebih efisien untuk meningkatkan performa.
Langkah berikutnya
Setelah menyiapkan pemantauan, Anda dapat menyiapkan pencadangan Looker.