Pantau API Server / Website Kamu dengan Monika — Open Source HTTP Monitoring Tool

Nico Prananta
Hyperjump Tech
Published in
4 min readMay 18, 2021

--

Pemantauan Server

Di artikel sebelumnya, salah satu pendiri Hyperjump, Ariya Hidayat, mengantarkan tentang apa itu Pemantauan Sintetik (Synthetic Monitoring). Beliau pun sedikit menyampaikan tentang sebuah aplikasi pemantauan open source buatan Hyperjump bernama Monika. Di artikel kali ini saya akan bercerita lebih jauh mengenai Monika, Monitoring Berkala.

Apa itu Monika?

Monika adalah sebuah aplikasi command line interface (CLI) untuk memantau website dan API server. Hingga saat artikel ini ditulis, Monika (versi 1.3.3) dapat memantau dua hal yaitu kode status yang dikembalikan oleh server (HTTP status code) dan lama waktu sampai respon diterima (response time).

Terima Notifikasi dari kanal apapun

Bila server yang dipantau bermasalah, misalnya server tidak dapat diakses, atau kode status yang dikembalikan adalah kode 500, atau responnya lama diterima, Monika dapat memberitahu kamu dengan cara mengirimkan pesan notifikasi.

Fitur Monika

  • Tidak perlu diinstal di server yang sama. Monika dapat diinstal dimana saja. Bila kamu instal dan jalankan Monika dari beberapa tempat yang berbeda, kamu dapat memantau server yang ingin dipantau dari berbagai pelosok dunia. Misalnya, bila Monika diinstal di komputer di Jakarta dan Surabaya, kamu dapat segera mengetahui apabila server kamu tidak dapat di akses dari Surabaya saja, Jakarta saja, atau kedua-duanya.
  • Tidak hanya indeks. Dengan Monika, kamu bisa memantau bukan hanya halaman utama website saja (misalnya https://monika.hyperjump.tech/), tapi juga semua path yang ada di website tersebut (misalnya https://monika.hyperjump.tech/overview).
  • Tidak hanya GET. Dengan Monika, kamu bisa memantau dengan menggunakan semua metode HTTP seperti GET, POST, PUT, dan sebagainya.
  • Pantau pengiriman formulir. Karena Monika dapat mengirimkan metode HTTP POST, maka kamu juga dapat memantau pengiriman formulir dengan cara mengirimkan isi formulir (HTTP POST Body). Misalnya, kamu dapat memantau proses login di website kamu.
  • Alert yang fleksibel. Kamu dapat memilih untuk memantau kode status, durasi respon, atau kedua-duanya. Untuk memantau durasi respon, kamu juga dapat menyebutkan berapa lama waktu minimumnya. Kedepannya, kami berencana untuk membuat sistem alert yang lebih fleksibel dan berguna lagi.
  • Beragam kanal notifikasi. Saat ini Monika dapat mengirimkan notifikasi ke kamu melalui beragam kanal notifikasi: Slack, Email melalui SMTP server, Mailgun dan SendGrid, Telegram, Discord, Microsoft Teams, webhook, dan WhatsApp Business.
  • Buat konfigurasi dengan mudah. Monika membutuhkan sebuah berkas konfigurasi untuk berjalan. Di dalam berkas ini diperlukan adanya beberapa hal seperti URL yang ingin dipantau, konfigurasi kanal notifikasi, dan lain-lain. Untuk memudahkan pembuatan berkas konfigurasi, kami sudah menyiapkan sebuah aplikasi web bernama Monika Config Generator.
  • Chaining Request. Ada kalanya kita ingin memantau halaman dashboard di sebuah website. Namun halaman tersebut hanya dapat diakses oleh pengguna yang sudah log in. Dengan menggunakan Monika, kamu dapat mengirimkan beberapa requests secara berturut-turut. Dalam kasus ini, kita dapat mengirimkan login POST request dahulu, lalu halaman dashboard. Token autentikasi dari request pertama bisa digunakan di request kedua saat memantau halaman dashboard.

Apa bedanya dengan aplikasi yang lain?

Sampai disini mungkin kamu mulai teringat dengan aplikasi atau layanan yang sudah ada dan mirip seperti UptimeRobot atau Pingdom. Maka izinkanlah saya sedikit berbagi mengenai keunggulan Monika.

  • Monika adalah aplikasi Open Source. Sebagai aplikasi open source, ada beberapa benefit untuk kamu sebagai pengguna. Diantaranya adalah kamu dapat memperbaiki atau menambahkan sendiri fitur yang belum ada di Monika. Sebagai informasi, Monika adalah aplikasi Node.js dan ditulis menggunakan bahasa pemrograman TypeScript.
  • Efek lain dari keterbukaan Monika adalah GRATIS. Untuk menggunakan Monika, kamu tidak perlu bayar apapun dan tanpa limitasi apapun. Kamu bisa menggunakan Monika untuk memantau satu website atau bahkan ribuan website. Kamu bisa menerima notifikasi melalui Slack, atau bahkan melalui semua kanal notifikasi yang didukung. Kamu juga bisa menjalankan Monika di komputer di rumah, atau di awan. Monika bisa dijalankan di 1 komputer atau sebanyak yang kamu mampu.
  • Monika masih baru dan kamu bisa ikut berkontribusi. Walaupun saat ini fitur-fitur di Monika masih tampak minim, kami memiliki banyak rencana untuk mengembangkan Monika lebih jauh. Kamu bisa membantu dengan cara berkontribusi langsung, atau bahkan dengan cara menyumbangkan ide fitur-fitur yang kamu inginkan di Monika.

To The Moon and Beyond

Monika adalah sebuah proyek yang spesial di Hyperjump. Masih banyak yang ingin kami buat di Monika. Tim Hyperjump sangat bersemangat untuk mengembangkan Monika secara berkelanjutan.

Oleh karena itu, saran, laporan bug, dan ide fitur kamu sangat kami harapkan. Silakan coba Monika dengan mengunjungi halaman Githubnya, telusuri dokumentasinya di sini, dan jangan lupa memberikan Star di Github 😁.

UPDATE! We are on Product Hunt! Please check it out, vote, and spread the word! 🎉

Hyperjump is an open-source-first company providing engineering excellence service. We aim to build and commercialize open-source tools to help companies streamline, simplify, and secure the most important aspects of its modern DevOps practices.

--

--