Pantau situs web dengan Uptime Kuma: dari deploy hingga menerima peringatan gangguan pertama

Deploy Uptime Kuma di Zenavo dari template, tambahkan pemantauan situs web dan API, atur notifikasi Telegram atau email, uji peringatan saat mati dan pulih, lalu cadangkan volume data.

Artikel ini juga tersedia dalam English, 简体中文, 繁體中文, 日本語, dan Español.

Setelah situs web atau layanan Anda online, jangan menunggu pengguna memberi tahu bahwa situs tidak bisa dibuka. Sistem pemantauan bisa memeriksa layanan Anda setiap menit dan langsung mengirim pesan saat sertifikat hampir kedaluwarsa atau layanan berhenti merespons.

Uptime Kuma adalah alat pemantauan self-hosted yang ringan dan open source: mendukung pemeriksaan HTTP(s), kata kunci, port TCP, DNS, serta masa berlaku sertifikat TLS, dilengkapi halaman status publik dan puluhan kanal notifikasi (Telegram, Slack, Discord, email, Webhook, dan lainnya). Panduan ini memakai template Uptime Kuma di Zenavo, mulai dari deploy hingga menerima peringatan gangguan pertama.

Di mana sebaiknya menempatkan Uptime Kuma

Sebelum mulai, tentukan di server mana Uptime Kuma akan dijalankan:

  • Di server yang sama dengan aplikasi Anda: cocok untuk tahap awal. Jika satu kontainer mati atau sertifikat hampir habis, Uptime Kuma tetap bisa mengirim notifikasi; tetapi jika seluruh server mati atau putus jaringan, pemantauannya ikut offline.
  • Di server kecil terpisah: lebih cocok untuk produksi. Uptime Kuma memakai memori yang sangat kecil, dan menempatkannya di server berbeda memastikan Anda tetap mendapat peringatan saat server utama benar-benar mati.

Deploy dari template

Pertama, hubungkan server Linux ke Zenavo, lalu buka template Uptime Kuma, pilih server, dan deploy.

Pengaturan template saat ini:

Pengaturan Nilai atau fungsi
Image louislam/uptime-kuma:1
Port HTTP 3001
Volume /app/data: database SQLite, daftar monitor, riwayat pemeriksaan, dan kredensial notifikasi disimpan di sini

Di tab Jaringan pada layanan uptime-kuma, pasang domain seperti status.example.com ke port 3001, tambahkan record DNS A yang mengarah ke server, lalu tunggu HTTPS aktif. Langkah-langkahnya ada di Domain & HTTPS.

Segera buka situs dan buat akun admin begitu domain aktif. Pengunjung pertama yang membuka halaman dapat langsung mengatur nama pengguna dan kata sandi admin, jadi selesaikan langkah ini terlebih dahulu.

Tambahkan monitor pertama

Setelah masuk, klik Add New Monitor di kiri atas. Rekomendasi pengaturan awal:

Pengaturan Saran
Monitor Type Pilih HTTP(s) untuk halaman web atau API biasa; pilih HTTP(s) - Keyword untuk memeriksa apakah isi respons memuat teks tertentu
Friendly Name Tulis lingkungan dan tujuannya dengan jelas, misalnya Produksi - Beranda atau API - /healthz
URL Alamat https:// lengkap yang benar-benar diakses pengguna
Heartbeat Interval 60 detik
Retries Atur ke 2 atau 3 kali agar gangguan jaringan sesaat tidak langsung membangunkan Anda tengah malam
Certificate Expiry Notification Aktifkan agar memberi peringatan 7–14 hari sebelum sertifikat TLS kedaluwarsa

Jika aplikasi Anda bergantung pada database, selain memantau halaman depan, tambahkan juga monitor khusus ke endpoint kesehatan seperti /healthz untuk memastikan backend dan koneksi database ikut terpantau.

Siapkan notifikasi dan lakukan simulasi nyata

Buka Settings → Notifications dari menu profil di kanan atas, atau klik Setup Notification saat mengedit monitor:

  1. Pilih kanal yang biasa Anda pakai (misalnya Telegram, Webhook, Slack, atau email SMTP) dan isi token atau informasi akunnya.
  2. Klik Test, lalu pastikan ponsel atau email Anda menerima pesan uji coba.
  3. Nyalakan Default enabled, atau centang kanal notifikasi tersebut di dalam monitor yang bersangkutan, lalu simpan monitor (banyak orang menekan Test dan menerima pesan, tetapi lupa mencentangnya pada monitor lalu menyimpannya).

Untuk memastikan peringatan benar-benar terkirim saat terjadi gangguan, uji sekali memakai layanan tes:

  1. Tambahkan monitor untuk layanan uji coba yang tidak melayani trafik pengguna, lalu tunggu statusnya berubah hijau (Up).
  2. Hentikan layanan uji coba tersebut di Zenavo, tunggu 1–3 menit (tergantung interval dan jumlah retry Anda), lalu pastikan status monitor berubah merah (Down) dan notifikasi gangguan masuk ke ponsel Anda.
  3. Jalankan kembali layanan uji coba tersebut dan pastikan notifikasi pemulihan (Up) juga diterima.

Halaman status publik (opsional)

Jika Anda ingin membuat halaman status publik seperti status.example.com/status/main untuk dilihat pengguna, klik Status Pages di bilah atas, buat halaman baru, dan masukkan hanya layanan yang memang layak ditampilkan ke publik. Jangan menampilkan panel admin internal, port database, atau nama layanan privat di halaman publik.

Backup dan upgrade

Semua daftar monitor, token notifikasi, dan riwayat uptime disimpan di volume /app/data. Anda bisa mencadangkan volume ini dari tab Backup & Pemulihan pada layanan uptime-kuma:

  1. Hentikan proyek (backup volume mengharuskan proyek dalam keadaan berhenti).
  2. Buat backup, lalu jalankan kembali proyek setelah selesai.
  3. Unduh satu salinan backup dan simpan dengan aman (di dalamnya terdapat token bot dan URL webhook notifikasi Anda). Lihat Backup & Pemulihan.

Template ini memakai louislam/uptime-kuma:1 (dikunci pada versi utama v1). Jika ingin upgrade ke versi utama berikutnya, baca dulu catatan rilis Uptime Kuma dan cadangkan /app/data terlebih dahulu; setelah struktur database dimigrasikan ke versi baru, mengganti image kembali ke versi lama biasanya tidak bisa langsung jalan dan Anda perlu memulihkan backup dari sebelum upgrade.

Pertanyaan umum

Saat menekan "Test" pesan masuk, tetapi saat layanan mati tidak ada peringatan? Buka halaman edit monitor tersebut, periksa daftar Notifications di sebelah kanan apakah kanal notifikasi tadi sudah dicentang, lalu klik Save di bagian bawah.

Apakah perlu me-mount Docker Socket dari host? Tidak perlu. Pemeriksaan HTTP(s) dan port TCP sudah mencakup hampir semua layanan, dan tidak me-mount docker.sock jauh lebih aman. Untuk memantau layanan lain di dalam proyek Zenavo yang sama, Anda juga bisa memakai alamat jaringan privat (seperti http://api.zenavo.internal:3000/healthz).

Bagaimana jika terlalu sering menerima peringatan palsu? Naikkan Retries pada monitor dari 0 menjadi 2–3 kali dan longgarkan sedikit batas waktu (timeout) agar gangguan jaringan sesaat tersaring.

Mulailah dari template Uptime Kuma: pasang domain, buat akun admin, hubungkan notifikasi, dan uji sekali dengan mematikan serta menyalakan layanan tes agar pemantauan Anda benar-benar siap.