Содержание
Примечание
При упоминании в этом документе расположений файлов и каталогов под <каталогом-установки> понимается каталог, где был распакован пакет контроллера агентов. Этот каталог в файлах конфигурации также называется %TPTP_AC_HOME%.
Контроллер агентов считывает файл serviceconfig.xml для получения настраиваемых параметров. Этот файл считывается только один раз при запуске. Обычно этот файл нельзя редактировать, потому что внесенные изменения отразятся на всех пользователях.
Файл serviceconfig.xml состоит из следующих сегментов:
Если переменная TPTP_AC_HOME задана, то контроллер агентов ищет файл config/serviceconfig.xml в каталоге, указанном в пути этой переменной. В противном случае контроллер агентов ищет этот файл в собственном установочном каталоге. По умолчанию файл serviceconfig.xml находится в каталоге <каталог-установки>/config/serviceconfig.xml.
Для каждого запущенного в одной системе экземпляра контроллера агентов требуется отдельная версия файла serviceconfig.xml с разными конфигурациями транспортного уровня.
Примечание
Агенты также считывают файл serviceconfig.xml для получения информации из сегмента Соединение. Агенты используют эту информацию для взаимодействия с контроллерами агентов.
Агенты считывают альтернативное расположение файла serviceconfig.xml из своей командной строки. Расположение определяется с помощью опции -serviceconfig, за которой указывается путь файла конфигурации. Если расположение файла не указано в командной строке, агент ищет файл serviceconfig.xml в тех же каталогах, в которых их ищет контроллер агентов, как описано выше.
Ниже приведена иерархия элементов файла serviceconfig.xml. Элементы одного уровня могут располагаться в любом порядке. Предполагается, что элементы первого уровня (то есть AgentControllerEnvironment, Logging, Agent, ProcessController, Connection, ApplicationAliases) будут указаны один раз. Гиперссылки, указанные в иерархии, ведут к разделу Элементы и атрибуты, где приведено описание формальных элементов.
AgentControllerConfiguration
AgentControllerEnvironment
Variable
Logging
Agent
Модуль
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
Подэлементы: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Элемент: AgentControllerEnvironment
Задает параметры глобальной среды для всех приложений и агентов, запущенных через контроллер агентов. Если данный элемент не указан, то
для приложений и агентов применяется среда, идентичная среде контроллера агентов. Значение переменных данного элемента не влияют на параметры
среды контроллера агентов.
Используется следующими элементами: AgentControllerConfiguration
Подэлементы: Variable
Элемент: Variable
Элемент Variable задает переменную среды и ее расположение при формировании среды по умолчанию для запускаемых приложений и
агентов. В рамках элемента AgentControllerEnvironment можно указать несколько элементов Varialbe или не указывать ни одного.
Используется следующими элементами: AgentControllerEnvironment
Атрибуты:
- name
- Задает имя переменной среды.
- значение
- Задает значение переменной среды.
- position
- (необязательно) Это значение может быть "append", "prepend" или "replace". Оно указыает расположение среды по отношению к среде по умолчанию.
Элемент: Logging
Определяет уровень серьезности данных, заносимых в протокол, формат этих данных и их расположение. Если этот элемент не указан, то все
серьезные предупреждения регистрируются в формате CBE в том же каталоге, из которого запущен контроллер агентов. Можно изменить
расположение протокола; имя протокола (tptpAgentCtrl.log) изменить нельзя.
Используется следующими элементами: AgentControllerConfiguration
Атрибуты:
- уровень
- (необязательно) Это значение указывает уровень серьезности сообщений, заносимых в протокол. Каждый уровень включает собственные сообщения и все сообщения более высоких уровней серьезности. Укажите один из следующих вариантов (они перечислены в порядке увеличения серьезности):
DEBUG - включает низкоуровневую информацию о выполнении кода контроллера агентов и самих агентов.- INFORMATION - включает информацию о стандартных событиях, которая может быть полезна для пользователя программы.
- WARNING - включает информацию о непредвиденных событиях, которые не прерывают работу программы.
- CRITICAL - (по умолчанию) включает информацию об ошибках, возникающих в процессе работы программы.
- SEVERE - содержит только информацию об ошибках, которые привели к полной остановке работы программы.
- формат
- (необязательно) Это значение задает формат заносимых в протокол сообщений. Укажите один из следующих вариантов:
- CBE - (по умолчанию) сообщения заносятся в формате CBE. Этот формат содержит информацию о содержании и источнике сообщений и может применяться утилитой считывания протокола CBE.
- Простой - сообщения заносятся как простой текст.
каталог (необязательно) Это значение определяет расположение протокола. По умолчанию протокол располагается в каталоге, из которого был запущен контроллер агентов.
Элемент: Agent
Этот обязательный элемент определяет каталог агентов, который применяется контроллером агентов для взаимодействия с агентами. Каждый
подкаталог определяет имя агента и содержит файл конфигурации agent.xml, в котором приведены инструкции по
запуску агентов и управлению ими.
Используется следующими элементами: AgentControllerConfiguration
Атрибуты:
- path
- Это значение задает полный путь к каталогу, где расположены конфигурации агентов.
Элемент: Plugin
Этот элемент задает каталог, в котором хранятся расширения конфигурации контроллера агентов. Расширения задаются в файлах конфгурации pluginconfig.xml. Подкаталоги указанного каталога могут содержать исполняемые файлы, относящиеся к расширению.
Элемент: ProcessControllerИспользуется следующими элементами: AgentControllerConfiguration
Атрибуты:
- path
- Это значение указывает полный путь к каталогу, в котором следует выполнить поиск расширений.
Элемент: ConnectionИспользуется следующими элементами: AgentControllerConfiguration
Используется следующими элементами: AgentControllerEnvironment
Подэлементы: TransportLayer
Атрибуты:
- name
- Это значение задает имя конфигурации соединения.
указывают на пользовательские транспортные протоколы, предоставляющие обратную совместимость для клиентов и агентов, использующих исходные интерфейсы контроллера агентов.Используется следующими элементами: Connection
Подэлементы: Configuration
CommandExtractor
Атрибуты:
- loadlib
- Это значение задает имя библиотеки, загружаемой для транспортного уровня, без расширения .dll или .so. Для поиска библиотеки используется обычный системный путь.
- тип
- Это значение задает уровень транспортного протокола. Допустимы следующие значения: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL и TPTP_ACTL. Пользовательские уровни транспортного протокола будут использовать другие идентификаторы. Значения TPTP_CCTL и TPTP_ACTL
Элемент: Configuration
Элемент Configuration содержит подэлемент, который задает механизм взаимодействия между процессами для каждого элемента
TransportLayer. Здесь используются механизмы socket, named-pipe, shared memory и CCTL. Уровень транспортного протокола ACTL не имеет элементов конфигурации. В пользовательские элементы
TransportLayers могут входить дополнительные специальные элементы.
Используется следующими элементами: TransportLayer
Подэлементы: Port (только с socketTL и CCTL)
PipeName (только с namedPipeTL)
MemName (только с sharedMemTL)
SecuredPort (только с CCTL)
FilePort (только с CCTL)
IsDataMultiplexed (только с CCTL)
ProcessPolling (только с CCTL)
Jvm (только с CCTL)
Version (только с CCTL)
SecurityEnabled (только с CCTL)
UserDefinition (только с CCTL и только при включенной защите)
Keystore (только с CCTL и только при включенной защите)
KeystorePassword (только с CCTL и только при включенной защите)
Hosts (только с CCTL)
Элемент: Port
Элемент Port задает порт, используемый для механизма socket. Элемент Port является допустимым только при исопльзовании с уровнями транспортного протокола TPTP_SOCKET и TPTP_CCTL. Его целочисленное значение определяет фактический номер порта для
установки соединения socket.
Используется следующими элементами: Configuration
Элемент: PipeName
Элемент PipeName определяет транспортный уровень для механизма named-pipe. Элемент PipeName действителен только в сочетании
с namedPipeTL loadlib. Его значением задается имя конвейера для установки соединения.
Используется следующими элементами: Configuration
Элемент: MemName
Элемент MemName определяет транспортный уровень для механизма shared memory. Элемент MemName действителен только в сочетании
с sharedMemTL loadlib. Его значением задается имя ресурса общей памяти для установки
соединения.
Используется следующими элементами: Configuration
Элемент: SecuredPort
Элемент SecuredPort задает порт, применяемый для связи через защищенный сокет. Элемент SecuredPort является допустимым только при использовании с уровнем транспортного протокола TPTP_CCTL. Его целочисленное значение определяет фактический номер порта для
установки соединения через защищенный сокет.
Используется следующими элементами: Configuration
Элемент: FilePort
Элемент FilePort задает уровень транспортного протокола, используемый для соединения через сокет службой Передача файлов. Элемент FilePort является допустимым только при использовании с уровнем транспортного протокола TPTP_CCTL. Его целочисленное значение определяет фактический номер порта для
установки соединения socket.
Используется следующими элементами: Configuration
Элемент: IsDataMultiplexed
Элемент IsDataMultiplexed задает следует или нет передавать данные профилирования и протоколов по управляющему каналу Контроллера агента.
По умолчанию канал данных использует арбитражный порт для передачи данных и может быть заблокирован брандмауэром. При передаче
информации через канал данных открываются предопределенные порты для получения входящих запросов на установку соединения через брандмауэр. Эти порты включают в себя порт по умолчанию 10002, защищенный порт 10003 и порт файлового сервера 10005. Элемент использует Булевское значение, по умолчанию равное "FALSE". Элемент IsDataMultiplexed допустим только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: ProcessPolling
Элемент ProcessPolling задает включена или нет активная проверка состояния процесса. Этот атрибут используется для проверки обнаружения завершения процесса контроллером агентов. Элемент использует Булевское значение, по умолчанию равное "TRUE". Элемент ProcessPolling допустим только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: Jvm
Элемент Jvm задает полный путь для динамически загружаемой библиотеки виртуальной машины (jvm.dll или libjvm.so) для применения Передачей файлов и компонентами защищенного соединения. Элемент Jvm является допустимым только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: Version
Элемент Version описывает номер версии контроллера агентов, передаваемый прочим компонентам. Элемент Version является допустимым только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: SecurityEnabled
Элемент SecurityEnabled указывает, должны ли подключающиеся к этому уровню транспортного протокола подключаться к защищенному порту. Если защита включена и клиент пытается подключиться к незащищенному порту, клиенту будет дан адрес защищенного порта, а это соединение будет прервано. Элемент использует Булевское значение, по умолчанию равное "FALSE". Элемент SecurityEnabled допустим только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: UserDefinition
Элемент UserDefinition описывает, какие пользователи могут подключаться к этому уровню транспортного протокола. Если элемент имеет значение "ANY", все идентифицированные операционной системой пользователи смогут подключиться. Если защита включена, этот элемент является обязательным. Э тот элемент использует строковое значение, состоящее из списка имен пользователей, указанных через запятую. Элемент UserDefinition допустим только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: Keystore
Элемент Keystore задает расположение хранилища ключей для защищенных соединений. Если защита включена, этот элемент является обязательным. Элемент Keystore является допустимым только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: KeystorePassword
Элемент KeystorePassword задает пароль для применения с хранилищем ключей для защищенного соединения. Если защита включена, этот элемент является обязательным. Элемент KeystorePassword является допустимым только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: Hosts
Элемент Hosts используется чтобы указать какие хосты могут подключаться к данному уровню транспортного протокола. Этот элемент состоит из одного или нескольких элементов Allow или Deny. Элемент Hosts допустим только при использовании с уровнем транспортного протокола TPTP_CCTL.
Используется следующими элементами: Configuration
Элемент: Allow
Элемент Allow указывает Host, которому разрешено подключаться к контроллеру агентов с помощью данного уровня транспортного протокола.
Используется следующими элементами: Hosts
Атрибуты:
- host
- Это значение задает IP-адрес хоста. Значение "ALL" указывает, что этот уровень транспортного протокола может устанавливать соединения со всеми хостами. Значение "LOCAL" указывает, что соединения можно устанавливать с локальными поцессами.
- net
- Этот атрибут указывает на подсеть, из которой можно принимать соединения.
- mask
- Этот атрибут указывает на маску подсети, используемую для установки соединений.
Элемент: Deny
Элемент Deny указывает Host, которому запрещено подключаться к контроллеру агентов через данный уровень транспортного протокола.
Используется следующими элементами: Hosts
Атрибуты:
- host
- Значение указывает имя или IP-адрес запрещенного хоста.
- net
- Этот атрибут указывает на подсеть, из которой Запрещено принимать соединения.
- mask
- Этот атрибут указывает на маску подсети, которую запрещено использовать для установки соединений.
Элемент: CommandExtractor
Этим элементом определяется Приемник команд. Этот компонент встраивается в транспортный уровень и извлекает команды из потока данных,
которыми обмениваются процессы. Его значение задает имя библиотеки, загружаемой для транспортного уровня, без элемента "lib"
(для Linux) или расширения .dll или .so.
Для поиска библиотеки используется обычный системный путь.
Используется следующими элементами: TransportLayer
Элемент: ApplicationAliases
Элемент ApplicationAliases - это необязательный список определений псевдонимов приложений.
Используется следующими элементами: AgentControllerConfiguration
Подэлементы: Application
Атрибуты:
- launchAliasesOnly
- (необязательно) Значение этого атрибута может быть "true" или "false" (по умолчанию). Значение "true" означает, что будут запускаться только приложения, указанные в этом элементе. Если выбрано значение "false" или этот элемент не указан, будут запускаться любые приложения.
Элемент: Application
Элемент Application задает псевдоним приложения и содержит информацию о запуске приложения.
Используется следующими элементами: ApplicationAliases
Подэлементы: Variable
Parameter
Атрибуты:
- executable
- Это значение задает имя псевдонима для исполняемого файла приложения, указанного в атрибуте path.
- location
- (необязательно) Это значение задает каталог, из которого запускается исполняемый файл. Иногда этот каталог называется рабочим каталогом для исполняемого файла.
- path
- Это значение задает полный путь к каталогу, из которого запускается приложение. Этот путь используется вместо псевдонима при запуске исполняемого файла приложения.
Элемент: Variable
Элемент Variable задает переменную среды и ее расположение в среде при запуске приложения.
В рамках элемента Application можно указать несколько элементов Varialbe или не указывать ни одного.
Используется следующими элементами: Application
Атрибуты:
- name
- Задает имя переменной среды.
- значение
- Задает значение переменной среды.
- position
- (необязательно) Это значение может быть >"append", "prepend" или "replace". Оно указыает расположение среды по отношению к среде по умолчанию.
Элемент: Parameter
Элемент Parameter задает аргумент командной строки, который используется при запуске приложения. В рамках элемента Application можно указать несколько элементов Varialbe или не указывать ни одного.
Используется следующими элементами: Application
Атрибуты:
- значение
- Это значение задает аргумент командной строки.
- position
- (необязательно) Это значение может быть "append", "prepend" или "replace". Оно указывает расположение аргумента по отношению к существующим аргументам командной строки.
Элемент: PeerConnectionTransport
Этот обязательный элемент указывает уровень транспортного протокола, используемый для установки соединений между контроллером агентов, считывающим данную конфигурацию, и равноправными экземплярами контроллера агентов. Имя значения данного элемента должно совпадать с именем типа уровня транспортного протокола, заданным в разделе Соединение файла конфигурации (например, TPTP_CCTL).
Используется следующими элементами: AgentControllerConfiguration
В следующем примере показан файл конфигурации контроллера агентов:
<?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.