Ignorer les liens de navigation | |
Quitter l'aperu | |
Guide d’administration système : administration avancée |
1. Gestion des terminaux et modems (présentation)
2. Configuration des terminaux et modems (tâches)
3. Gestion des ports série avec la fonction d'accès aux services (tâches)
4. Gestion des ressources système (présentation)
5. Affichage et modification des informations système (tâches)
6. Gestion de l'utilisation du disque (tâches)
7. Gestion des quotas UFS (tâches)
8. Tâches de planification du système (tâches)
9. Gestion de la comptabilisation du système (tâches)
Nouveautés relatives à la comptabilisation du système
Améliorations apportées à la comptabilisation et aux statistiques des processus Oracle Solaris
Définition de la comptabilisation du système
Fonctionnement de la comptabilisation du système
Composants de la comptabilisation du système
Comptabilisation des connexions
Comptabilisation des processus
Comptabilisation du système (liste des tâches)
Configuration de la comptabilisation du système
Configuration de la comptabilisation du système
Maintien à jour des informations comptables
Correction des fichiers corrompus et des erreurs wtmpx
Résolution d'un fichier wtmpx corrompu
Arrêt et désactivation de la comptabilisation du système
Arrêt temporaire de la comptabilisation du système
Désactivation définitive de la comptabilisation du système
10. Comptabilisation du système (référence)
11. Gestion des performances du système (présentation)
12. Gestion des processus système (tâches)
13. Surveillance des performances du système (tâches)
14. Résolution des problèmes logiciels (présentation)
15. Gestion des messages système
16. Gestion des fichiers noyau (tâches)
17. Gestion des informations sur les pannes système (tâches)
18. Résolution de problèmes logiciels divers (tâches)
19. Résolution des problèmes d'accès aux fichiers (tâches)
20. Résolution des incohérences d'un système de fichiers UFS (tâches)
Le logiciel de comptabilisation du système contenu dans le système d'exploitation Oracle Solaris est un ensemble de programmes permettant de collecter et d'enregistrer les données relatives aux temps de connexion de l'utilisateur, au temps CPU imputé aux processus et à l'utilisation du disque. Une fois ces données collectées, vous pouvez générer des rapports et facturer des frais pour l'utilisation du système.
Vous pouvez utiliser la comptabilisation du système sur une base quotidienne ou mensuelle. Vous pouvez également suivre l'utilisation du disque par utilisateur.
Vous pouvez utiliser les programmes de comptabilisation pour effectuer les tâches suivantes :
Surveiller l'utilisation du système
Localiser et corriger les problèmes de performance
Gérer la sécurité du système
Une fois configurés, les programmes de comptabilisation du système s'exécutent principalement de façon autonome.
Pour configurer la comptabilisation automatique, placez d'abord le script de démarrage de la comptabilisation dans le fichier crontab racine. Le script de démarrage de la comptabilisation démarre ensuite automatiquement à l'aide de la commande cron.
La présentation suivante décrit le processus de comptabilisation du système.
Entre le démarrage et l'arrêt du système, les données brutes sur l'utilisation du système (telles que les connexions utilisateur, les processus en cours d'exécution et le stockage des données) sont collectées dans des fichiers comptables.
Régulièrement (une fois par jour en règle générale), le script /usr/lib/acct/runacct traite les différents fichiers comptables et génère des fichiers récapitulatifs cumulés et des rapports comptables quotidiens. Le script /usr/lib/acct/prdaily affiche ensuite les rapports quotidiens.
Pour plus d'informations sur le script runacct, reportez-vous à la section Script runacct.
Tous les mois, vous pouvez traiter et imprimer les fichiers récapitulatifs runacct cumulés en exécutant le script monacct. Les rapports récapitulatifs générés par le script monacct fournissent un moyen efficace pour la facturation des utilisateurs sur une base mensuelle ou autre.
Le logiciel de comptabilisation du système fournit des programmes de langage C et des scripts shell qui organisent les données en fichiers récapitulatifs et en rapports. Ces programmes résident dans le répertoire /usr/lib/acct. Les rapports comptables résident dans le répertoire /var/adm/acct.
La comptabilisation quotidienne vous permet d'effectuer quatre types d'audit :
Comptabilisation des connexions
Comptabilisation des processus
Comptabilisation du disque
Calcul des frais
La comptabilisation des connexions vous permet de déterminer les informations suivantes :
la durée de connexion d'un utilisateur ;
le mode d'utilisation des lignes tty ;
le nombre de réinitialisations du système ;
le nombre de démarrages/d'arrêts du logiciel de comptabilisation.
Pour fournir ces informations sur les sessions de connexion, le système stocke les données suivantes :
Enregistrement des ajustements temporels
Durées d'initialisation
Nombre de démarrage/d'arrêt du logiciel de comptabilisation
Modifications apportées aux niveaux d'exécution
Création des processus utilisateur (processus login et init)
Fin des processus
Ces enregistrements sont générés à partir de la sortie des programmes système tels que date, init, login, ttymon et acctwtmp. Ils sont stockés dans le fichier /var/adm/wtmpx.
Les entrées du fichier wtmpx peuvent contenir les informations suivantes :
Nom de connexion
Nom du périphérique
ID de processus
Type d'entrée
Horodatage indiquant la date et l'heure de saisie de l'entrée
La comptabilisation des processus vous permet de suivre les données suivantes sur chaque processus exécuté sur votre système :
ID utilisateur et ID de groupe des utilisateurs du processus
Heures de début et durées écoulées du processus
Temps CPU du processus (temps d'utilisateur et temps système)
Quantité de mémoire utilisée par le processus
Commandes exécutées par le processus
Ligne tty qui contrôle le processus
Chaque fois qu'un processus se termine, le programme exit collecte ces informations et les écrit dans le fichier /var/adm/fichier pacct.
La comptabilisation du disque vous permet de rassembler et de mettre en forme les données suivantes sur les fichiers que chaque utilisateur a placé sur des disques :
Nom et ID de l'utilisateur
Nombre de blocs utilisés par les fichiers de l'utilisateur
Ces données sont collectées par le script shell /usr/lib/acct/dodisk à des intervalles déterminés par l'entrée ajoutée au fichier /var/spool/cron/crontabs/root . À son tour, le script dodisk appelle les commandes acctdisk et acctdusg. Ces commandes rassemblent les données d'utilisation du disque par nom de connexion.
La commande acctdusg peut surcharger les fichiers écrits de façon aléatoire, ce qui peut créer des trous dans les fichiers. Ce problème est dû au fait que la commande acctdusg ne lit pas les blocs indirects d'un fichier lors de la détermination de la taille du fichier. En revanche, la commande acctdusg permet de déterminer la taille du fichier en vérifiant la taille de fichier actuelle dans l'inode du fichier.
L'utilitaire chargefee stocke les frais des services spéciaux fournis à un utilisateur dans le fichier /var/adm/fee. Un service spécial est, par exemple, la restauration des fichiers. Chaque entrée du fichier se compose d'un nom de connexion utilisateur, de l'ID utilisateur et des frais. Ce fichier est vérifié quotidiennement par le script runacct et de nouvelles entrées sont fusionnées dans les enregistrements comptables. Pour plus d'instructions sur l'exécution du script chargefee pour facturer les utilisateurs, reportez-vous à la section Facturation aux utilisateurs.
Voici le rapport détaillé expliquant le fonctionnement de la comptabilisation quotidienne :
Lorsque le système bascule en mode multiutilisateur, le programme /usr/lib/acct/startup est exécuté. Le programme startup exécute plusieurs autres programmes qui appellent une comptabilisation quotidienne.
Le programme acctwtmp ajoute un enregistrement d'initialisation au fichier /var/adm/wtmpx . Dans l'enregistrement, le nom du système est indiqué en tant que nom d'utilisateur dans l'enregistrement wtmpx. Le tableau suivant récapitule le mode de collecte et l'emplacement de stockage des données de comptabilisation brutes.
|
Le script turnacct, appelé avec l'option -on , commence la comptabilisation des processus. Plus précisément, le script turnacct exécute le programme accton avec l'argument /var/adm/fichier pacct.
Le script shell de suppression « nettoie » les fichiers pacct et wtmpx enregistrés qui sont conservés dans le répertoire sum à l'aide du script runacct.
Les programmes login et init enregistrent les sessions de connexion en écrivant des enregistrements dans le fichier /var/adm/wtmpx. Les changements de date (utilisation de la date avec un argument) sont également enregistrés dans le fichier /var/adm/wtmpx. Les réinitialisations et les arrêts à l'aide de la commande acctwtmp sont également enregistrés dans le fichier /var/adm/wtmpx.
Lorsqu'un processus se termine, le noyau écrit un enregistrement par processus, au format acct.h, dans le fichier /var/adm/pacct.
Toutes les heures, la commande cron exécute le script ckpacct pour vérifier la taille du fichier /var/adm/pacct. Si la taille du fichier excède 500 blocs (par défaut), la commande turnacct switch est exécutée. (Le programme déplace le fichier pacct dans le fichier pacctn et crée un nouveau fichier.) Le fait d'avoir plusieurs petits fichiers pacct présente un avantage évident lorsque vous essayez de redémarrer le script runacct si une erreur survient lors du traitement des enregistrements.
Le script runacct est exécuté par la commande cron chaque nuit. Le script runacct traite les fichiers comptables pour produire des récapitulatifs de commande et d'utilisation par nom d'utilisateur. Les fichiers comptables suivants sont traités : /var/adm/fichier pacctn , /var/adm/wtmpx, /var/adm/fee et /var/adm/acct/nite/disktacct.
Le script /usr/lib/acct/prdaily est exécuté quotidiennement par le script runacct pour écrire les informations comptables quotidiennes dans les fichiers /var/adm/acct/sum/rprtMMDD.
Le script monacct doit être exécuté mensuellement (ou selon une périodicité que vous déterminez, par exemple à la fin de chaque période fiscale). Le script monacct crée un rapport basé sur les données stockées dans le répertoire sum mis à jour quotidiennement par le script runacct. Après la création du rapport, le script monacct nettoie le répertoire sum pour préparer les fichiers du répertoire aux nouvelles données runacct.
Si le système est arrêté à l'aide de la commande shutdown, le script shutacct est automatiquement exécuté. Le script shutacct écrit un enregistrement des raisons dans le fichier /var/adm/wtmpx et désactive la comptabilisation des processus.