• Membuat UDP Log Di VPS Linux

    Panduan Lengkap: Cara Membuat Perintah udplog untuk Melihat User Aktif di VPS Linux

    Halo, teman-teman sysadmin! Pernahkah Anda merasa kesulitan untuk memantau user mana saja yang sedang aktif terhubung ke layanan UDP tunneling Anda di VPS? Anda mungkin sudah bisa melihatnya lewat log systemctl status, tapi tentu akan jauh lebih mudah jika ada perintah khusus yang menampilkannya dalam bentuk tabel yang rapi.

    Pada tutorial kali ini, kita akan membuat sebuah perintah kustom bernama udplog. Dengan mengetik udplog di terminal, Anda bisa langsung melihat daftar user yang sedang online beserta alamat IP mereka. Cara ini aman karena tidak akan merusak atau mengubah skrip asli Anda sama sekali.

    Mari kita mulai dari awal!

    1. Langkah 1: Buat Folder untuk Menyimpan Skrip

      Pertama, kita perlu membuat sebuah folder khusus untuk menyimpan skrip baru kita agar terorganisir. Buka terminal VPS Anda dan jalankan perintah berikut:

      sudo mkdir -p /opt/udp-proxy/bin

      Penjelasan: Perintah ini membuat folder /opt/udp-proxy dan sub-folder bin di dalamnya. Folder ini akan menjadi tempat kita menyimpan file skrip.

    2. Langkah 2: Buat File Skrip Panel

      Sekarang, kita akan membuat file kosong untuk skrip panel kita menggunakan editor teks nano.

      sudo nano /opt/udp-proxy/bin/show_users.sh

      Penjelasan: Perintah ini akan membuka editor teks nano dan membuat file baru bernama show_users.sh di dalam folder yang baru kita buat.

    3. Langkah 3: Tulis Kode ke Dalam Skrip

      Salin seluruh kode di bawah ini, lalu tempel ke dalam jendela nano yang terbuka.

      #!/bin/bash
      
      echo "════════════════════════════════════════════════"
      echo "                [ USER LOGIN UDP ]               "
      echo "════════════════════════════════════════════════"
      echo "┌──────────────────────────────────────────────┐"
      
      # Gunakan awk yang lebih kuat untuk mencari pola [src:...] dan [user:...]
      # Ini akan menemukan IP dan username di mana saja mereka berada di baris log
      if LOG_OUTPUT=$(sudo journalctl -u udp-custom.service --since "5 minutes ago" --no-pager | grep "Client connected" | awk '
          /\[src:/ && /\[user:/ {
              # Cari dan ambil IP Address
              match($0, /\[src:([^]]+)\]/, m)
              ip = m[1]
              # Cari dan ambil Username
              match($0, /\[user:([^]]+)\]/, u)
              user = u[1]
              # Cetak username dan IP jika keduanya ditemukan
              if (ip && user) {
                  printf "%-15s %-20s\n", user, ip
              }
          }' | sort -u); then
      
          if [ -n "$LOG_OUTPUT" ]; then
              printf " %-15s %-15s %-20s\n" "Status" "Username" "IP Address"
              echo "$LOG_OUTPUT" | while read -r user ip; do
                  printf " %-15s %-15s %-20s\n" "Aktif" "$user" "$ip"
              done
          else
              echo " Tidak ada user yang terhubung dalam 5 menit terakhir."
          fi
      else
          echo " Gagal mengambil log. Pastikan Anda menjalankan dengan sudo."
      fi
      
      echo "└──────────────────────────────────────────────┘"

      Penjelasan: Kode ini akan membaca log sistem, memfilternya untuk menemukan pesan "Client connected" dalam 5 menit terakhir, lalu menampilkannya dalam format tabel yang rapi.

    4. Langkah 4: Simpan File Skrip

      Setelah Anda menempelkan kode di atas, simpan filenya dengan cara:

      1. Tekan Ctrl + X di keyboard.
      2. Akan muncul pertanyaan di bagian bawah, ketik Y lalu tekan Enter.
    5. Langkah 5: Buat Skrip Bisa Dieksekusi

      Secara default, file yang baru dibuat belum bisa dijalankan. Kita perlu memberinya izin eksekusi dengan perintah:

      sudo chmod +x /opt/udp-proxy/bin/show_users.sh

      Penjelasan: Perintah chmod +x memberikan izin "eksekusi" pada file, sehingga bisa dijalankan seperti sebuah program.

    6. Langkah 6: Buat Perintah Pintasan udplog

      Agar kita bisa memanggil skrip tersebut hanya dengan mengetik udplog, kita akan membuat "jalan pintas" atau symbolic link.

      sudo ln -s /opt/udp-proxy/bin/show_users.sh /usr/local/bin/udplog

      Penjelasan: Perintah ln -s membuat symbolic link (jalan pintas) yang bernama udplog di folder /usr/local/bin. Folder ini sudah ada di "path" perintah Linux, jadi Anda bisa memanggilnya dari mana saja.

    7. Langkah 7: Uji Perintah Baru Anda

      Ini adalah langkah terakhir untuk memastikan semuanya berjalan dengan benar. Coba jalankan perintah baru Anda:

      udplog

      Jika semua langkah diikuti dengan benar, Anda akan langsung melihat output panel user yang sudah kita buat, mirip seperti ini:

      ════════════════════════════════════════════════
                      [ USER LOGIN UDP ]               
      ════════════════════════════════════════════════
      ┌──────────────────────────────────────────────┐
       Status          Username        IP Address      
       Aktif           suhartono       140.213.5.69   
       Aktif           tiotio          140.213.5.225  
       Aktif           yunidodo        112.215.170.75 
      └──────────────────────────────────────────────┘

    Kesimpulan

    Selamat! Sekarang Anda memiliki perintah udplog yang bisa dipanggil kapan saja untuk melihat daftar user yang sedang aktif terhubung ke VPS Anda. Ini adalah cara yang aman, efektif, dan rapi untuk memantau aktivitas user tanpa harus mengotak-atik skrip utama Anda. Selamat mencoba!

  • My Profile In Youtube

    ADDRESS

    Jalan Raya Badau Km.11 Rt.06/02 Tanjung Pandan Belitung 33451

    EMAIL

    purwana.cecep@gmail.com
    uraxarixteamxxx@gmail.com

    Telephone

    +628197887769