Sommaire
Remarque
Lorsque nous faisons référence aux emplacements de fichiers et de répertoires dans le présent document, <install-home> correspond au répertoire dans lequel le package du contrôleur d'agent a été extrait. Dans les fichiers de configuration, %TPTP_AC_HOME% fait également référence à ce répertoire.
Le contrôleur d'agent lit le fichier serviceconfig.xml pour obtenir les paramètres configurables par l'utilisateur. Il n'est lu qu'une seule fois, au démarrage. Les modifications apportées à ce fichier sont normalement limitées car elles ont un impact sur tous les utilisateurs.
Le fichier serviceconfig.xml contient les segments suivants :
Si la variable d'environnement TPTP_AC_HOME est définie, le contrôleur d'agent recherche le fichier config/serviceconfig.xml par rapport au chemin défini par la variable d'environnement. Dans le cas contraire, il effectue sa recherche par rapport à son propre emplacement d'installation. Le fichier serviceconfig.xml a comme emplacement par défaut <install-home>/config/serviceconfig.xml.
Chacune des instances du contrôleur d'agent fonctionnant sur un même système nécessite sa propre version de serviceconfig.xml, chaque version contenant une configuration particulière de la couche de transport.
Remarque
Les agents lisent également le fichier serviceconfig.xml pour obtenir les informations du segment Connection, ce qui permet à un agent de communiquer avec un contrôleur d'agent particulier.
Les agents lisent leur ligne de commande pour obtenir un autre emplacement, dans lequel ils peuvent trouver le fichier serviceconfig.xml. Le nom d'option prédéfini permettant de spécifier l'emplacement est -serviceconfig suivi du chemin d'accès au fichier de configuration. Si vous n'indiquez pas ce nom sur la ligne de commande, l'agent recherche le fichier serviceconfig.xml dans les mêmes emplacements que ceux mentionnés précédemment pour le contrôleur d'agent.
La hiérarchie des éléments contenus dans le fichier serviceconfig.xml est présentée ci-dessous. L'ordre des éléments indiqués sur un même niveau n'a pas d'importance. Seule une occurrence de chacun des éléments de premier niveau (c'est-à-dire AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases, PeerConnectionTransport) est attendue. Les liens hypertextes de la hiérarchie mènent aux descriptions des éléments formels de la section Eléments et attributs.
AgentControllerConfiguration
AgentControllerEnvironment
Variable
Logging
Agent
Plugin
ProcessController
Connection
TransportLayer
Configuration
Port
PipeName
MemName
SecuredPort
FilePort
IsDataMultiplexed
ProcessPolling
Jvm
Version
SecurityEnabled
UserDefinition
Keystore
KeystorePassword
Hosts
Allow
Deny
CommandExtractor
ApplicationAliases
Application
Variable
Parameter
PeerConnectionTransport
Sous-éléments : AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Elément : AgentControllerEnvironment
Définit les paramètres généraux d'environnement pour toutes les applications et tous les agents lancés par le biais du contrôleur d'agent. Si cet élément est omis, l'environnement transmis reste identique à celui du contrôleur d'agent lui-même. Les variables définies ici n'ont aucun effet sur les paramètres d'environnement du contrôleur d'agent.
Utilisé par : AgentControllerConfiguration
Sous-éléments : Variable
Elément : Variable
Cet élément Variable définit une variable d'environnement et la manière dont elle doit se positionner au sein de l'environnement existant pour former l'environnement par défaut pour toutes les applications et tous les agents lancés. Zéro ou plusieurs de ces éléments peuvent être définis pour l'élément AgentControllerEnvironment
Utilisé par : AgentControllerEnvironment
Attributs :
- name
- Cette valeur de chaîne définit le nom de la variable d'environnement.
- value
- Cette valeur de chaîne définit la valeur de la variable d'environnement.
- position
- (facultatif) Cette valeur de chaîne est de type "append" (ajouter à la fin), "prepend" (ajouter au début) ou "replace" (remplacer). Elle indique où placer cet environnement par rapport à l'environnement par défaut.
Elément : Logging
Définit le niveau de gravité des informations à journaliser, sous quel format elles sont journalisées, et à quel emplacement. Si cet élément est omis, tous les avertissements critiques et graves seront journalisés au format CBE, dans le répertoire où le contrôleur d'agent fonctionne. Sachez que le nom du fichier journal (tptpAgentCtrl.log) n'est pas configurable, seul son emplacement l'est.
Utilisé par : AgentControllerConfiguration
Attributs :
- level
- (facultatif) Cette valeur de chaîne indique le niveau de gravité des messages à consigner. Chaque niveau inclut tous les événements dont le niveau de gravité est égal ou supérieur à ce niveau. Précisez l'un des niveaux suivants (classés par ordre croissant de gravité) :
DEBUG : inclut les messages qui fournissent des détails de bas niveau concernant le flux interne d'exécution de code du contrôleur d'agent et des agents.- INFORMATION : inclut les événements considérés comme normaux mais susceptibles d'intéresser l'utilisateur du programme.
- WARNING : inclut les événements inattendus, mais qui ne doivent normalement pas entraver le bon fonctionnement du programme.
- CRITICAL : (valeur par défaut) inclut les événements indiquant que le fonctionnement normal du programme a été interrompu par une erreur.
- SEVERE : limité aux événements qui entraînent l'arrêt du programme.
- format
- (facultatif) Cette valeur de chaîne spécifie le format à utiliser lors de l'écriture des messages dans le fichier journal. Indiquez l'un des formats suivants :
- CBE : (valeur par défaut) les messages sont au format CBE (Common Base Event - format qui inclut des informations détaillées sur le contexte et l'origine du message) et peuvent être consultés par le biais d'utilitaires de lecture de journaux CBE.
- Simple : les messages sont écrits en texte simple.
directory (facultatif) Cette valeur de chaîne définit l'emplacement dans lequel le fichier journal sera créé. Par défaut, il s'agit du répertoire à partir duquel le contrôleur d'agent est exécuté.
Elément : Agent
Cet élément obligatoire indique le répertoire dans lequel les agents connus du contrôleur d'agent auront placé des sous-répertoires identifiant les agents par leur nom. Ces sous-répertoires contiennent un fichier de configuration agent.xml incluant des informations sur le mode de lancement et de gestion de chaque agent.
Utilisé par : AgentControllerConfiguration
Attributs :
- path
- Cette valeur de chaîne indique le chemin complet du répertoire dans lequel les configurations des agents doivent être recherchées.
Elément : Plugin
Cet élément définit le répertoire dans lequel seront placées les extensions de la configuration de contrôleur d'agent. Les extensions sont définies dans les fichiers de configuration pluginconfig.xml. Les sous-répertoires figurant dans le répertoire indiqué peuvent également contenir des fichiers exécutables propres à chaque extension.
Elément : ProcessControllerUtilisé par : AgentControllerConfiguration
Attributs :
- path
- Cette valeur de chaîne indique le chemin complet du répertoire dans lequel les extensions doivent être recherchées.
Elément : ConnectionUtilisé par : AgentControllerConfiguration
Utilisé par : AgentControllerEnvironment
Sous-éléments : TransportLayer
Attributs :
- name
- Cette valeur de chaîne fournit un nom à la configuration de la connexion.
correspondent à des types de transport personnalisés qui offrent une compatibilité en amont aux clients et agents utilisant les interfaces d'origine du contrôleur d'agent.Utilisé par : Connection
Sous-éléments : Configuration
CommandExtractor
Attributs :
- loadlib
- Cette valeur de chaîne indique le nom de la bibliothèque à charger pour cette couche de transport, suffixe exclu (c'est-à-dire sans l'extension .dll ou .so). Le chemin de recherche normal du système est utilisé pour localiser la bibliothèque.
- type,
- Cette valeur de chaîne indique l'identité propre à la couche de transport. Les valeurs possibles sont les suivantes : TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL et TPTP_ACTL. Les couches de transport personnalisées utiliseront d'autres identificateurs. Les valeurs TPTP_CCTL et TPTP_ACTL
Elément : Configuration
L'élément Configuration contient un sous-élément spécifiant le mécanisme de communication interprocessus pour chaque élément TransportLayer. Les mécanismes de communication fournis ici sont de type socket, canal nommé, mémoire partagée et CCTL. La couche de transport ACTL ne comporte aucun élément de configuration. Les éléments TransportLayers personnalisés peuvent contenir d'autres éléments de configuration qui leur sont propres.
Utilisé par : TransportLayer
Sous-éléments : Port (uniquement avec socketTL et CCTL)
PipeName (uniquement avec namedPipeTL)
MemName (uniquement avec sharedMemTL)
SecuredPort (uniquement avec CCTL)
FilePort (uniquement avec CCTL)
IsDataMultiplexed (uniquement avec CCTL)
ProcessPolling (uniquement avec CCTL)
Jvm (uniquement avec CCTL)
Version (uniquement avec CCTL)
SecurityEnabled (uniquement avec CCTL)
UserDefinition (uniquement avec CCTL et seulement si la fonction de sécurité est activée)
Keystore (uniquement avec CCTL et seulement si la fonction de sécurité est activée)
KeystorePassword (uniquement avec CCTL et seulement si la fonction de sécurité est activée)
Hosts (uniquement avec CCTL)
Elément : Port
L'élément Port indique le port à utiliser pour la communication de socket.
L'élément Port n'est valide que lorsqu'il est utilisé avec les couches de transport TPTP_SOCKET et TPTP_CCTL. Sa valeur entière spécifie le numéro de port réel à utiliser pour établir la connexion de socket.
Utilisé par : Configuration
Elément : PipeName
L'élément PipeName indique que la couche de transport est définie pour une communication de canal nommé. L'élément PipeName est valide uniquement lorsqu'il est utilisé avec la bibliothèque de chargement namedPipeTL. Sa valeur de chaîne spécifie le nom du canal à utiliser lors de l'établissement de la connexion.
Utilisé par : Configuration
Elément : MemName
L'élément MemName indique que la couche de transport est définie pour une communication à mémoire partagée. L'élément MemName n'est valide que lorsqu'il est utilisé avec la bibliothèque de chargement sharedMemTL. Sa valeur de chaîne spécifie le nom de la ressource de mémoire partagée à utiliser lors de l'établissement de cette connexion.
Utilisé par : Configuration
Elément : SecuredPort
L'élément SecuredPort indique le port à utiliser pour la communication de socket sécurisée.
L'élément SecuredPort n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL. Sa valeur, sous forme d'entier, définit le numéro de port réel à utiliser pour établir la connexion de socket sécurisée.
Utilisé par : Configuration
Elément : FilePort
L'élément FilePort indique la couche de transport utilisée par le service de transfert de fichiers pour la communication de socket.
L'élément FilePort n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL. Sa valeur entière spécifie le numéro de port réel à utiliser pour établir la connexion de socket.
Utilisé par : Configuration
Elément : IsDataMultiplexed
L'élément IsDataMultiplexed indique si des données de profilage et de journalisation doivent être transmises via le canal de contrôle du contrôleur d'agent. Par défaut, le canal de données utilise un port arbitraire pour la transmission de données et peut être bloqué si un pare-feu a été mis en place. Transférer des données sur le canal de contrôle permet à un nombre prédéfini de ports d'être ouverts pour recevoir des demandes de connexion à travers le pare-feu. Ces ports comprennent le port par défaut 10002, le port de sécurité 10003 et le port de serveur de fichiers 10005. Cet élément se voit attribuer une valeur booléenne ; par défaut, il s'agit de la valeur "FALSE". L'élément IsDataMultiplexed n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : ProcessPolling
L'élément ProcessPolling indique si la vérification active du statut du processus est activée ou non. Cet attribut permet de s'assurer que le contrôleur d'agent détecte l'arrêt d'un processus. Cet élément se voit attribuer une valeur booléenne ; par défaut, il s'agit de la valeur "TRUE". L'élément ProcessPolling n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : Jvm
L'élément Jvm indique le chemin qualifié complet de la bibliothèque d'exécution dynamique (jvm.dll ou libjvm.so) de la machine virtuelle Java (JVM) à utiliser par les composants de connexion sécurisée et de transfert de fichiers. L'élément Jvm n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : Version
L'élément Version décrit le numéro de version du contrôleur d'agent qui sera communiqué aux autres composants. Cet élément n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : SecurityEnabled
L'élément SecurityEnabled indique si les clients qui se connectent à cette couche de transport doivent ou non se connecter au port sécurisé. Si la fonction de sécurité est activée et qu'un client tente de se connecter au port non sécurisé, l'adresse du port sécurisé est communiquée au client et la connexion est refusée.
Cet élément se voit attribuer une valeur booléenne ; par défaut, il s'agit de la valeur "FALSE". L'élément SecurityEnabled n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : UserDefinition
L'élément UserDefinition indique les utilisateurs pouvant se connecter à la couche de transport. Si vous affectez la valeur "ANY" à cet élément, tous les utilisateurs pouvant être authentifiés auprès du système d'exploitation sont autorisés à se connecter. Cet élément est obligatoire lorsque la fonction de sécurité est activée. Il accepte comme valeur une chaîne consistant en une liste de noms d'utilisateur séparés par une virgule. L'élément UserDefinition n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : Keystore
L'élément Keystore indique l'emplacement du fichier de clés nécessaire pour assurer des connexions sécurisées. Cet élément est obligatoire lorsque la fonction de sécurité est activée. L'élément Keystore n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : KeystorePassword
L'élément KeystorePassword définit le mot de passe à utiliser avec le fichier de clés nécessaire pour assurer des connexions sécurisées. Cet élément est obligatoire lorsque la fonction de sécurité est activée. L'élément KeystorePassword n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : Hosts
L'élément Hosts permet de contrôler les hôtes autorisés à se connecter via cette couche de transport. Cet élément consiste en un ou plusieurs éléments Allow ou Deny. L'élément Hosts n'est valide que lorsqu'il est utilisé avec la couche de transport TPTP_CCTL.
Utilisé par : Configuration
Elément : Allow
L'élément Allow indique un hôte autorisé à se connecter au contrôleur d'agent via cette couche de transport.
Utilisé par : Hosts
Attributs :
- hôte
- Cette chaîne correspond au nom ou à l'adresse IP de l'hôte. Utilisez la valeur "ALL" pour indiquer que cette couche de transport peut accepter des connexions en provenance de tous les hôtes. La valeur "LOCAL" indique, quant à elle, que les connexions doivent être acceptées à partir de processus locaux.
- net
- Cet attribut définit un sous-réseau à partir duquel autoriser les connexions.
- masque
- Cet attribut indique un masque de sous-réseau à utiliser pour autoriser les connexions.
Elément : Deny
L'élément Deny indique un hôte non autorisé à se connecter au contrôleur d'agent via cette couche de transport.
Utilisé par : Hosts
Attributs :
- hôte
- Cette chaîne correspond au nom ou à l'adresse IP de l'hôte auquel interdire la connexion.
- net
- Cet attribut définit un sous-réseau pour lequel refuser les connexions.
- masque
- Cet attribut indique un masque de sous-réseau à utiliser pour refuser les connexions.
Elément : CommandExtractor
Cet élément définit un extracteur de commandes. Il s'agit d'un composant connectable faisant partie d'une couche de transport, qui extrait les commandes du flux des communications interprocessus. Sa valeur de chaîne spécifie le nom de la bibliothèque à charger, sans suffixe (c'est-à-dire sans l'extension .dll ou .so) ni préfixe (c'est-à-dire sans le préfixe "lib" pour Linux).
Le chemin de recherche normal du système est utilisé pour localiser la bibliothèque.
Utilisé par : TransportLayer
Elément : ApplicationAliases
L'élément ApplicationAliases est une liste facultative de définitions d'alias d'applications.
Utilisé par : AgentControllerConfiguration
Sous-éléments : Application
Attributs :
- launchAliasesOnly
- (facultatif) Cet attribut de chaîne peut prendre la valeur "true" ou la valeur "false" (par défaut). Si cet attribut est configuré sur "true", seules les applications qui auront été définies dans cet élément seront lancées. Si l'attribut est réglé sur "false", ou s'il n'est pas spécifié, toutes les applications peuvent être lancées.
Elément : Application
L'élément Application définit un nom d'alias et des informations de lancement pour une application.
Utilisé par : ApplicationAliases
Sous-éléments : Variable
Parameter
Attributs :
- executable
- Cette valeur de chaîne indique le nom d'alias de l'exécutable d'application défini dans l'attribut path.
- location
- (facultatif) Cette valeur de chaîne indique le répertoire à partir duquel l'exécutable doit être lancé (on parle parfois de répertoire de travail de l'exécutable lorsque ce dernier est en cours d'exécution).
- path
- Cette valeur de chaîne définit le chemin complet de l'application à lancer. Elle est utilisée en lieu et place du nom d'alias lors du lancement de l'exécutable de l'application.
Elément : Variable
Cet élément Variable définit une variable d'environnement et la manière dont elle doit se positionner au sein de l'environnement existant lorsque l'application est lancée.
Pour chaque application, le nombre d'éléments définis peut être nul.
Utilisé par : Application
Attributs :
- name
- Cette valeur de chaîne définit le nom de la variable d'environnement.
- value
- Cette valeur de chaîne définit la valeur de la variable d'environnement.
- position
- (facultatif) Cette valeur de chaîne est de type >"append" (ajouter à la fin), "prepend" (ajouter au début) ou "replace" (remplacer). Elle indique où placer cet environnement par rapport à l'environnement par défaut.
Elément : Parameter
L'élément Parameter définit un argument de ligne de commande à fournir à l'application lors de son lancement. Pour chaque application, le nombre d'éléments définis peut être nul.
Utilisé par : Application
Attributs :
- value
- Cette valeur de chaîne définit un argument de ligne de commande.
- position
- (facultatif) Cette valeur de chaîne est de type "append" (ajouter à la fin), "prepend" (ajouter au début) ou "replace" (remplacer). Elle indique où placer cet argument par rapport aux arguments de ligne de commande existants.
Elément : PeerConnectionTransport
Cet élément obligatoire indique la couche de transport qui sera utilisée pour établir des connexions entre le contrôleur d'agent lisant cette configuration et les instances de contrôleur d'agent homologues. Le nom de cet élément doit correspondre au nom de type d'une couche de transport déclarée dans la section Connection (Connexion) du fichier de configuration (par exemple, TPTP_CCTL).
Utilisé par : AgentControllerConfiguration
Cet exemple montre à quoi peut ressembler un fichier de configuration du contrôleur d'agent :
<?xml version="1.0" encoding="UTF-8"?>
<AgentControllerConfiguration>
<AgentControllerEnvironment configuration="default">
<Variable name="JAVA_PATH"
value="C:\Program Files\Java\j2re1.4.2_08\bin\java.exe" position="replace"/>
<Variable name="RASERVER_HOME"
value="C:\Eclipse\Projects\AgentController" position="replace"/>
<Variable name="TPTP_AC_HOME"
value="%RASERVER_HOME%" position="replace"/>
<Variable name="PLUGINS_HOME"
value="%RASERVER_HOME%\plugins" position="replace"/>
<Variable name="PATH" value="%RASERVER_HOME%\bin"
position="prepend"/>
</AgentControllerEnvironment>
<ApplicationAliases>
<Application configuration="default"
executable="java.exe" path="%JAVA_PATH%" location="%SYS_TEMP_DIR%">
<Variable
name="CLASSPATH" value="%CLASSPATH_ORG_ECLIPSE_EQUINOX_COMMON%"
position="append"/>
<Variable
name="PATH" value="%RASERVER_HOME%\bin" position="prepend"/>
</Application>
</ApplicationAliases>
<Plugin path="%PLUGINS_HOME%"/>
<Agent path="%TPTP_AC_HOME%\agents"/>
<Logging level="INFORMATION" format="CBE" directory="%TPTP_AC_HOME%\config"/>
<ProcessController>%TPTP_AC_HOME%\bin\tptpProcessController.exe</ProcessController>
<Connection name="Dev">
<TransportLayer loadlib="socketTL"
type="TPTP_SOCKET">
<Configuration>
<Port>10006</Port>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="namedPipeTL"
type="TPTP_LOG">
<Configuration>
<PipeName>acmasterlog</PipeName>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="namedPipeTL"
type="TPTP_NAMEDPIPE">
<Configuration>
<PipeName>acmaster</PipeName>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="sharedMemTL"
type="TPTP_SHAREDMEM">
<Configuration>
<MemName>acbuffer</MemName>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="tptpCCTL"
type="TPTP_CCTL">
<Configuration>
<Port>10002</Port>
<SecuredPort>10003</SecuredPort>
<FilePort>10005</FilePort>
<IsDataMultiplexed>false</IsDataMultiplexed>
<ProcessPolling>true</ProcessPolling>
<Jvm>C:\Program Files\Java\j2re1.4.2_08\bin\client\jvm.dll</Jvm>
<Version>4.2.0</Version>
<SecurityEnabled>true</SecurityEnabled>
<UserDefinition>ANY</UserDefinition>
<Keystore>C:\Eclipse\Projects\AgentController\security\tptpSampleKeystore</Keystore>
<KeystorePassword>password</KeystorePassword>
<Hosts configuration="default">
<Allow host="LOCAL"/>
</Hosts>
</Configuration>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
<TransportLayer loadlib="tptpACTL"
type="TPTP_ACTL">
<Configuration/>
<CommandExtractor>tptpCmdExtr</CommandExtractor>
</TransportLayer>
</Connection>
<PeerConnectionTransport>TPTP_CCTL</PeerConnectionTransport>
</AgentControllerConfiguration>
Copyright (C) 2005, 2006 Intel Corporation.