
Dans des environnements critiques, superviser IIS sans interface graphique peut devenir un défi. Voici comment mettre en place une supervision détaillée d’IIS sur Windows Server Core, en utilisant PowerShell, des outils système intégrés, et l’exportation vers une solution SIEM.
1. Activer les journaux IIS en ligne de commande
Import-Module WebAdministration
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' \
-filter "system.applicationHost/sites/siteDefaults/logFile" \
-name "logFormat" -value "W3C"
2. Personnaliser les champs de logs utiles au monitoring
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' \
-filter "system.applicationHost/sites/siteDefaults/logFile" \
-name "customFields" -value @{fieldName='X-Forwarded-For'; sourceName='X-Forwarded-For'; sourceType='RequestHeader'}
3. Activer la compression dynamique pour surveiller l’impact CPU
Install-WindowsFeature Web-Dyn-Compression
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' \
-filter "system.webServer/httpCompression" -name "dynamicCompressionEnableCpuUsage" -value 90
4. Exporter les journaux IIS automatiquement
# Export quotidien des logs IIS vers un dossier central
$src = "C:\\inetpub\\logs\\LogFiles\\W3SVC1"
$dst = "\\\\siem-server\\logs\\iis"
Get-ChildItem $src -Recurse -Filter *.log | ForEach-Object {
Copy-Item $_.FullName -Destination $dst -Force
}
5. Mesurer les performances et erreurs applicatives
Import-Module WebAdministration
Get-WebRequest | Group-Object statusCode | Sort-Object Count -Descending
6. Intégration dans Windows Event Forwarding
wecutil qc
# Ajouter la collecte IIS via GPO ou manuellement
# Les journaux IIS peuvent être traités comme "CustomLogs"
Conclusion
Avec une configuration adaptée et PowerShell, il est possible de superviser IIS sur Windows Server Core aussi efficacement qu’avec une interface graphique. Exporter vers un SIEM, trier les erreurs par codes HTTP et suivre l’activité en temps réel renforce la visibilité sur vos ser