Guide d'administration du système Solaris Resource Manager 1.0 pour Solaris 2.6 (Édition plateforme SPARC)

Chapitre 8 Données d'usage

Solaris Resource Manager permet à l'administrateur d'effectuer une collecte précise des valeurs cumulatives d'usage pour les ressources du système, des applications et des utilisateurs. De concert avec les fonctions et utilitaires fournis par Solaris Resource Manager, ces données peuvent servir de base pour le développement d'un système de facturation en fonction de l'usage des ressources.

Attributs cumulatifs

Les attributs cumulatifs d'un noeud limite sont utilisés pour stocker des informations sur l'accroissement de l'usage des ressources. Par exemple, l'attribut cpu.accrue contient l'usage cumulatif de l'UC pour tous les noeuds limites du groupe, ainsi que celui du noeud en cours. Lorsque les attributs cumulatifs d'un noeud limite sont actualisés, les changements sont également appliqués à son père (comme pour les changements apportés à l'attribut d'usage), et ainsi de suite jusqu'au noeud racine. L'usage cumulatif de chaque niveau de l'arbre est donc la somme de l'usage cumulatif du noeud limite et de celui de ses enfants, s'ils existent.

Facturation

L'administrateur doit décider quels sont les noeuds à facturer pour l'usage des ressources. Par exemple, il peut se préoccuper uniquement de facturer des services entiers et ainsi facturer uniquement les chefs de groupe ou les groupes des niveaux supérieurs, dont l'usage cumulatif comprendra celui de tous les noeuds limites des niveaux inférieurs des différents services.

Pour pouvoir mettre en oeuvre un système de facturation, l'administrateur doit définir une fonction d'évaluation des coûts pour chaque ressource facturée. Il peut s'agir d'une simple relation linéaire (où le coût unitaire demeure le même, quel que soit le montant utilisé) ou encore, d'une relation non linéaire, par exemple, une fonction en escalier ou une courbe où le coût unitaire varie en fonction de l'usage.

Pour déterminer la fonction d'évaluation pour chaque ressource, l'administrateur doit garder à l'esprit qu'en plus de contrôler l'affectation des coûts par rapport à l'augmentation de l'usage des ressources, elle pourrait aussi avoir une incidence sur la façon dont un utilisateur se sert de la ressource. Par exemple, si la fonction d'évaluation pour l'usage de la mémoire virtuelle accroît le coût unitaire lorsque l'usage augmente, les utilisateurs veilleront à économiser l'usage de la mémoire virtuelle. Par conséquent, l'administrateur peut contrôler le comportement des utilisateurs grâce à une stratégie pertinente d'attribution des coûts.

Chaque ressource compte un seul attribut cumulatif, qui contient l'usage cumulatif pour la ressource basé sur l'attribut d'usage de celle-ci. Cela signifie qu'il n'y a pas d'usage cumulatif correspondant à l'attribut myusage. Dans le cas des chefs de groupe, il n'y a pas d'usage cumulatif pour l'utilisateur seul, car l'attribut cumulatif contient l'usage cumulatif du groupe. Cela ne concerne pas les noeuds limites sans enfant et les noeuds limites feuille, puisque myusage et l'attribut d'usage sont identiques. Si une facture est requise pour l'usage cumulatif individuel d'un chef de groupe, elle doit être calculée d'après le total du groupe moins la somme des totaux de tous les enfants du groupe.

Commande liminfo

La sortie par défaut de la commande liminfo(1SRM) est destinée aux utilisateurs qui désirent connaître leurs usages actuels, leurs limites, leurs privilèges, etc. liminfo permet en outre aux administrateurs de connaître les attributs d'autres utilisateurs. Différents formats de rapport sont disponibles, et des options permettent de rendre la sortie de liminfo compatible pour être traitée par un pipeline de filtres. Pour des informations détaillées sur les options de ligne de commande et leur signification et pour connaître les champs pouvant être affichés, voir liminfo(1SRM).

Commande limreport

La commande limreport(1SRM) permet à l'administrateur d'obtenir des informations sur n'importe quel attribut de n'importe quel utilisateur, y compris sur l'attribut cumulatif. Elle fournit un outil polyvalent pour sélectionner les informations à afficher sur les noeuds limites voulus.

Par exemple, la commande :

% limreport 'cpu.accrue!=0' '%u %u %10d\n' uid lname cpu.accrue 

sélectionne tous les noeuds limites ayant n'importe quel usage cumulatif dans le domaine usr et indique l'UID et l'attribut d'usage cumulatif de chacun des noeuds sélectionnés. Pour trier ces valeurs par cpu.accrue et lister uniquement les dix premiers utilisateurs, il suffit de transmettre le résultat à une commande "sort", comme ceci :

% limreport 'cpu.accrue!=0' '%u %u %10d\n' uid lname cpu.accrue | sort -2n | head

Commande limadm

La commande limadm(1MSRM) peut être utilisée dans un système de facturation pour remettre à zéro les attributs cumulatifs après leur facturation. Par exemple, la commande :

# limreport 1 '%u\tcpu.accrue=0,mem.accrue=0\n' uid | limadm set -u -f

utilise limreport(1SRM) pour générer la liste des commandes transmises à limadm. Chaque noeud limite est sélectionné et l'attribut cumulatif de chacun est remis à zéro.

L'administrateur doit choisir avec soin le moment voulu pour remettre l'attribut cumulatif d'un noeud limite à zéro, qui dépendra de la stratégie de facturation. Par exemple, si des factures sont produites pour les groupes puis pour chaque membre, les attributs cumulatifs des membres ne doivent pas être remis à zéro avant la production des deux factures. Cependant, si aucune facture individuelle n'est produite, les attributs cumulatifs des membres du groupe doivent être remis à zéro en même temps que celui du chef de groupe, et ce, même s'ils n'ont pas été utilisés individuellement.