Thursday, 21 May 2026

Cek Jumlah Siswa Aktif pada saat menjawab Quiz Ulangan/Asesmen

 

Buat file konfigurasi password

Buat file:

nano ~/.my.cnf
Isi:
[client]
user=root
password=PASSWORDMYSQLANDA
Contoh:
[client]
user=root
password=abc123
 
Lalu amankan file:
chmod 600 ~/.my.cnf
 
Setelah itu

Kalau Guru ingin melihat perkembangan jumlah siswa aktif selama 1 jam dalam bentuk baris-baris log, lebih bagus dibuat seperti ini:

WAKTU JUMLAH_AKTIF 2026-05-13 20:00:05 15 2026-05-13 20:00:10 22 2026-05-13 20:00:15 37 ...

Jadi:

  • 1 baris = 1 kali pengecekan

  • bisa dianalisis nanti

  • bisa tahu puncak trafik


Struktur kolom yang bagus

Minimal 2 kolom:

KolomIsi
waktutimestamp pengecekan
jumlah_aktifjumlah siswa aktif

Kalau mau lebih lengkap:

KolomIsi
waktuwaktu pengecekan
jumlah_aktifuser aktif quiz
koneksijumlah koneksi server
cpu_loadload server
ram_usedRAM terpakai

Tapi untuk malam ini cukup:

  • waktu

  • jumlah_aktif


Cara paling mudah membuat log otomatis

Jalankan ini di terminal:

while true; do echo "$(date '+%F %T') $(mysql moodle2 -N -e " SELECT COUNT(DISTINCT userid) FROM mdl_logstore_standard_log WHERE component='mod_quiz' AND timecreated > UNIX_TIMESTAMP(NOW()) - 150; ")" >> quizlog.txt sleep 10 done

Penjelasan

date

mengambil waktu sekarang.


mysql ...

mengambil jumlah siswa aktif.


>> quizlog.txt

menyimpan ke file.


sleep 10

ulang tiap 10 detik.


Hasil file nanti

Isi quizlog.txt:

2026-05-13 20:00:01 12 2026-05-13 20:00:11 18 2026-05-13 20:00:21 25 2026-05-13 20:00:31 41

Kalau 1 jam

Karena interval 10 detik:

3600 / 10 = 360 baris

Jadi sekitar 360 baris log selama 1 jam.


Cara menghentikan

Tekan:

CTRL + C

Cara melihat hasil

cat quizlog.txt

atau realtime:

tail -f quizlog.txt

Ini bagus sekali untuk analisis:

  • jam paling ramai

  • puncak siswa aktif

  • apakah server drop

  • kapan submit massal terjadi.

     

    ===========================

    root@debian:~# while true; do
    echo "$(date '+%F %T') | $(mysql moodle2 -N -e "
    SELECT COUNT(DISTINCT userid)
    FROM mdl_logstore_standard_log
    WHERE component='mod_quiz'
    AND timecreated > UNIX_TIMESTAMP(NOW()) - 150;
    ")" >> quizlog.txt
    sleep 10
    done
     

     ++++++++++++++++++++

    pantau realtime

    ++++++++++++++++++++

    root@debian:~# tail -f quizlog.txt
    2026-05-14 04:15:43 | 0
    2026-05-19 22:18:04 | 0
    2026-05-19 22:18:14 | 0
    2026-05-19 22:18:24 | 0
    2026-05-19 22:18:34 | 0
    2026-05-19 22:18:44 | 0
    2026-05-19 22:18:54 | 0
    2026-05-20 20:20:42 | 52
    2026-05-20 20:20:52 | 52
    2026-05-20 20:21:02 | 51
    2026-05-20 20:21:12 | 52
    2026-05-20 20:21:22 | 52
    2026-05-20 20:21:32 | 51
    2026-05-20 20:21:42 | 52
    2026-05-20 20:21:52 | 51
    2026-05-20 20:22:02 | 49
    2026-05-20 20:22:12 | 46
    2026-05-20 20:22:22 | 46
    2026-05-20 20:22:32 | 46
    2026-05-20 20:22:42 | 45
    2026-05-20 20:22:52 | 45
    2026-05-20 20:23:02 | 46
    2026-05-20 20:23:12 | 48
    2026-05-20 20:23:22 | 50
    2026-05-20 20:23:32 | 49
    2026-05-20 20:23:42 | 49
    2026-05-20 20:23:52 | 50
     

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

    Ya Guru 👍
    Command itu otomatis memakai ~/.my.cnf.

    Karena saat Guru menjalankan:

    mysql moodle2 -N -e "..."
    

    tanpa:

  • -u

  • -p

maka client mysql akan mencari konfigurasi login dari:

~/.my.cnf

Isi file itu misalnya:

[client]
user=root
password=PASSWORDMYSQL

Jadi command loop tadi:

  • membaca username/password otomatis

  • tidak meminta password lagi

  • cocok untuk logging jangka panjang.


Cara memastikan benar memakai ~/.my.cnf:

Coba jalankan:

mysql moodle2 -e "SHOW DATABASES;"

Kalau langsung berhasil tanpa minta password:
✅ berarti ~/.my.cnf dipakai dengan benar.


Kalau file ~/.my.cnf salah:

  • biasanya muncul:

Access denied

atau mysql meminta password lagi.

  •  

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Bisa sekali Guru 👍
Karena quizlog.txt berada di server Moodle (Debian), Guru bisa menariknya ke laptop dengan beberapa cara.

Karena Guru biasa memakai SSH, paling mudah pakai scp.


Cara 1 — Tarik file ke laptop Ubuntu (paling mudah)

Dari laptop Aspire jalankan:

scp root@IP_SERVER:/root/quizlog.txt .

Contoh:

scp root@192.168.1.113:/root/quizlog.txt .

Artinya:

  • ambil file dari server

  • simpan di folder laptop saat ini (.)


Kalau mau simpan ke Downloads

scp root@192.168.1.113:/root/quizlog.txt ~/Downloads/

Cara 2 — Pakai File Manager Ubuntu

Di laptop:

  1. buka Files

  2. Other Locations

  3. Connect to Server

Isi:

sftp://root@192.168.1.113

Lalu login password server.

Nanti file server muncul seperti folder biasa.

Ambil:

/root/quizlog.txt

Cara 3 — Langsung lihat isi tanpa copy

Di laptop:

ssh root@192.168.1.113 "tail -f /root/quizlog.txt"

Artinya:

  • melihat log realtime dari laptop

  • tanpa masuk server manual


Kalau mau dibuat CSV

Bisa juga nanti di server:

cp quizlog.txt quizlog.csv

Lalu dibuka di:

  • LibreOffice Calc

  • Excel

Karena formatnya sudah mirip CSV.


Saran bagus malam ini

Biarkan logging berjalan di server:

while true; do ...

Lalu dari laptop Guru cukup:

tail -f quizlog.txt

atau tarik file setelah ujian selesai.

 
  
Share:

0 comments:

Post a Comment