Setelah sistem otomatisasi berjalan, bagaimana cara memantau apakah itu masih hidup
Ini adalah pelajaran terberat yang saya dapat setelah membangun beberapa jalur otomatisasi: **sistem tidak boleh mati di tengah malam dan baru kamu sadari keesokan harinya**.
Saya pernah menerapkan tugas terjadwal, berpikir setelah mengatur cron, saya bisa lepas tangan. Hasilnya, setelah seminggu, saya cek status dan mendapati bahwa sistem sudah diam-diam berhenti selama 3 hari—koneksi database terputus, tanpa ada pemberitahuan. Sejak saat itu, saya membangun filosofi pemantauan yang lengkap, dan hari ini saya ingin membagikannya kepada kalian.
**Lapisan Pertama: Pemantauan Siklus Eksekusi**
Metode paling dasar adalah melihat last_run_at cron. Aturan saya adalah: **jika waktu terakhir berjalan melebihi 2 kali siklus yang diharapkan, segera aktifkan alarm**. Misalnya, tugas yang seharusnya berjalan setiap 5 menit, jika last_run_at sudah lebih dari 10 menit yang lalu, langsung kirim pesan darurat lewat Telegram. Indikator ini sangat efektif—sekitar 90% dari "sistem down" bisa ditangkap dalam waktu 1 jam, bukan menunggu departemen bisnis menyadarinya.
**Lapisan Kedua: Mekanisme Pemutusan API**
Ketidakstabilan API adalah hal biasa. Pendekatan saya adalah: **jika 3 kali permintaan API berturut-turut gagal, otomatis putus selama 24 jam**. Kenapa 3 kali? Karena 1-2 kali mungkin hanya gangguan jaringan, tetapi 3 kali berturut-turut menunjukkan bahwa ada masalah serius. Selama periode pemutusan, sistem tidak akan mencoba memanggil lagi, menghindari pemborosan kuota API dan ruang log yang berharga dalam keadaan salah. Ini jauh lebih efektif daripada mencoba ulang secara membabi buta.
**Lapisan Ketiga: Persistensi File Status**
Setiap kali sistem berjalan, saya mencatat status saat ini—jumlah sukses, jumlah gagal, timestamp, informasi kesalahan—ke dalam sebuah file status. File ini saya simpan selama 30 hari sejarah. Apa manfaat dari ini? Kita bisa melacak kembali—"kenapa tingkat postingan tiba-tiba jatuh ke 60% Rabu lalu?"—cukup dengan melihat log. File status ini tidak memakan banyak ruang, tetapi memberi saya rantai audit yang lengkap.
**Lapisan Keempat: Tinjauan Manual Mingguan**
Setiap minggu, saya menghabiskan 15 menit, saya biarkan sistem secara otomatis menghasilkan laporan ringkasan: tingkat keberhasilan posting, distribusi tingkat kesalahan, statistik jumlah kata, apakah ada fluktuasi abnormal. Tidak perlu terlalu sering, tetapi **tidak bisa sepenuhnya bergantung pada alarm otomatis**. Kadang-kadang, tren masalah tingkat kesalahan dari 2% naik menjadi 4% tidak akan diberitahu oleh pemantauan otomatis, tetapi dengan tinjauan manual, kita bisa langsung melihat "ini perlu perhatian".
**Inti Pemahaman**
Membangun otomatisasi itu cepat, tetapi **pemantauan yang benar-benar tepat adalah kunci untuk merasa tenang tanpa perlu mengawasi**. Pengalaman saya adalah: alarm otomatis bertanggung jawab untuk situasi darurat (sistem benar-benar down), tinjauan manual bertanggung jawab untuk masalah tren (yang semakin memburuk). Kombinasi keduanya, sistem ini dapat bertahan lama. Jika tidak, secerdas apapun otomatisasi itu, tetap hanya bom waktu yang terkurung dalam black box.
$BTC #DevOps #automatisasi