Memantau Looker

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.

  1. 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.

  2. 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.