Proyek ini bertujuan untuk membangun sistem monitoring aset perusahaan menggunakan Checkmk secara terpusat, otomatis, dan seragam. Semua berkas konfigurasi, skrip instalasi (installer), dan skrip pemantauan (local checks) dikelola secara terpusat melalui repositori GitHub resmi: andin1st/scriptcmk.
andin1st/scriptcmk/
βββ .gitignore
βββ README.md
βββ docker-compose-checkmk.yml
βββ linux/
β βββ install.sh # Skrip Bootstrap Installer Linux Client (Multi-Distro)
β βββ install_server_stack.sh # Auto-Installer Server Stack (Docker Engine, Dockge, Checkmk Community)
β βββ local_checks/ # 10 Skrip Local Checks Linux
β βββ battery_health.sh # Deteksi Kesehatan Baterai (UPower & Sysfs Fallback)
β βββ cpu_info.sh # Metrik CPU (Model, Speed, Cores, Load, Temp)
β βββ disk_nvme_health.sh # Pemantau Kesehatan Disk (NVMe, SATA SSD TBW, SATA HDD)
β βββ fan_health.sh # Pemantau Kipas (RPM vs Suhu CPU)
β βββ info_network.sh # Performa & Bandwidth Jaringan (RX/TX Rate & IP)
β βββ info_OS_office.sh # Informasi OS & Deteksi Aplikasi Office (LibreOffice, Onlyoffice, WPS)
β βββ ram_health.sh # Uji RAM Asinkron via memtester (20% Free RAM)
β βββ ram_usage.sh # Penggunaan RAM Fisik Real-time (Used, Free, Total)
β βββ remote_apps.sh # Deteksi ID AnyDesk & RustDesk
β βββ storage_usage.sh # Penggunaan Kapasitas Partisi Penyimpanan Fisik
βββ windows/
βββ install.ps1 # Skrip Bootstrap Installer Windows Client (Mode Interaktif & CLI)
βββ local_checks/ # 10 Skrip Local Checks Windows
βββ battery_health.ps1 # Deteksi Baterai Laptop vs PC Desktop
βββ cpu_info.ps1 # Metrik CPU & Suhu Windows
βββ disk_nvme_health.ps1 # Kesehatan NVMe, SSD, & HDD Windows
βββ fan_health.ps1 # Pemantau Kipas Windows (Win32_Fan / CIM)
βββ info_network.ps1 # Statistik Jaringan Windows (IP & Throughput)
βββ info_OS_office.ps1 # Detail OS Windows & Deteksi MS Office / Onlyoffice
βββ ram_health.ps1 # Uji RAM Asinkron Windows (20% Free RAM)
βββ ram_usage.ps1 # Penggunaan RAM Fisik Windows
βββ remote_apps.ps1 # Deteksi ID AnyDesk & RustDesk (--get-id)
βββ storage_usage.ps1 # Penggunaan Kapasitas Storage Windows
Jalankan perintah satu baris ini pada terminal server Linux (Ubuntu/Debian/RHEL/Fedora) dengan hak akses root / sudo:
curl -fsSL https://raw.githubusercontent.com/andin1st/scriptcmk/main/linux/install_server_stack.sh | sudo bashInfo Akses Dashboard Server:
- Dockge Manager:
http://<IP_SERVER>:5001- Checkmk Web GUI:
http://<IP_SERVER>:8080/cmk(User:cmkadmin| Pass:cmkadmin)- Agent Registration Port:
<IP_SERVER>:8000
curl -sSfgL https://raw.githubusercontent.com/andin1st/scriptcmk/main/linux/install.sh | sudo bashcurl -sSfgL https://raw.githubusercontent.com/andin1st/scriptcmk/main/linux/install.sh | sudo bash -s -- \
-s 192.168.1.100:8080 \
-d cmk \
-v 2.5.0p14-1 \
-g andin1st/scriptcmkJalankan perintah berikut melalui PowerShell (Administrator):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/andin1st/scriptcmk/main/windows/install.ps1'))Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex "& { $(New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/andin1st/scriptcmk/main/windows/install.ps1') } -s 192.168.1.100:8080 -d cmk -v 2.5.0p14-1"Pendaftaran sertifikat mTLS (Mutual Transport Layer Security) dilakukan satu kali (one-time registration) setelah instalasi agen untuk mengamankan jalur enkripsi antara agen dan server Checkmk.
sudo cmk-agent-ctl register \
--hostname <NAMA_HOST_CLIENT> \
--server <IP_SERVER_CHECKMK>:8000 \
--site cmk \
--user cmkadmin$ctlPath = "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe"
if (-not (Test-Path $ctlPath)) { $ctlPath = "C:\Program Files\checkmk\service\cmk-agent-ctl.exe" }
& "$ctlPath" register `
--hostname <NAMA_HOST_CLIENT> `
--server <IP_SERVER_CHECKMK>:8000 `
--site cmk `
--user cmkadminSeluruh output local check menggunakan placeholder data kinerja (-) serta pembatas visual Unicode Light Vertical Bar (β) untuk menjamin keakuratan parsing data Checkmk.
- Fungsi: Mendeteksi secara dinamis baterai laptop (UPower / Sysfs / WMI) dan PC Desktop.
- Format Output:
0 "Health_Battery" - Status Battery : Fully Charged β Design Capacity : 40w/h β Current Capacity : 36w/h β Health : 90% β Battery Level : 100%
- Fungsi: Membaca spesifikasi prosesor fisik, menghitung load %, kecepatan clock, dan sensor suhu CPU.
- Format Output:
0 "CPU_Info" - Spesifikasi : Intel Core i3 13100 | Clock Speed : 3.4Ghz | Core/Thread : 4/8 | CPU Load : 12% | CPU Temperature: 48 Celcius
- Fungsi: Pemantau penyimpanan terpadu (NVMe, SATA SSD, HDD). Menghitung TBW berbasis algoritma heuristik LBA serta pelacakan bad sector HDD.
- Format Output (SSD):
0 "Storage_Health_sda" - Status : OK β Model: CS900 SSD 120GB (111.79 GB) β Status: PASSED β Temp: 26C β Health: 100% β Read: 4.8 TB β Written: 5.2 TB β Write/Day: 35.50 GB β Est. Life: >10 Years
- Fungsi: Membandingkan kecepatan putaran kipas pendingin (fan RPM) terhadap suhu CPU.
- Format Output:
0 "FAN_Health" - Status : OK | FAN Speed : 2319rpm | Remark: FAN Condition Good
- Fungsi: Melacak statistik performa jaringan, RX/TX Rate, serta IP Address aktif secara real-time.
- Format Output:
0 "Info_Network_wlo1" in=122554432c|out=3586048c OK - IP Address: 192.168.43.33 | Total Download: 114.14 GB | Total Upload: 3.34 GB | RX Rate : 250.20 KB/s | TX Rate : 123.00 KB/s
- Fungsi: Menyajikan rincian distribusi OS, kernel, serta pendeteksian terintegrasi aplikasi office (LibreOffice, OnlyOffice, WPS, MS Office).
- Format Output:
0 "Info_OS" - OK - OS: Ubuntu 24.04 LTS | Kernel: 6.8.0-40-generic β Checked At: 2026-09-24 16:00:00
- Fungsi: Uji kesehatan memori RAM asinkron (alokasi dinamis 20% Free RAM) beserta pemetaan slot fisik RAM (SMBIOS/DMI).
- Format Output:
0 "Health_RAM" - Status : OK β Result: Passed β Tested Size: 1638M β Last Test: 2026-09-24 11:00 β Used Slots: 2/2 (0 Empty) β Active Modules: [8GiB,8GiB] β Log: memtester passed successfully.
- Fungsi: Memantau persentase penggunaan memori fisik (RAM) real-time.
- Format Output:
0 "RAM_Usage" - Status : OK β Used: 45% β Used Space: 3.60 GB β Free: 4.40 GB β Total: 8.00 GB
- Fungsi: Mengidentifikasi ID unik aplikasi remote support yang terpasang (AnyDesk & RustDesk).
- Format Output:
0 "Remote_Apps" - Status : OK β AnyDesk ID: 123456789 β RustDesk ID: 987654321
- Fungsi: Memantau persentase kapasitas partisi penyimpanan fisik lokal (bebas virtual/tmpfs).
- Format Output:
0 "Storage_Usage_root" - Status : OK β Partition: / β Used: 42% β Free: 139.20 GB β Total: 240.00 GB
Checkmk menginterpretasikan status (OK / Warning / Critical) berdasarkan matriks keputusan baku berikut:
| Parameter Monitoring | OK (0) | Warning (1) | Critical (2) | Keterangan / Sumber Data |
|---|---|---|---|---|
| Suhu CPU | β€ 75Β°C |
> 75Β°C s.d β€ 85Β°C |
> 85Β°C |
Sensor ACPI / CPUTIN / Coretemp |
| FAN Speed | > 1600 RPM atau 0 RPM (Jika Fanless/PC) |
< 1600 RPM (Saat suhu tinggi) |
Kipas macet / mati saat overheat | lm-sensors / WMI / CIM |
| Battery Health | β₯ 60% |
40% - 59% |
β€ 20% |
UPower / sysfs / WMI |
| SSD Health | > 90% |
81% - 90% |
β€ 80% |
Remaining Life / TBW Wearout |
| HDD Bad Sector | 0 | Reallocated/Pending > 0 |
Reallocated β₯ 50 |
SMART Reallocated Sector Count |
| RAM Usage | < 85% |
β₯ 85% s.d < 95% |
β₯ 95% |
/proc/meminfo / Win32_OperatingSystem |
| RAM Health | Passed | - | Failed | Uji Alokasi Memori Dinamis (20% Free RAM) |
| Storage Usage | < 85% |
β₯ 85% s.d < 95% |
β₯ 95% |
Partisi Penyimpanan Fisik Lokal |
| Aplikasi Remote | Terdeteksi ID | - | Tidak terpasang | AnyDesk CLI / RustDesk --get-id |
Dokumen ini diperbarui secara berkala mengikuti pengembangan standardisasi infrastruktur monitoring IT.