Obsah
Poznámka
Při odkazování na umístění souborů a adresářů v tomto dokumentu představuje <install-home> adresář, kam byl rozbalen balíček Řadiče agentů. Tento adresář je v konfiguračních souborech označován také jako %TPTP_AC_HOME%.
Soubor serviceconfig.xml čte Řadič agentů, aby získal nastavení konfigurovatelná uživatelem. Čte ho jen jednou, a to při spouštění. Možnosti úprav tohoto souboru jsou zpravidla omezené, protože jakékoli změny mají dopad na všechny uživatele.
Soubor serviceconfig.xml obsahuje následující segmenty:
Je-li definována proměnná prostředí TPTP_AC_HOME, hledá Řadič agentů soubor config/serviceconfig.xml vzhledem k cestě definované touto proměnnou, jinak hledá vzhledem k umístění své vlastní instalace. Výchozí umístění pro soubor serviceconfig.xml je <install-home>/config/serviceconfig.xml.
Každá instance Řadiče agentů spuštěná ve stejném systému vyžaduje svou vlastní verzi souboru serviceconfig.xml s jinou konfigurací transportní vrstvy.
Poznámka
Agenty také čtou soubor serviceconfig.xml, aby získaly informace ze segmentu Connection, které umožňují agentu komunikovat s určitým Řadičem agentů.
Agenty čtou svůj příkazový řádek, aby získaly alternativní umístění, v němž najdou soubor serviceconfig.xml. Předdefinovaný název volby pro určení tohoto umístění je /-serviceconfig následovaný názvem cesty ke konfiguračnímu souboru. Pokud tato volba není uvedena v příkazovém řádku, hledá agent soubor serviceconfig.xml ve stejných umístěních, která byla popsána výše pro Řadič agentů.
Hierarchie prvků obsažených v souboru serviceconfig.xml je zobrazena níže. Pořadí prvků zobrazených na stejné úrovni je nepodstatné. Očekává se jen jeden výskyt každého prvku první úrovně (tedy AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases, PeerConnectionTransport). Hypertextové odkazy v hierarchii odkazují na formální popis prvků v sekci Prvky a atributy.
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
Dílčí prvky: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Prvek: AgentControllerEnvironment
Definuje globální nastavení prostředí pro všechny aplikace a agenty spuštěné prostřednictvím Řadiče agentů. Je-li tento prvek vynechán, je předávané prostředí identické s prostředím samotného Řadiče agentů. Zde definované proměnné neovlivní nastavení prostředí samotného Řadiče agentů.
Použito v: AgentControllerConfiguration
Dílčí prvky: Variable
Prvek: Variable
Tento prvek Variable definuje proměnnou prostředí a to, jak má být umístěna ve stávajícím prostředí, aby vytvořila výchozí prostředí pro všechny spuštěné aplikace a agenty. Těchto prvků může být pro prvek AgentControllerEnvironment definováno libovolně mnoho, nebo nemusí být definován žádný.
Použito v: AgentControllerEnvironment
Atributy:
- name
- Tato hodnota typu řetězec určuje název proměnné prostředí.
- value
- Tato hodnota typu řetězec určuje hodnotu proměnné prostředí.
- position
- (volitelné) Touto hodnotou typu řetězec je jedna z hodnot "append", "prepend" nebo "replace", indikující, kam umístit toto prostředí vzhledem k výchozímu prostředí.
Prvek: Logging
Definuje úroveň závažnosti informací, které se mají protokolovat, jejich formát a umístění, do kterého se budou ukládat. Je-li tento prvek vynechán, budou protokolována všechna kritická a závažná varování za použití formátu CBE do stejného adresáře, ve kterém je spuštěn Řadič agentů. Poznámka: Název protokolovacího souboru (tptpAgentCtrl.log) není konfigurovatelný; jen jeho umístění.
Použito v: AgentControllerConfiguration
Atributy:
- level
- (volitelné) Tato hodnota typu řetězec označuje úroveň závažnosti zpráv, které by se měly protokolovat. Každá úroveň zahrnuje sebe samu a všechny události, které jsou závažnější. Můžete určit jednu z následujících úrovní (uvedené v pořadí podle vzrůstající závažnosti):
DEBUG - Zahrnuje zprávy, které poskytují nízkoúrovňové podrobnosti o interním toku provádění kódu Řadiče agentů a agentů.- INFORMATION - Zahrnuje události, které jsou normální, ale mohou být zajímavé pro uživatele daného programu.
- WARNING - Zahrnuje události, které jsou neočekávané, ale neměly by narušovat činnost programu.
- CRITICAL - (Výchozí) Zahrnuje události indikující chybu, která přerušila normální provádění programu.
- SEVERE - Je omezená na události, které způsobují ukončení programu.
- format
- (volitelné) Tato hodnota typu řetězec určuje formát, který se má použít při zápisu zpráv do protokolového souboru. Můžete uvést jednu z následujících možností:
- CBE - (Výchozí) Zprávy budou zapisovány ve formátu události Common Base Event (včetně podrobných informací o kontextu a původu zprávy) vhodném pro zpracovávání obslužným programem pro čtení protokolů CBE.
- Simple - Zprávy se budou zapisovat jako prostý text.
directory (volitelné) Tato hodnota typu řetězec určuje umístění, v němž bude vytvořen protokolový soubor. Výchozím je adresář, ze kterého je spuštěn Řadič agentů.
Prvek: Agent
Tento povinný prvek určuje adresář, ve kterém budou mít agenti známí Řadiči agentů umístěné podadresáře identifikující agenta podle názvu a obsahující konfigurační soubor agent.xml s informacemi o tom, jak spustit a spravovat daného agenta.
Použito v: AgentControllerConfiguration
Atributy:
- path
- Tato hodnota typu řetězec určuje úplný název cesty k adresáři, ve kterém se budou hledat konfigurace agentů.
Prvek: Plugin
Tento prvek určuje adresář, ve kterém budou umístěna rozšíření konfigurace Řadiče agentů. Rozšíření jsou definována v konfiguračních souborech
pluginconfig.xml. Podadresáře pod zadaným adresářem mohou obsahovat také spustitelné soubory specifické pro dané rozšíření.
Prvek: ProcessControllerPoužito v: AgentControllerConfiguration
Atributy:
- path
- Tato hodnota typu řetězec určuje úplný název cesty k adresáři, ve kterém se budou hledat rozšíření.
Prvek: ConnectionPoužito v: AgentControllerConfiguration
Použito v: AgentControllerEnvironment
Dílčí prvky: TransportLayer
Atributy:
- name
- Tato hodnota typu řetězec poskytuje název pro konfiguraci připojení.
jsou vlastní transporty zajišťující zpětnou kompatibilitu pro klienty a agenty používající původní rozhraní Řadiče agentů.Použito v: Connection
Dílčí prvky: Configuration
CommandExtractor
Atributy:
- loadlib
- Tato hodnota typu řetězec určuje název knihovny, která se má načíst pro danou transportní vrstvu, bez přípony (tj. neuvádějte .dll nebo .so). Pro nalezení této knihovny se používá běžná systémová cesta.
- type
- Tato hodnota typu řetězec poskytuje konkrétní identitu pro tuto transportní vrstvu. Možné hodnoty jsou: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL a TPTP_ACTL. Vlastní transportní vrstvy budou používat jiné identifikátory. Hodnoty TPTP_CCTL a TPTP_ACTL
Prvek: Configuration
Prvek Configuration obsahuje dílčí prvek, který určuje mechanizmus meziprocesní komunikace pro každý prvek TransportLayer. Zde se nabízejí následující komunikační mechanizmy: Soket (socket), pojmenované propojení procesů (named pipe), sdílená paměť (shared memory) a CCTL. Transportní vrstva ACTL
nemá žádné konfigurační prvky. Vlastní prvky TransportLayer mohou mít jiné konfigurační prvky, které jsou specifické pro odpovídající transportní vrstvy.
Použito v: TransportLayer
Dílčí prvky: Port (pouze u komunikačních mechanizmů socketTL a CCTL)
PipeName (pouze u namedPipeTL)
MemName (pouze u sharedMemTL)
SecuredPort (pouze u CCTL)
FilePort (pouze u CCTL)
IsDataMultiplexed (pouze u CCTL)
ProcessPolling (pouze u CCTL)
Jvm (pouze u CCTL)
Version (pouze u CCTL)
SecurityEnabled (pouze u CCTL)
UserDefinition (pouze u CCTL a pouze pokud je zpřístupněno zabezpečení)
Keystore (pouze u CCTL a pouze pokud je zpřístupněno zabezpečení)
KeystorePassword (pouze u CCTL a pouze pokud je zpřístupněno zabezpečení)
Hosts (pouze u CCTL)
Prvek: Port
Prvek Port určuje port použitý pro soketovou komunikaci.
Prvek Port je platný pouze při použití s transportními vrstvami
TPTP_SOCKET a TPTP_CCTL. Jeho celočíselná hodnota určuje skutečné číslo portu použité při sestavování soketového připojení.
Použito v: Configuration
Prvek: PipeName
Prvek PipeName indikuje, že transportní vrstvu komunikace tvoří pojmenované propojení procesů. Prvek PipeName je platný jen, pokud je použitý s připojením
namedPipeTL loadlib. Jeho hodnota typu řetězec určuje název propojení procesů, který se použije při vytváření připojení.
Použito v: Configuration
Prvek: MemName
Prvek MemName indikuje, že transportní vrstvu komunikace tvoří sdílená paměť. Prvek MemName je platný jen tehdy, když je použitý s připojením
sharedMemTL loadlib. Jeho hodnota typu řetězec určuje název zdroje sdílené paměti, který se použije při vytváření tohoto připojení.
Použito v: Configuration
Prvek: SecuredPort
Prvek SecuredPort určuje port použitý pro zabezpečenou soketovou komunikaci.
Prvek SecuredPort je platný pouze při použití s transportní vrstvou
TPTP_CCTL. Jeho celočíselná hodnota určuje skutečné číslo portu použité při sestavování zabezpečeného soketového připojení.
Použito v: Configuration
Prvek: FilePort
Prvek FilePort určuje transportní vrstvu použitou službou Přenos souborů pro soketovou komunikaci.
Prvek FilePort je platný pouze při použití s transportní vrstvou
TPTP_CCTL. Jeho celočíselná hodnota určuje skutečné číslo portu použité při sestavování soketového připojení.
Použito v: Configuration
Prvek: IsDataMultiplexed
Prvek IsDataMultiplexed určuje, zda data profilování a protokolování mají být přenášena přes řídicí kanál Řadiče agentů. Ve výchozím nastavení datový kanál používá pro přenos dat libovolný port a může být blokován přítomností brány firewall. Přenos dat přes řídicí kanál umožní, aby byla otevřená sada předdefinovaných portů pro příchozí žádosti o připojení přes bránu firewall. K těmto portům patří výchozí port 10002, zabezpečený port 10003 a port 10005 pro souborové servery. Tento prvek nabývá hodnoty typu Logický. Výchozí nastavení je "FALSE". Prvek IsDataMultiplexed je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: ProcessPolling
Prvek ProcessPolling určuje, zda je zpřístupněna aktivní kontrola stavu procesu či nikoli. Pomocí tohoto atributu je možno zajistit, že Řadič agentů zjistí ukončení procesu. Tento prvek nabývá hodnoty typu Logický. Výchozí nastavení je "TRUE". Prvek ProcessPolling je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: Jvm
Prvek Jvm určuje úplnou cestu k dynamické knihovně běhových komponent Java Virtual Machine (jvm.dll nebo libjvm.so) používanou komponentami Přenosu souborů a zabezpečeného připojení. Prvek Jvm je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: Version
Prvek Version popisuje číslo verze Řadiče agentů, které bude oznamováno ostatním komponentám. Prvek Version je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: SecurityEnabled
Prvek SecurityEnabled indikuje, zda se klienti, kteří se připojují k této transportní vrstvě, musejí nebo nemusejí připojovat k zabezpečenému portu. Pokud je zpřístupněno zabezpečení a klient se pokusí připojit k nezabezpečenému portu, klient obdrží adresu zabezpečeného portu a připojení bude odmítnuto.
Tento prvek nabývá hodnoty typu Logický. Výchozí nastavení je "FALSE". Prvek SecurityEnabled je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: UserDefinition
Prvek UserDefinition popisuje, kteří uživatelé se mohou připojit k této transportní vrstvě. Je-li tento prvek nastaven na hodnotu "ANY", bude připojení povoleno všem uživatelům, které je možno ověřit pomocí operačního systému. Pokud je zpřístupněno zabezpečení, je tento prvek povinný. Tento prvek nabývá hodnoty typu řetězec sestávající ze seznamu jmen uživatelů oddělených čárkami. Prvek UserDefinition je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: Keystore
Prvek Keystore určuje umístění úložiště klíčů pro zabezpečená připojení. Pokud je zpřístupněno zabezpečení, je tento prvek povinný. Prvek Keystore je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: KeystorePassword
Prvek KeystorePassword nastavuje heslo používané pro úložiště klíčů pro zabezpečená připojení. Pokud je zpřístupněno zabezpečení, je tento prvek povinný. Prvek KeystorePassword je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: Hosts
Pomocí prvku Hosts se určuje, které hostitelské systémy mají povoleno připojení prostřednictvím této transportní vrstvy. Tento prvek se skládá z minimálně jednoho prvku Allow
nebo Deny. Prvek Hosts je platný pouze při použití s transportní vrstvou
TPTP_CCTL.
Použito v: Configuration
Prvek: Allow
Prvek Allow určuje Hostitele, který má povoleno připojení k Řadiči agentů prostřednictvím této transportní vrstvy.
Použito v: Hosts
Atributy:
- host
- Tento řetězec představuje název nebo adresu IP hostitele. Hodnota "ALL" indikuje, že tato transportní vrstva může přijmout připojení od libovolného hostitele. Hodnota "LOCAL" indikuje, že by měla být přijmuta připojení od lokálních procesů.
- net
- Tento atribut označuje podsíť, ze které mají být povolena připojení.
- mask
- Tento atribut označuje masku podsítě, která se má použít pro povolení připojení.
Prvek: Deny
Prvek Deny určuje Hostitele, který nemá povoleno připojení k Řadiči agentů prostřednictvím této transportní vrstvy.
Použito v: Hosts
Atributy:
- host
- Tento řetězec představuje název nebo adresu IP hostitele, který bude odmítnut.
- net
- Tento atribut označuje podsíť, ze které mají být odepřena připojení.
- mask
- Tento atribut označuje masku podsítě, která se má použít pro odepření připojení.
Prvek: CommandExtractor
Tento prvek definuje Extraktor příkazů - přídavnou komponentu v transportní vrstvě, která extrahuje příkazy z proudu meziprocesní komunikace. Jeho hodnota typu řetězec určuje název knihovny, která se má načíst, bez přípony (tj. neuvádějte .dll nebo .so) nebo předpony (t.j. "lib" pro Linux).
Pro nalezení této knihovny se používá běžná systémová cesta.
Použito v: TransportLayer
Prvek: ApplicationAliases
Prvek ApplicationAliases je volitelný seznam definicí aliasů aplikací.
Použito v: AgentControllerConfiguration
Dílčí prvky: Application
Atributy:
- launchAliasesOnly
- (volitelné) Tento atribut typu řetězec má hodnotu buďto "true", nebo "false" (výchozí). Je-li nastaven na hodnotu "true", budou se spouštět pouze aplikace definované v rámci tohoto prvku. Je-li atribut nastaven na "false" nebo vynechán, je možno spustit libovolnou aplikaci.
Prvek: Application
Prvek Application definuje zástupné jméno a informace pro spuštění pro aplikaci.
Použito v: ApplicationAliases
Dílčí prvky: Variable
Parameter
Atributy:
- executable
- Tato hodnota typu řetězec určuje zástupný název pro spustitelný soubor aplikace zadaný v atributu path.
- location
- (volitelné) Tato hodnota typu řetězec určuje adresář, z něhož má být spuštěn spustitelný soubor; někdy je označovaný jako pracovní adresář pro právě spuštěný spustitelný soubor.
- path
- Tato hodnota typu řetězec určuje úplný název cesty k aplikaci, která se má spustit. Používá se místo zástupného jména při spouštění spustitelného souboru aplikace.
Prvek: Variable
Tento prvek Variable definuje proměnnou prostředí a to, jak má být umístěna ve stávajícím prostředí, když se aplikace spouští.
Těchto prvků může být pro aplikaci definováno libovolně mnoho, nebo nemusí být definován žádný.
Použito v: Application
Atributy:
- name
- Tato hodnota typu řetězec určuje název proměnné prostředí.
- value
- Tato hodnota typu řetězec určuje hodnotu proměnné prostředí.
- position
- (volitelné) Touto hodnotou typu řetězec je jedna z hodnot >"append", "prepend" nebo "replace", indikující, kam umístit toto prostředí vzhledem k výchozímu prostředí.
Prvek: Parameter
Prvek Parameter definuje argument příkazového řádku, který se předá aplikaci při jejím spuštění. Těchto prvků může být pro aplikaci definováno libovolně mnoho, nebo nemusí být definován žádný.
Použito v: Application
Atributy:
- value
- Tato hodnota typu řetězec určuje argument příkazového řádku.
- position
- (volitelné) Touto hodnotou typu řetězec je jedna z hodnot "append", "prepend" nebo "replace" indikující, kam umístit tento argument vzhledem ke stávajícím argumentům příkazového řádku.
Prvek: PeerConnectionTransport
Tento povinný prvek určuje transportní vrstvu, která bude použita ke zřízení připojení mezi Řadičem agentů, který čte tuto konfiguraci, a instancemi Řadiče agentů na stejné úrovni. Název hodnoty tohoto prvku se musí shodovat s názvem typu transportní vrstvy pro danou transportní vrstvu deklarovanou v sekci Connection konfiguračního souboru (např. TPTP_CCTL).
Použito v: AgentControllerConfiguration
Tento příklad zobrazuje ukázku konfiguračního souboru Řadiče 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.