“Sebuah jendela pemeliharaan yang terkelola dengan baik bukan hanya meminimalkan downtime, melainkan juga meningkatkan kepercayaan pengguna terhadap layanan IT.” – Rina Pratama, Senior IT Operations Manager
Repositori GitHub Maintenance‑Windows menyediakan kumpulan skrip PowerShell, contoh runbook Azure Automation, dan template penjadwalan yang dapat langsung dipakai untuk mengotomatisasi proses tersebut.
Berikut kami rangkum cara memanfaatkan repositori tersebut serta prinsip‑prinsip utama yang harus diikuti:
Aspek | Tujuan | Manfaat |
---|---|---|
Penjadwalan | Menentukan tanggal & jam pemeliharaan | Mengurangi dampak pada jam operasional utama |
Otomatisasi | Menggunakan skrip / runbook | Meminimalkan error manusia, mempercepat eksekusi |
Monitoring | Memantau status selama pemeliharaan | Menyediakan data real‑time untuk keputusan cepat |
Manajemen Perubahan | Selaras dengan ITIL Change Management | Memastikan persetujuan, catatan, dan auditability |
Integrasi Azure | Memanfaatkan Azure Automation, Logic Apps | Skalabilitas, keamanan, dan pelaporan terpusat |
Penjadwalan & Otomatisasi
1. Menentukan Jendela Pemeliharaan
Kriteria | Contoh Implementasi |
---|---|
Frekuensi | Mingguan (patch OS), Bulanan (upgrade aplikasi) |
Durasi | 2‑4 jam (tergantung kompleksitas) |
Waktu | 02:00‑04:00 WIB (off‑peak) |
Stakeholder | Tim Ops, Owner aplikasi, End‑user (via email) |
Persetujuan | ITIL Change Advisory Board (CAB) |
2. Otomatisasi dengan PowerShell
Repositori menyediakan modul PowerShell yang dapat di‑import ke dalam runbook Azure Automation:
# Load modul custom
Import-Module -Name "MaintenanceWindow"
# Definisikan parameter jendela
$window = New-MaintenanceWindow `
-StartTime (Get-Date "2025-11-01 02:00") `
-EndTime (Get-Date "2025-11-01 04:00") `
-Description "Patch keamanan Windows Server"
# Eksekusi tindakan selama jendela
Start-MaintenanceTask -Window $window -TaskScript {
# Contoh: Update Windows
Install-WindowsUpdate -AcceptAll -AutoReboot:$false
}
Skrip di atas menyiapkan jendela pemeliharaan, kemudian mengeksekusi tugas pemeliharaan (contoh: instalasi patch). Karena dijalankan di Azure Automation, proses dapat dijadwalkan secara terpusat, dipantau, dan tercatat dalam Log Analytics.
Runbook PowerShell
Berikut contoh runbook yang siap pakai dari repositori:
Nama Runbook | Fungsi | Parameter Utama | Catatan |
---|---|---|---|
Start-VM-Maintenance.ps1 |
Mematikan VM, menjalankan patch, menghidupkan kembali | -VMName , -MaintenanceWindow |
Memanfaatkan Azure PowerShell module Az.Compute |
Backup-Database.ps1 |
Membuat backup full & diff sebelum pemeliharaan | -ServerName , -DatabaseName |
Mengirim notifikasi ke Teams setelah selesai |
Update-Application.ps1 |
Deploy paket aplikasi ke environment staging | -PackagePath , -TargetEnv |
Dapat dipanggil lewat webhook Azure DevOps |
Cara Mengimport ke Azure Automation
- Masuk ke Azure Portal → Automation Accounts.
- Pilih Runbooks → Add a runbook → Import PowerShell script.
- Unggah file
.ps1
dari folderrunbooks
pada repositori. - Set Schedule (mis. setiap pertama Selasa bulan) dan Link assets (Credential, Variable).
Dengan begitu, penjadwalan dan eksekusi otomatis menjadi satu alur yang terkelola.
Integrasi Azure
Azure Automation & Logic Apps
Komponen | Kegunaan |
---|---|
Automation Account | Menyimpan runbook, credential, variable |
Update Management | Mengelola patch OS pada VM Windows/Linux |
Azure Monitor | Mengumpulkan metrik downtime & alert |
Logic Apps | Mengirim notifikasi (email, Teams, Slack) sebelum & sesudah jendela |
Azure Policy | Memaksa penggunaan tag maintenance-window pada resource baru |
Contoh Alur Kerja (Workflow)
- Trigger: Logic App dijadwalkan pada jam 01:45 WIB.
- Action: Mengirim email pemberitahuan ke semua pemilik layanan.
- Action: Memanggil runbook
Start-VM-Maintenance.ps1
. - Action: Azure Monitor mengawasi availability VM selama proses.
- Action: Setelah selesai, Logic App mengirimkan report ke Teams.
Gambar alur kerja dapat digambarkan dengan diagram sederhana, namun dalam blog ini kami fokus pada teks untuk memudahkan replikasi.
Monitoring & Manajemen Event
Selama jendela pemeliharaan, monitoring menjadi kunci untuk mendeteksi masalah secara real‑time. Berikut praktik terbaik yang direkomendasikan:
Aktivitas | Alat | Detail |
---|---|---|
Health Check | Azure Monitor (Metrics) | CPU, Memory, Disk I/O > threshold |
Log Collection | Log Analytics Workspace | Kumpulkan EventLog, Syslog, Application logs |
Alerting | Action Groups (email, SMS, webhook) | Notifikasi saat threshold terlampaui |
Dashboard | Azure Dashboard / Power BI | Visualisasi downtime, MTTR, SLA compliance |
Audit Trail | Azure Activity Log | Catat siapa, kapan, apa yang dijalankan |
Contoh Query Log Analytics untuk memantau downtime VM selama jendela:
Heartbeat
| where TimeGenerated between(datetime(2025-11-01 02:00) .. datetime(2025-11-01 04:00))
| summarize downCount = countif(Computer == "unavailable") by Computer
Dengan query ini, tim operasi dapat melihat ketersediaan layanan secara granular dan melaporkan hasil ke manajemen.
Manajemen Perubahan & Keselarasan ITIL
ITIL (Information Technology Infrastructure Library) menekankan proses Change Management yang terstruktur untuk menghindari risiko. Jendela pemeliharaan merupakan Standard Change bila memenuhi kriteria berikut:
Kriteria ITIL | Penjelasan |
---|---|
Low Risk | Perubahan bersifat rutin, terdokumentasi, dan memiliki rollback plan. |
Pre‑Approved | Disetujui oleh Change Advisory Board (CAB) sebelum dijadwalkan. |
Documented | Semua langkah, script, dan hasil diuji dan dicatat dalam Configuration Management Database (CMDB). |
Post‑Implementation Review | Dilakukan dalam 24‑48 jam untuk menilai keberhasilan. |
Langkah‑Langkah Implementasi
- Request for Change (RFC) – Buat tiket di ServiceNow atau Azure DevOps dengan detail jendela, dampak, dan mitigasi.
- Approval – CAB meninjau dan menyetujui.
- Implementation – Runbook dijalankan otomatis via Azure Automation.
- Verification – Monitoring memastikan tidak ada anomali.
- Closure – Dokumentasi hasil, update CMDB, dan lakukan review.
“Mengintegrasikan proses ITIL dengan otomatisasi PowerShell serta Azure Automation menjamin konsistensi dan auditability yang diperlukan dalam lingkungan enterprise.” – Budi Santoso, Consultant ITIL
Ringkasan & Tindakan Selanjutnya
No | Tindakan | Alat/Resource |
---|---|---|
1 | Clone repositori Maintenance-Windows |
git clone https://github.com/informasidata91-cpu/Maintenance-Windows.git |
2 | Sesuaikan skrip PowerShell dengan nama VM & tag | Editor VS Code, PowerShell ISE |
3 | Buat Azure Automation Account & import runbook | Azure Portal |
4 | Definisikan Schedule & Link credentials | Automation → Variables & Credentials |
5 | Rancang Logic App untuk notifikasi | Azure Logic Apps Designer |
6 | Tambahkan monitoring & alert di Azure Monitor | Log Analytics, Action Groups |
7 | Dokumentasikan dalam ITIL Change Management | ServiceNow / Azure DevOps |
8 | Lakukan review pasca‑pemeliharaan | Dashboard Power BI, laporan SLA |
Dengan mengikuti panduan ini, tim TI Anda dapat mengelola jendela pemeliharaan secara profesional, meminimalkan downtime, dan menjaga ketersediaan layanan sesuai standar ITIL.
Selamat mencoba, dan semoga infrastruktur Anda tetap stabil dan aman! 🚀