Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
par Jim van de Erve
Vous pouvez gérer la quantité d’espace disque serveur utilisé par les fichiers journaux IIS (Internet Information Services) à l’aide de la compression, du stockage distant et de la suppression de scripts.
Aperçu
Les fichiers journaux générés par IIS peuvent, au fil du temps, consommer une grande quantité d’espace disque. Les journaux peuvent potentiellement remplir un disque dur entier. Pour atténuer ce problème, de nombreux utilisateurs désactivent complètement la journalisation. Heureusement, il existe des alternatives à cette opération, telles que les suivantes :
- Activer la compression des dossiers
- Déplacer le répertoire du journal vers un système distant
- Supprimez les anciens fichiers journaux par script.
Les atténuations ci-dessus sont décrites dans les sections ci-dessous. Vous pouvez également effectuer les opérations suivantes pour contrôler l’utilisation du disque :
- Limiter la taille du journal en omettant les champs de propriété inutiles
- Créer des journaux distincts pour les sites web et les applications
- Conservez les ressources de mémoire à l’aide de la journalisation binaire centralisée.
Pour plus d’informations, consultez Configuration de la journalisation dans IIS.
Activer la compression des dossiers
Les fichiers journaux IIS sont compressés à environ 2% de leur taille d’origine. Activez la compression d’un fichier journal comme suit. Vous devez être administrateur pour effectuer cette procédure.
- Cliquez sur l’icône Gestionnaire de fichiers dans la barre d’icônes.
- Accédez au dossier contenant des fichiers journaux IIS (par défaut,
%SystemDrive%\inetpub\logs\LogFiles). - Cliquez avec le bouton droit sur le dossier, puis cliquez sur Propriétés.
- Sous l’onglet Général de la page Propriétés , cliquez sur Avancé.
- Cliquez sur Compresser le contenu pour économiser de l’espace disque, puis sur OK.
- Cliquez sur Appliquer, puis sélectionnez s’il faut compresser le dossier uniquement, ou le dossier, ses sous-dossiers et ses fichiers.
- Cliquez sur OK. Vérifiez que le contenu du dossier est compressé. Le nom du dossier et le nom de chaque fichier doivent être colorés en bleu, et la taille d’un fichier de compression doit être plus petite.
Il s’agit d’un moyen simple de réduire l’utilisation du disque. Toutefois, il ne s’agit pas d’une solution finale, car l’utilisation du disque augmente encore au fil du temps et peut éventuellement remplir le disque dur.
Si le dossier contient déjà une quantité importante de données, l’ordinateur peut prendre un certain temps pour compresser son contenu. Notez également que ce processus unique peut ralentir l’ordinateur pendant la compression initiale. Par conséquent, s’il s’agit d’un serveur de production, effectuez cette opération pendant les heures creuses pour empêcher la dégradation du service.
Déplacer le dossier de journaux vers un système distant
Les fichiers journaux IIS sont stockés par défaut dans le %SystemDrive%\inetpub\logs\LogFiles dossier de votre serveur IIS. Le dossier est configuré dans la propriété Directory de la page Journalisation pour le serveur ou un site individuel. Pour réduire le problème d’utilisation du disque de journal, vous pouvez déplacer vos fichiers journaux IIS vers un dossier sur un autre serveur qui a plus d’espace. Ce serveur peut se trouver dans le même domaine que le serveur IIS local ou dans un autre domaine. Vous pouvez enregistrer des fichiers journaux à distance pour l’ensemble du serveur ou pour des sites Web spécifiques.
Cette solution peut aider la sécurité du système, car si un disque dur local se bloque, les données de journal sont toujours disponibles sur le stockage distant. En outre, les fichiers journaux peuvent être consommés par les systèmes d’analyse.
Remplacez l’emplacement d’un fichier journal IIS par un partage distant comme suit :
Créez un répertoire de fichiers journaux sur un serveur distant qui se trouve dans le même domaine que votre serveur web local exécutant IIS.
Dans la page Propriétés du dossier, sous l’onglet Partage , cliquez sur Partager pour que le répertoire soit partagé. Sous l’onglet Sécurité , affectez des groupes et des utilisateurs avec les autorisations appropriées. Assurez-vous que les groupes et utilisateurs appropriés sont en mesure de lire et d’écrire dans les fichiers journaux.
Pour plus d’informations, consultez Configuration des autorisations pour la journalisation à distance.
Remarque : Si vous souhaitez écrire des fichiers journaux sur un serveur distant dans un autre domaine, consultez Configuration d’une session Null pour la journalisation inter-domaines.
Ouvrez le Gestionnaire IIS sur votre serveur web local.
Dans le Gestionnaire IIS, dans le volet Connexions , cliquez sur le serveur ou un site Web.
Double-cliquez sur Journalisation.
Dans la zone de texte Répertoire , entrez le chemin UNC complet du répertoire que vous avez créé sur le serveur distant. Par exemple, tapez \servername\Logs, où « nom_serveur » représente le nom du serveur distant, et « Journaux » représente le nom du partage où sont stockés les fichiers journaux.
Dans le volet Actions , cliquez sur Appliquer, puis sur OK. Tous les sites Web du répertoire doivent commencer à journaliser les données dans le partage distant.
Pour plus d’informations, consultez La journalisation à distance.
Supprimer les anciens fichiers journaux par script
Vous pouvez contrôler l’utilisation des fichiers journaux en exécutant un script qui supprime automatiquement les fichiers journaux antérieurs à un certain âge. L’exécution de ce script dans une tâche planifiée maintient le problème d’un remplissage de disque sous contrôle sans maintenance constante.
VbScript suivant vérifie l’âge de chaque fichier journal dans un dossier et supprime tout fichier journal antérieur à un âge spécifié. Pour personnaliser le script à vos fins, modifiez simplement le nom et le chemin du dossier dans la ligne 1 du script, puis remplacez l’âge maximal par la valeur souhaitée en jours, à la ligne 2.
sLogFolder = "c:\inetpub\logs\LogFiles"
iMaxAge = 30 'in days
Set objFSO = CreateObject("Scripting.FileSystemObject")
set colFolder = objFSO.GetFolder(sLogFolder)
For Each colSubfolder in colFolder.SubFolders
Set objFolder = objFSO.GetFolder(colSubfolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
iFileAge = now-objFile.DateCreated
if iFileAge > (iMaxAge+1) then
objFSO.deletefile objFile, True
end if
Next
Next
Le script ci-dessus analyse tous les sous-dossiers. Il traite donc les journaux d’activité pour tous les sites dans et sous le dossier spécifié. Si vous souhaitez limiter le processus à un seul site, modifiez le chemin de manière appropriée.
Pour exécuter le script manuellement, exécutez le script suivant dans une ligne de commande administrateur : cscript.exe c:\scripts\retentionscript.vbs
L’utilisation d’un script pour supprimer des fichiers journaux est une solution fiable à long terme au problème des fichiers journaux consommant de l’espace disque. Si vous automatisez le processus, comme indiqué ci-dessous, il ne nécessite pas de maintenance constante.
Exécuter le script en tant que tâche planifiée
Vous pouvez automatiser la tâche de suppression de fichiers journaux par script en créant une planification des tâches Windows pour exécuter régulièrement le script. Vous pouvez planifier l’exécution du script à tout moment à l’aide du Planificateur de tâches Windows. La façon dont vous configurez la tâche planifiée doit être coordonnée avec la configuration des options de rotation des fichiers journaux.
- Ouvrez le Gestionnaire de serveur, cliquez sur le menu Outils , puis sur Planificateur de tâches.
- Dans le volet Actions de la boîte de dialogue Planificateur de tâches, cliquez sur Créer une tâche.
- Sous l’onglet Général de la boîte de dialogue Créer une tâche , entrez un nom pour la tâche, par exemple « Supprimer les fichiers journaux ». Définissez les propriétés de sécurité, en sélectionnant un compte d’utilisateur disposant de privilèges suffisants pour exécuter le script.
- Cliquez sur l’onglet Déclencheurs , puis sur Nouveau. Dans la boîte de dialogue Nouveau déclencheur, définissez Commencer la tâche sur Selon un planning. Sélectionnez la périodicité, par exemple , Quotidienne. Entrez la date de début , sélectionnez des paramètres plus avancés et vérifiez que activé est sélectionné si vous êtes prêt à lancer la planification. Cliquez sur OK.
- Cliquez sur l’onglet Actions , puis sur Nouveau. Dans la boîte de dialogue Nouvelle action , sélectionnez une valeur pour Action, dans ce cas, Démarrer un programme. Dans Program/script, entrez cscript et, dans Ajouter des arguments (facultatif) , entrez le chemin d’accès et le nom du fichier de script, par exemple
C:\iis\Log\_File\_Deletion.vbs. Cliquez sur OK.
- Cliquez sur OK.
- Vérifiez que la tâche a été ajoutée au volet Tâches actives .
- Cliquez avec le bouton droit sur la nouvelle tâche, puis sélectionnez Exécuter.
- Accédez au dossier sur lequel le script s’est exécuté et vérifiez que les fichiers journaux appropriés ont été supprimés.
- Revenez au Planificateur de tâches, cliquez avec le bouton droit sur la tâche, puis cliquez sur End pour que l’état soit Prêt et que la tâche soit prête pour les exécutions planifiées.