Monitoring Disk Usage

GET ID Location

Klik nama lokasi yang ingin di monitoring di aplikasi, ambil ID dari URL

http://103.175.220.168/locations/01J0ZBWXWZB54NCYYMYCFZ9ZCT/edit <-- URL
01J0ZBWXWZB54NCYYMYCFZ9ZC <-- ID Lokasi

Windows 10/11

PowerShell + Invoke-RestMethod

๐Ÿ”ง Script PowerShell:

# Ambil info disk C:
$disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID = 'C:'" #ubah partisi tempat mysql data
$locationId = "ID Location" #ubah id lokasi didapat dari aplikasi
$mountPoint = "C:" #ubah partisi sesuai DeviceID
$size = "{0:N2}" -f ($disk.Size / 1GB)
$used = "{0:N2}" -f (($disk.Size - $disk.FreeSpace) / 1GB)
$available = "{0:N2}" -f ($disk.FreeSpace / 1GB)
$usagePercent = "{0:N0}" -f ((($disk.Size - $disk.FreeSpace) / $disk.Size) * 100)

# Buat payload JSON
$payload = @{
    location_id    = $locationId
    mount_point    = $mountPoint
    size           = $size
    used           = $used
    available      = $available
    usage_percent  = $usagePercent
} | ConvertTo-Json

# Kirim ke Laravel API
Invoke-RestMethod -Uri "http://103.175.220.168/api/disk-usages" `
    -Method Post `
    -Body $payload `
    -ContentType "application/json"

Buat script .ps1 lalu jalankan otomatis via Task Scheduler

  1. Simpan script di file, misalnya: Send-DiskUsage.ps1

  2. Jalankan otomatis:

    • Buka Task Scheduler

    • Create Basic Task

    • Trigger: daily/hourly

    • Action: Start a program โ†’ powershell.exe

    • Add arguments: -File C:\path\to\Send-DiskUsage.ps1


Untuk menjalankan file PowerShell (Send-DiskUsage.ps1) secara manual, ikuti langkah-langkah berikut:

โœ… Langkah 1: Pastikan file siap

Misalnya kamu simpan file Send-DiskUsage.ps1 di:


โœ… Langkah 2: Buka PowerShell sebagai Administrator

  • Klik Start

  • Cari "PowerShell"

  • Klik kanan > Run as Administrator


โœ… Langkah 3: Jalankan script

Ketik perintah ini di jendela PowerShell:

Atau jika file berada di folder saat ini:


โš ๏ธ Jika muncul error script is disabled, ubah execution policy:

Ketik:

Lalu ketik A jika diminta konfirmasi.


โœ… Hasil

Kalau script benar dan URL API aktif, data akan terkirim dan kamu akan lihat output seperti:


CentOS

Bash

๐Ÿ› ๏ธ 1. Masuk ke Terminal CentOS

Pastikan kamu login ke server CentOS, sebagai user yang memiliki hak untuk menjalankan cron dan mengakses disk.


๐Ÿ“ 2. Buat File Script

Gunakan nano untuk membuat file script, misalnya di /usr/local/bin/send-disk.sh:


๐Ÿงพ 3. Isi Script Berikut


๐Ÿ’พ 4. Simpan dan Keluar dari Nano

Tekan:

  • CTRL + O โ†’ Enter (untuk menyimpan)

  • CTRL + X โ†’ (untuk keluar dari nano)


๐Ÿ” 5. Beri Izin Eksekusi


๐Ÿงช 6. Tes Script Manual

Jalankan script secara manual untuk tes:

Atau untuk partisi lain:


๐Ÿ•’ 7. Tambahkan ke Cronjob

Jalankan:

Tambahkan baris berikut untuk menjalankan setiap hari :

โœ… 8. Cek Cron Log (Opsional)

Untuk melihat apakah cron berhasil jalan:

Last updated