Pengamatan (add-on)
Grafik metrik per menit, proses yang menghabiskan CPU dan RAM, serta endpoint situs yang lambat atau galat. Datanya direkam dan tinggal di server Anda sendiri.
Pengamatan mati secara bawaan di semua akun. Server Anda tidak merekam apa pun sampai add-on diaktifkan. Selama tagihan belum ada, add-on ini gratis. Untuk mengaktifkannya, hubungi kami lewat tombol Enterprise dan sebutkan "Add-on Pengamatan"; admin Saka menyalakannya per akun.
Untuk apa
Kartu Kesiapan dan peringatan ambang memberi tahu bahwa ada masalah. Pengamatan menjawab kenapa: proses apa yang membuat CPU naik pukul 03.12, apakah swap mulai terpakai sebelum server melambat, endpoint mana yang paling sering mengembalikan galat 5xx. Cocok untuk server yang melayani banyak situs atau aplikasi dan perlu ditelusuri, bukan sekadar dipantau hidup atau mati.
Yang direkam
| Data | Isi | Interval |
|---|---|---|
| Metrik host | CPU, I/O wait, beban rata-rata 1/5/15 menit, RAM terpakai, swap terpakai, lalu lintas jaringan masuk dan keluar, baca dan tulis disk, jumlah koneksi TCP yang tersambung | Tiap menit |
| Proses teratas | 5 proses terbesar menurut CPU dan 5 menurut RAM, lengkap dengan baris perintah (dipotong) dan nama kontainer Docker bila proses itu berjalan di kontainer | Tiap menit |
| Endpoint situs | Dari log akses web server situs yang dikelola Saka: jumlah permintaan, jumlah 4xx dan 5xx, durasi rata-rata, p95, dan durasi terlama per endpoint | Diringkas tiap 5 menit |
Alamat endpoint dinormalkan supaya ribuan alamat berbeda dihitung satu: GET /pesanan/12345?ref=abc dan GET /pesanan/67890 sama-sama menjadi GET /pesanan/:id. Segmen yang berupa angka atau kode panjang diganti :id, dan bagian setelah tanda tanya dibuang sehingga token atau data pribadi di kueri tidak ikut tercatat.
Di mana data disimpan
Di server Anda, di folder data agent, bukan di Saka. Panel hanya membaca ringkasannya saat Anda membuka kartu. Data disimpan 7 hari; yang lebih lama terhapus sendiri. Bila add-on dimatikan, agent langsung berhenti merekam dan data yang tersisa terhapus sendiri setelah 7 hari. Mencabut agent dengan Lepas server ikut menghapusnya.
Seberapa ringan
- Satu kali pembacaan
/procper menit, dan satu kali pindai daftar proses. - Satu berkas teks kecil per jam (kisaran beberapa megabita untuk seminggu), ditambah berkas ringkasan endpoint per hari.
- Tidak ada kode yang ditempel ke aplikasi atau situs Anda, tidak ada pustaka yang harus dipasang, dan tidak ada proses tambahan: perekam berjalan di dalam agent yang sudah ada.
- Log akses yang dipakai sudah dibaca agent untuk keperluan lain, jadi tidak ada pembacaan log kedua.
- Panel tidak melakukan polling. Data diambil saat kartu dibuka, saat rentang diganti, atau saat Anda menekan Muat ulang.
Memakai menu Pengamatan
Setelah add-on dinyalakan untuk akun Anda, menu Pengamatan muncul di bilah atas (menu ini tidak tampil bila add-on belum aktif). Pilih server di bagian atas halaman. Dari halaman server, kartu Pengamatan juga punya tombol yang membuka menu ini untuk server tersebut.
- Pilih rentang dari 1 jam sampai 7 hari. Grafik diringkas maksimal sekitar 240 titik.
- Arahkan kursor (atau geser jari) ke salah satu grafik. Garis penanda muncul di semua grafik dan tabel Proses pada ... menunjukkan proses terbesar pada saat itu. Bawaannya adalah saat CPU tertinggi, jadi penyebab lonjakan langsung terlihat.
- Tabel Proses penghabis CPU sepanjang rentang merangkum siapa yang paling sering memakai CPU.
- Tabel Endpoint situs bisa diurutkan menurut yang paling lambat (p95), paling banyak galat 5xx, atau paling banyak diminta, dan disaring per domain.
Setelah add-on dinyalakan, grafik butuh beberapa menit untuk terisi karena agent baru mulai merekam saat itu.
Galat, cari log, dan peringatan
Tiga tab lain di menu yang sama:
- Galat: baris log berlevel galat dari kontainer yang berjalan dan jurnal sistem, dikelompokkan. Angka, ID, dan waktu diabaikan, jadi galat yang sama dihitung satu kali, lengkap dengan kapan pertama dan terakhir terlihat. Dikumpulkan tiap 5 menit selama add-on menyala.
- Cari log: mencari langsung di jurnal sistem atau log satu kontainer, dengan kata kunci atau regex, level, dan rentang sampai 3 hari. Tidak ada indeks yang disimpan, jadi tidak ada biaya saat tidak dipakai. Pencarian dibatasi 20 detik dan 16 MB, dan hanya sumber dari daftar yang bisa dipilih.
- Peringatan: aturan seperti CPU server, I/O wait, swap, beban per inti, koneksi TCP, CPU satu proses (mis.
mysqld), p95 situs, atau rasio 5xx situs yang bertahan N menit. Agent mengevaluasi tiap menit dan mengabari Telegram Anda, paling sering sejam sekali per aturan, lalu mengabari saat pulih setelah 3 menit normal. Metrik situs dinilai per 5 menit dan butuh minimal 10 sampai 20 permintaan.
Pemantauan berkas PHP
Tab Berkas PHP mencatat berkas PHP (serta .htaccess dan .user.ini) yang baru, berubah, atau dihapus di folder web. Folder di lokasi umum ditemukan otomatis (situs Saka, /var/www, public_html, aaPanel), dan Anda bisa menambah folder lain, mis. /opt/whmcs. Tiap kejadian menyimpan waktu, ukuran, waktu ubah, dan hash SHA-256 isinya, jadi bisa dicocokkan dengan log akses untuk melihat dari mana berkas itu masuk.
- Mencurigakan: isi berciri shell (mis.
eval(base64_decode(...))atau perintah dari input pengunjung), PHP di folder unggahan atau cache, dan.htaccessyang membuat gambar atau teks dijalankan sebagai PHP. Ini dikabari ke Telegram segera, paling sering sekali per 10 menit. - Perubahan biasa: dikabari hanya bila sedikit (5 berkas atau kurang). Pembaruan massal seperti update plugin atau deploy dicatat tanpa kabar, supaya tidak membanjiri Telegram.
- Ringan: yang dibaca hanya nama berkas dan daftar folder, dibandingkan dengan daftar sebelumnya (ukuran dan waktu ubah). Isi dibaca hanya untuk berkas yang baru atau berubah. Pindai berjalan tiap 10 menit, pelan-pelan, dan dibatasi 2 menit. Cache bawaan framework (Laravel, Symfony) dan
node_modulesdilewati. - Arsip: kejadian ikut diarsipkan ke S3 bila arsip aktif, jadi riwayatnya tetap ada setelah 7 hari.
Perubahan dikenali dari ukuran dan waktu ubah. Penyerang yang memalsukan waktu ubah dan menjaga ukuran tetap sama tidak terdeteksi. Pindai pertama hanya membuat daftar dasar, jadi berkas yang sudah ada sebelum pemantauan dinyalakan dianggap normal (shell lama tidak ditemukan; gunakan pemindaian malware terpisah untuk itu).
Arsip S3 dan penelusuran insiden
Tab Arsip S3 menyimpan data Pengamatan lebih lama dari 7 hari di bucket S3 milik Anda sendiri, yaitu tujuan yang sama dengan Cadangan ke S3 (IDCloudHost Object Storage, Amazon S3, Cloudflare R2, dan penyedia lain yang kompatibel). Saka tidak menyediakan penyimpanan; bucket dan biayanya ada di akun S3 Anda. Isinya dienkripsi dengan kunci yang hanya ada di server Anda, jadi penyedia S3 tidak bisa membacanya, dan objeknya diberi akhiran .enc supaya tidak tercampur dengan arsip cadangan situs.
- Yang diarsipkan: berkas metrik, endpoint, dan galat setelah jamnya lewat. Log mentah hanya bila Anda memilihnya: galat dan peringatan (disarankan) atau semua log. Sumbernya jurnal sistem, login SSH, akses web semua situs Saka, log nginx, Apache, panel hosting (aaPanel, cPanel) dan log PHP di server itu, serta kontainer yang berjalan, per jam. Berkas log web server ditemukan otomatis di lokasi umum dan dibaca hanya baris barunya, mulai dari saat arsip diaktifkan.
- Masa simpan: Anda yang menentukan: 30, 90, 180, 365 hari, jumlah hari bebas (1 sampai 3650), atau tanpa hapus otomatis. Objek yang lebih tua dari masa simpan dihapus otomatis dan dicek tiap 6 jam. Disk server tetap hanya 7 hari.
- Catatan data: log aplikasi sering memuat email, token, atau IP pengunjung dan bisa besar. Bucketnya milik Anda, jadi pilihannya ada di tangan Anda. Bawaannya hanya galat dan peringatan, dan akses web di mode itu hanya status 4xx dan 5xx.
Menelusuri insiden. Misalnya situs diretas dan Anda perlu tahu dari IP mana penyerang masuk dan alamat apa yang ia buka. Di tab Cari log, centang Arsip S3, pilih sumber Web server (untuk situs di luar Saka, seperti WHMCS di nginx atau Apache), Akses web (situs Saka), atau Login SSH (atau semua sumber), pilih rentang sampai 31 hari yang berakhir pada tanggal tertentu, lalu cari IP atau alamat (mis. wp-login.php atau /shell). Agar jejak akses web lengkap, pilih Semua log sebelum insiden terjadi: arsip hanya berisi yang sudah direkam sejak diaktifkan, jadi tidak bisa menelusuri ke belakang sebelum itu. Tab Galat juga bisa memakai rentang 30 dan 90 hari dari arsip.
Query dan skrip yang lambat
Tab Lambat menjawab "kenapa situs saya lambat" dengan membaca log yang sudah ada di server: slow query log MySQL/MariaDB dan slowlog PHP-FPM. Query dikelompokkan setelah nilainya diganti tanda tanya, jadi seribu WHERE id = 42 dengan angka berbeda menjadi satu baris, lengkap dengan jumlah, total waktu, yang terlama, dan jumlah baris yang diperiksa. Jejak PHP-FPM dikelompokkan per skrip dan fungsi tempat ia berhenti.
Saka tidak mengubah konfigurasi database atau PHP Anda. Bila log belum menyala, tab ini menampilkan langkah menyalakannya (slow_query_log untuk MySQL, request_slowlog_timeout dan slowlog untuk PHP-FPM). Lokasi log ditemukan otomatis di tempat umum dan dari berkas pool PHP-FPM.
Kejadian di grafik
Garis putus-putus berwarna di grafik Ikhtisar menandai reboot, pembaruan agent Saka, perubahan paket sistem (apt, dnf, yum), perubahan berkas PHP, dan peringatan yang menyala. Daftar di bawah grafik memuat kejadian yang sama; klik satu untuk melompat ke waktunya. Tujuannya menjawab "apa yang berubah tepat sebelum lonjakan ini".
Riwayat lebih dari 7 hari
Bila Arsip S3 aktif, rentang Ikhtisar bisa 14 dan 31 hari. Tiap hari yang selesai diringkas menjadi rata-rata 5 menit dan diunggah (terenkripsi) ke bucket Anda; bagian grafik yang lebih lama dari 7 hari dibaca dari sana. Daftar proses dan tabel endpoint tetap hanya untuk 7 hari terakhir. Tanpa Arsip S3, rentang dibatasi 7 hari. Hari-hari sebelum arsip dinyalakan tidak punya riwayat.
Peringatan anomali
Selain ambang tetap, aturan peringatan bisa berbasis kebiasaan: CPU, koneksi TCP, atau lalu lintas jaringan dibandingkan dengan rata-rata jam yang sama pada hari-hari sebelumnya. Ambangnya kelipatan (mis. 3 kali biasanya) ditambah nilai minimal supaya lonjakan kecil tidak memicu apa pun. Server yang memang sibuk tiap pagi tidak ribut, tetapi lonjakan di jam yang biasanya sepi terdeteksi. Butuh minimal 3 hari data sebelum aturan anomali bisa menyala.
Pencarian tersimpan dan ikuti langsung
Di tab Cari log, Simpan pencarian ini menyimpan sumber, kata cari, level, dan rentang dengan sebuah nama (maksimal 30 per server), misalnya "login SSH gagal" atau "5xx di domain X", supaya investigasi berikutnya cukup memilihnya. Kotak Ikuti langsung memuat ulang hasil tiap 10 detik untuk 1 jam terakhir, berhenti saat Anda pindah tab.
Batasan
Pengamatan tidak melacak satu permintaan lewat beberapa layanan (trace terdistribusi) dan tidak memasukkan kode ke aplikasi Anda. Ini pandangan dari sisi server dan web server.
- Durasi adalah waktu server memproses permintaan, bukan waktu jaringan atau waktu muat di perangkat pengunjung.
- p95 berupa batas atas kelompok durasi (mis. 100 ms, 250 ms, 500 ms), jadi perkiraan, bukan angka persis.
- Endpoint hanya dihitung untuk situs yang dikelola Saka di server itu. Aplikasi lain di server yang tidak lewat web server situs Saka muncul di metrik host dan daftar proses, tetapi tidak di tabel endpoint.
- Satu endpoint dihitung per domain. Bila satu domain punya ratusan jalur berbeda dalam 5 menit, jalur berlebih digabung sebagai
(lainnya). - Riwayat di server hanya 7 hari; lebih lama butuh Arsip S3 dan hanya sejak arsip dinyalakan.
Terkait
Peringatan CPU, RAM, dan disk dengan notifikasi Telegram diatur di kartu ambang pada halaman server. Ringkasan lalu lintas dasar per situs tersedia di halaman situs tanpa add-on. Bagaimana Saka memperlakukan data Anda: Keamanan & privasi.