Inhoud
Opmerking
Waar in dit document naar bestands- en directorylocaties wordt verwezen, wordt met <installatiedirectory> de directory bedoeld waarin het pakket van de agentcontroller is uitgepakt. Deze directory wordt in de configuratiebestanden ook %TPTP_AC_HOME% genoemd.
Het bestand serviceconfig.xml wordt door de agentcontroller gelezen om configureerbare instellingen op te halen. Het bestand wordt slechts één keer, bij het starten, gelezen. Wijzigingen aan dit bestand zijn meestal beperkt, omdat ze voor alle gebruikers gelden.
Het bestand serviceconfig.xml bevat de volgende segmenten:
Als de omgevingsvariabele TPTP_AC_HOME is gedefinieerd, zoekt de agentcontroller naar config/serviceconfig.xml relatief ten opzichte van het pad dat door de variabele is gedefinieerd. Anders wordt gezocht relatief ten opzichte van de locatie waarin de agentcontroller is geïnstalleerd. De standaardlocatie voor het bestand serviceconfig.xml is <installatiedirectory>/config/serviceconfig.xml.
Elke agentcontroller-instance die in hetzelfde systeem wordt uitgevoerd vereist een afzonderlijk exemplaar van serviceconfig.xml met een andere TransportLayer-configuratie.
Opmerking
Ook agents lezen het bestand serviceconfig.xml om de gegevens uit het segment Connection op te halen, zodat communicatie met een bepaalde agentcontroller mogelijk is.
Agents lezen de opdrachtregel om een alternatieve op te halen waarin het bestand serviceconfig.xml zich bevindt. De vooraf gedefinieerde optie voor het opgeven van de locatie is -serviceconfig, gevolgd door het pad van het configuratiebestand. Als u de optie niet op de opdrachtregel opgeeft, zoekt de agent het bestand serviceconfig.xml op dezelfde locaties als hierboven is beschreven voor de agentcontroller.
De hiërarchie van de elementen in het bestand serviceconfig.xml ziet u hieronder. De volgorde van elementen op hetzelfde niveau is niet belangrijk. Elk element op het eerste niveau (dus AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases) kan slechts één keer voorkomen. De hyperlinks in de hiërarchie verwijzen naar de volledige elementbeschrijving in het gedeelte Elementen en kenmerken.
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
Subelementen: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Element: AgentControllerEnvironment
Dit zijn de globale omgevingsinstellingen voor alle toepassingen en agents die met de agentcontroller worden gestart. Als u dit element weglaat, blijft de doorgegeven omgeving gelijk aan de omgeving van de agentcontroller zelf. De hier gedefinieerde variabelen zijn niet van toepassing op de omgevingsinstellingen van de agentcontroller zelf.
Gebruikt door: AgentControllerConfiguration
Subelementen: Variable
Element: Variable
Het element Variabele definieert een omgevingsvariabele en geeft aan hoe de variabele in de bestaande omgeving moet worden geplaatst om een standaardomgeving te creëren voor alle toepassingen en agents die worden gestart. Het element AgentControllerEnvironment kan nul of meer Variable-elementen bevatten.
Gebruikt door: AgentControllerEnvironment
Kenmerken:
- naam
- Deze tekenreekswaarde geeft de naam van de omgevingsvariabele aan.
- waarde
- Deze tekenreekswaarde geeft de waarde van de omgevingsvariabele aan.
- position
- (optioneel) Deze tekenreekswaarde kan "append" (achteraan toevoegen), "prepend" (vooraan toevoegen) of "replace" (vervangen) zijn en geeft aan waar deze omgeving environment ten opzichte van de standaardomgeving moet worden geplaatst.
Element: Logging
Het severityniveau voor het vastleggen van gegevens in het logboek, de indeling van de gegevens en de locatie van het logboek. Als u dit element weglaat, worden alle kritieke en ernstige waarschuwingen in CBE-indeling vastgelegd in dezelfde directory als de directory waarin de agentcontroller wordt uitgevoerd. U kunt alleen de locatie van het logboekbestand aanpassen en niet de naam (tptpAgentCtrl.log).
Gebruikt door: AgentControllerConfiguration
Kenmerken:
- level
- (optioneel) Deze tekenreekswaarde geeft het severityniveau voor het vastleggen van berichten aan. Voor elk niveau geldt dat alle berichten worden vastgelegd die gelijk aan of ernstiger dan het niveau zijn. U kunt kiezen uit de volgende niveaus (vermeld in oplopende severity):
DEBUG: berichten opnemen die niet-urgente informatie geven over de interne verwerking van code door de agentcontroller en de agents.- INFORMATION: normale berichten opnemen die voor de gebruiker van het programma nuttig kunnen zijn.
- WARNING: onvoorziene events opnemen die de werking van het programma niet hoeven te beïnvloeden.
- CRITICAL (standaard): events opnemen die aangeven dat de normale werking van het programma vanwege een fout is onderbroken.
- SEVERE: alleen events opnemen die ertoe leiden dat het programma wordt beëindigd.
- format
- (optioneel) Deze tekenreekswaarde geeft de indeling aan voor het wegschrijven van berichten naar het logboekbestand. Geef een van de volgende waarden op:
- CBE (standaard): berichten worden in Common Base Event-indeling weggeschreven (met inbegrip van gedetailleerde informatie over de context en de oorsprong van het bericht) voor gebruik in een voorziening voor CBE-logboeken.
- Simple: berichten worden als platte tekst weggeschreven.
directory (optioneel) Deze tekenreekswaarde geeft de locatie aan waarin het logboek wordt gemaakt. De standaardwaarde is de directory waarin de agentcontroller wordt uitgevoerd.
Element: Agent
Dit verplichte element geeft de directory aan waarin bekende agents voor de agentcontroller zich in subdirectory's bevinden. Deze directory's duiden de agents op naam aan en bevatten elk het configuratiebestand agent.xml met gegevens over het starten en beheren van elke agent.
Gebruikt door: AgentControllerConfiguration
Kenmerken:
- path
- Deze tekenreekswaarde geeft het volledige pad aan van de directory waarin naar agentconfiguraties moet worden gezocht.
Element: Plugin
Dit element geeft de directory aan waarin extensies voor de configuratie van de agentcontroller zijn geplaatst. De extensies zijn gedefinieerd in configuratiebestanden met de naam pluginconfig.xml. De subdirectory's onder de opgegeven directory kunnen ook uitvoerbare bestanden voor een specifieke extensie bevatten.
Element: ProcessControllerGebruikt door: AgentControllerConfiguration
Kenmerken:
- path
- Deze tekenreekswaarde geeft het volledige pad aan van de directory waarin naar extensies moet worden gezocht.
Element: ConnectionGebruikt door: AgentControllerConfiguration
Gebruikt door: AgentControllerEnvironment
Subelementen: TransportLayer
Kenmerken:
- naam
- Deze tekenreekswaarde duidt de naam voor de verbindingsconfiguratie aan.
zijn aangepaste transportlagen die zorgen voor compatibiliteit met eerdere versies voor clients en agents die gebruikmaken van een oudere interface van de agentcontroller.Gebruikt door: Connection
Subelementen: Configuration
CommandExtractor
Kenmerken:
- loadlib
- Deze tekenreekswaarde duidt de naam zonder extensie (dus zonder .dll or .so) aan van de bibliotheek die voor deze transportlaag moet worden geladen. De bibliotheek wordt opgespoord met een normale zoekopdracht in het systeempad.
- typen
- Deze tekenreekswaarde bevat het specifieke ID van deze transportlaag. Mogelijke waarden zijn: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL en TPTP_ACTL. Voor aangepaste transportlagen worden andere ID's gebruikt. De waarden TPTP_CCTL en TPTP_ACTL
Element: Configuration
Het element Configuration bevat een subelement dat het mechanisme voor Interprocescommunicatie (IPC) van elk TransportLayer-segment aangeeft. De beschikbare communicatiemechanismen zijn socket, named-pipe, shared memory en CCTL. De transportlaag ACTL heeft geen configuratie-elementen. Aan aangepaste TransportLayers-segmenten kunnen andere specifieke configuratie-elementen zijn toegekend.
Gebruikt door: TransportLayer
Subelementen: Port (alleen met socketTL en CCTL)
PipeName (alleen met namedPipeTL)
MemName (alleen met sharedMemTL)
SecuredPort (alleen met CCTL)
FilePort (alleen met CCTL)
IsDataMultiplexed (alleen met CCTL)
ProcessPolling (alleen met CCTL)
Jvm (alleen met CCTL)
Version (alleen met CCTL)
SecurityEnabled (alleen met CCTL)
UserDefinition (alleen met CCTL en alleen als beveiliging is ingeschakeld)
Keystore (alleen met CCTL en alleen als beveiliging is ingeschakeld)
KeystorePassword (alleen met CCTL en alleen als beveiliging is ingeschakeld)
Hosts (alleen met CCTL)
Element: Port
Het element Port geeft de poort aan die voor socket-communicatie wordt gebruikt.
Het element Port is alleen geldig in combinatie met de transportlagen TPTP_SOCKET en TPTP_CCTL. De waarde is een geheel getal dat het poortnummer aanduidt dat voor het tot stand brengen van de socket-verbinding
moet worden gebruikt.
Gebruikt door: Configuration
Element: PipeName
Het element PipeName geeft de transportlaag aan die voor named-pipe-communicatie wordt gebruikt. Het element PipeName is alleen geldig als loadlib op namedPipeTL wordt ingesteld. De waarde is een tekenreeks die de naam aanduidt van de sluis die voor het tot stand brengen van de verbinding moet worden gebruikt.
Gebruikt door: Configuration
Element: MemName
Het element MemName geeft de transportlaag aan die voor shared memory-communicatie moet worden gebruikt. Het element MemName is alleen geldig als loadlib op sharedMemTL is ingesteld. De waarde is een tekenreeks die de naam aanduidt van de resource voor gemeenschappelijk geheugen die voor het tot stand brengen van de verbinding moet worden gebruikt.
Gebruikt door: Configuration
Element: SecuredPort
Het element SecuredPort geeft de poort aan die voor SSL-communicatie wordt gebruikt.
Het element SecuredPort is alleen geldig in combinatie met de transportlaag TPTP_CCTL. De waarde is een geheel getal dat het poortnummer aanduidt dat voor het tot stand brengen van de SSL-verbinding
moet worden gebruikt.
Gebruikt door: Configuration
Element: FilePort
Het element FilePort geeft de transportlaag aan die voor socket-communicatie wordt gebruikt door de bestandsoverdrachtsservice.
Het element FilePort is alleen geldig in combinatie met de transportlaag TPTP_CCTL. De waarde is een geheel getal dat het poortnummer aanduidt dat voor het tot stand brengen van de socket-verbinding
moet worden gebruikt.
Gebruikt door: Configuration
Element: IsDataMultiplexed
Het element IsDataMultiplexed geeft aan of de profilering en de vastlegging van gegevens moet worden verzonden via het besturingskanaal van de agentcontroller. Standaard gebruikt het gegevenskanaal een willekeurige poort voor gegevensoverdracht, die kan worden geblokkeerd door de aanwezigheid van een firewall. Het overbrengen van gegevens via het besturingskanaal maakt het mogelijk om een aantal vooraf gedefinieerde poorten te openen voor inkomende aanvragen voor verbinding door de firewall heen. Deze poorten zijn onder meer de standaardpoort 10002, de beveiligde poort 10003 en de bestandsserverpoort 10005. Dit element heeft standaard de booleaanse waarde "FALSE". Het element IsDataMultiplexed is alleen geldig in combinatie met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: ProcessPolling
Het element ProcessPolling geeft aan of het actief controleren van de processtatus is ingeschakeld. Dit kenmerk wordt gebruikt om ervoor te zorgen dat de agentcontroller weet wanneer een proces is beëindigd. Dit element heeft standaard de booleaanse waarde "TRUE". Het element ProcessPolling is alleen geldig in combinatie met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: Jvm
Het element Jvm definieert het volledige pad van de dynamische runtimebibliotheek van Java Virtual Machine
(jvm.dll of libjvm.so) die moet worden gebruikt door de componenten voor bestandsoverdracht en beveiligde
verbindingen. Het element Jvm is alleen geldig in combinatie met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: Version
Het element Version beschrijft het versienummer van de agentcontroller die wordt
gerapporteerd aan andere componenten. Het element Version is alleen geldig
met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: SecurityEnabled
Het element SecurityEnabled geeft aan of clients die verbinding maken met deze transportlaag
dat wel of niet moeten doen via de beveiligde poort. Als de beveiliging is ingeschakeld
en een client probeert verbinding te maken via de niet-beveiligde poort, wordt de client
doorverwezen naar de beveiligde poort en wordt de verbinding geweigerd. Dit element heeft standaard de booleaanse waarde "FALSE". Het element SecurityEnabled is alleen geldig in combinatie met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: UserDefinition
Het element UserDefinition beschrijft welke gebruikers verbinding mogen maken met deze
transportlaag. Als dit element wordt ingesteld op "ANY", mogen alle gebruikers die
kunnen worden geverifieerd door het besturingssysteem verbinding maken. Als de beveiliging is
ingeschakeld, is dit een verplicht element. Voor dit element moet een tekenreekswaarde worden opgegeven
van een door komma's gescheiden lijst van gebruikersnamen. Het element UserDefinition is alleen geldig in combinatie met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: Keystore
Het element Keystore geeft de locatie aan van de sleutelopslagruimte voor beveiligde
verbindingen. Als de beveiliging is ingeschakeld, is dit een verplicht element. Het element
Keystore in combinatie met de transportlaag transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: KeystorePassword
Het element KeystorePassword definieert het wachtwoord voor beveiligde verbindingen dat moet worden gebruikt voor de sleutelopslagruimte. Als de beveiliging is ingeschakeld, is dit een verplicht element. Het element KeystorePassword is alleen geldig
met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: Hosts
Het element Hosts wordt gebruikt om te bepalen welke hosts verbinding mogen maken
via deze transportlaag. Dit element bestaat uit een meer Allow- of Deny-elementen.
Het element Hosts is alleen geldig in combinatie met de transportlaag TPTP_CCTL.
Gebruikt door: Configuration
Element: Allow
Het element Allow geeft een host aan die verbinding met de agentcontroller mag maken
via deze transportlaag.
Gebruikt door: Hosts
Kenmerken:
- host
- Deze tekenreeks is de naam of het IP-adres van de host. De waarde "ALL" geeft aan deze transportlaag verbindingen van elke host mag accepteren. De waarde "LOCAL" geeft aan dat verbindingen van lokale processen moeten worden geaccepteerd.
- net
- Dit kenmerk geeft een subnet aan waarvoor verbindingen moeten worden toegestaan.
- mask
- Dit kenmerk geeft een subnetmasker aan dat wordt gebruikt om verbindingen toe te staan.
Element: Deny
Het element Allow geeft een host aan die geen verbinding met de agentcontroller mag maken
via deze transportlaag.
Gebruikt door: Hosts
Kenmerken:
- host
- Deze tekenreeks is de naam of het IP-adres van de host die moet worden geweigerd.
- net
- Dit kenmerk geeft een subnet aan waarvoor verbindingen moeten worden geweigerd.
- mask
- Dit kenmerk geeft een subnetmasker aan dat wordt gebruikt om verbindingen te weigeren.
Element: CommandExtractor
Dit element definieert het segment CommandExtractor, dat kan worden toegevoegd aan een TransportLayer-segment dat opdrachten uit de interprocescommunicatiestroom opvangt. De waarde is een tekenreeks die de naam zonder voorvoegsel (dus "lib" voor Linux) of extensie (dus .dll of .so) aanduidt van de bibliotheek die moet worden geladen.
De bibliotheek wordt opgespoord met een normale zoekopdracht in het systeempad.
Gebruikt door: TransportLayer
Element: ApplicationAliases
Het element ApplicationAliases is een optionele lijst van definities van toepassingsaliassen.
Gebruikt door: AgentControllerConfiguration
Subelementen: Application
Kenmerken:
- launchAliasesOnly
- (Optioneel) Dit is een tekenreekskenmerk dat "true" (waar) of "false" (onwaar) kan zijn. Als u het kenmerk op "true" instelt, worden alleen de toepassingen gestart die in dit element zijn gedefinieerd. Als u het kenmerk op "false" instelt of weglaat, kunnen alle toepassingen worden gestart.
Element: Application
Het element Application definieert een alias en startgegevens voor een toepassing.
Gebruikt door: ApplicationAliases
Subelementen: Variable
Parameter
Kenmerken:
- executable
- Deze tekenreekswaarde duidt de naam aan van de alias voor het uitvoerbare bestand van de toepassing dat in het kenmerk path is opgegeven.
- locatie
- (optioneel) Deze tekenreekswaarde geeft de directory aan van waaruit het uitvoerbare bestand moet worden gestart. Wanneer het bestand wordt uitgevoerd, wordt deze directory ook wel de werkdirectory genoemd.
- path
- Deze tekenreekswaarde geeft het volledige pad aan van de directory waarin de te starten toepassing zich bevindt. Dit kenmerk komt in de plaats van de aliasnaam bij het starten van het uitvoerbare bestand van de toepassing.
Element: Variable
Het element Variable duidt een omgevingsvariabele aan en geeft aan waar de variabele in de bestaande omgeving moet worden geplaatst bij het starten van de toepassing.
Het element Application kan nul of meer Parameter-elementen bevatten.
Gebruikt door: Application
Kenmerken:
- naam
- Deze tekenreekswaarde geeft de naam van de omgevingsvariabele aan.
- waarde
- Deze tekenreekswaarde geeft de waarde van de omgevingsvariabele aan.
- position
- (optioneel) Deze tekenreekswaarde kan >"append" (achteraan toevoegen), "prepend" (vooraan toevoegen) of "replace" (vervangen) zijn en geeft aan waar deze omgeving environment ten opzichte van de standaardomgeving moet worden geplaatst.
Element: Parameter
Het element Parameter is een opdrachtregelargument dat tijdens het starten aan de toepassing moet worden doorgegeven. Het element Application kan nul of meer Parameter-elementen bevatten.
Gebruikt door: Application
Kenmerken:
- waarde
- Deze tekenreekswaarde geeft een opdrachtregelargument aan.
- position
- (optioneel) Deze tekenreekswaarde kan "append" (achteraan toevoegen), "prepend" (vooraan toevoegen) of "replace" (vervangen) zijn en geeft aan waar dit argument ten opzichte van de bestaande opdrachtregelargumenten moet worden geplaatst.
Element: PeerConnectionTransport
Dit verplichte element definieert de transportlaag die wordt gebruikt voor het tot stand brengen
van verbindingen tussen de agentcontroller waardoor deze configuratie wordt gelezen en
peer-instances van de agentcontroller. De naamwaarde van dit element moet overeenkomen met
de naam van een specifiek type transportlaag in de sectie Connection van het configuratiebestand
(bijvoorbeeld TPTP_CCTL).
Gebruikt door: AgentControllerConfiguration
Dit is een voorbeeld van een agentcontroller-configuratiebestand:
<?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.