Memantau Looker

Meskipun pemantauan aplikasi Looker mungkin tidak tampak diperlukan secara ketat, Anda harus menyiapkannya di instance yang dihosting pelanggan. Dalam kasus yang jarang terjadi, jika terjadi masalah pada server Anda, Looker sering kali akan kesulitan atau tidak dapat membantu Anda memperbaiki masalah tersebut, kecuali jika Anda dapat memberikan informasi pemantauan yang sesuai sejak terjadinya insiden.

Pemantauan aplikasi

URL

Ada dua cara sederhana untuk memvalidasi bahwa instance Looker Anda berjalan.

  1. Tambahkan /alive ke URL instance Looker Anda seperti ini:

    https://instance_name.looker.com/alive

    Jika instance Anda 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

Virtual machine Java yang menjalankan Looker dapat dipantau melalui JMX.

Banyak aplikasi pemantauan seperti Zabbix dan Nagios mendukung JMX. Lihat dokumentasi aplikasi pemantauan Anda untuk mengetahui informasi selengkapnya.

Mengedit skrip startup Looker

Untuk mengaktifkan pemantauan JMX, Anda harus 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 JAR Looker telah dibagi menjadi dua file JAR terpisah: file JAR inti Looker dan file JAR dependensi Looker. Setelah dimulai, file JAR inti akan otomatis memulai file JAR dependensi. Kedua file JAR harus berada di direktori yang sama agar file JAR inti berhasil menemukan dan memulai file JAR dependensi.

Secara default, opsi startup --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 startup --no-daemonise, tambahkan bagian setelah 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 di direktori utama 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 menyesuaikan 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

Buat agar Java (dan oleh karena itu 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 menjalankannya *sebagai pengguna Looker dan bukan root*:

cd ~/looker
./looker restart

Instance Looker Anda kini dikonfigurasi untuk pemantauan JMX jarak jauh di port 9910, menggunakan sandi yang Anda berikan. Anda mungkin perlu mengubah setelan firewall atau ACL jaringan untuk mengizinkan server pemantauan mendapatkan akses jaringan di port ini.

Pemantauan host

Untuk setiap host yang menjalankan aplikasi Looker, sebaiknya Anda mengumpulkan, membuat grafik, dan mendapatkan pemberitahuan tentang setidaknya metrik performa berikut:

  • Pemakaian CPU: beban dan persentase CPU yang digunakan
  • Penggunaan Memori: total yang digunakan dan swap yang digunakan
  • Penggunaan Disk

Nilai minimum pemberitahuan

Untuk menetapkan nilai minimum pemberitahuan yang baik, buat dasar pengukuran terlebih dahulu. Kumpulkan data performa dengan instance Looker yang berjalan dalam 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 dapat diulang setiap minggu selama jam kerja. Pengguna lain mungkin menggunakan Looker lebih banyak pada waktu tertentu (seperti akhir setiap bulan).

Secara umum, pemberitahuan hanya boleh dikirim untuk peristiwa yang dapat ditindaklanjuti. Mengirim pemberitahuan saat tidak ada yang perlu dilakukan akan menyamarkan pentingnya pemberitahuan penting.

Batas berikut dapat digunakan sebagai titik awal untuk pemberitahuan. Jika nilai berikut terlampaui selama 15 menit atau lebih, intervensi manual mungkin diperlukan.

Metrik Peringatan Kritis Komentar
Beban CPU 2 4 Beban umumnya harus 1 atau kurang untuk sistem single-core. Beban tinggi yang berkelanjutan menyebabkan performa buruk.
% CPU yang Digunakan 80 90 Penggunaan CPU yang tinggi menyebabkan performa yang buruk.
% Memori yang Digunakan 60 70 Penggunaan memori yang tinggi dapat menunjukkan terlalu banyak memori yang dialokasikan untuk Java.
% Disk yang Digunakan 80 90 Pastikan disk tidak penuh.

Catatan tambahan:

  • Sistem dengan lebih dari satu core dapat menangani beban CPU yang tinggi tanpa mengurangi performa. Aturan praktisnya adalah beban berkelanjutan tidak boleh lebih besar dari jumlah core prosesor.
  • Persentase total waktu CPU yang digunakan sebelum sistem mengalami penurunan performa akan diskalakan dengan jumlah core CPU dalam sistem. Dengan kata lain, sistem dengan satu core mungkin memiliki performa yang buruk saat CPU digunakan 80%, sedangkan host enam belas core mungkin masih dapat digunakan pada penggunaan 95%.
  • Pemakaian CPU yang tinggi dan berkelanjutan 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 siap menyiapkan pencadangan Looker.