Файл serviceconfig.xml

Содержание

Примечание

При упоминании в этом документе расположений файлов и каталогов под <каталогом-установки> понимается каталог, где был распакован пакет контроллера агентов.  Этот каталог в файлах конфигурации также называется %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

Элементы и атрибуты


Элемент:
AgentControllerConfiguration
Это корневой элемент конфигурации контроллера агентов. Эти параметры используются контроллером агентов при первом запуске. Можно задать только один экземпляр каждого подэлемента.

Подэлементы:     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.  Подкаталоги указанного каталога могут содержать исполняемые файлы, относящиеся к расширению.

Используется следующими элементами: AgentControllerConfiguration

Атрибуты:

path
Это значение указывает полный путь к каталогу, в котором следует выполнить поиск расширений.
Элемент: ProcessController
Элемент ProcessController содержит путь к исполняемому файлу, который будет запущен контроллером агентов с последующим запуском агентов и приложений. По умолчанию контроллером агентов запускается агент tptpProcessController(.exe), расположенный в одном каталоге с контроллером. Исполняемый файл должен зарегистрироваться в контроллере агентов и поддерживать его набор команд. Информация о запуске этого агента ограничивается путем, заданным данным элементом. Поэтому этот агент не может принимать аргументы командной строки, и для него (в отличие от других агентов) не требуется указывать подкаталог в каталоге агентов.

Используется следующими элементами: AgentControllerConfiguration

Элемент: Connection
Это обязательный элемент. Он должен содержать, как минимум, элемент TransportLayer, чтобы задать каждый из следующих типов соединений, используемых контроллером агентов: socket, named-pipe и shared memory.

Используется следующими элементами: AgentControllerEnvironment

Подэлементы: TransportLayer

Атрибуты:

name
Это значение задает имя конфигурации соединения.

Элемент: TransportLayer
Данным элементом определяется транспортный уровень. Этот компонент встраивается в контроллер агентов и с помощью механизма взаимодействия между процессами управляет пересылкой данных между компонентами системы.

Используется следующими элементами: 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


Пример файла serviceconfig.xml

В следующем примере показан файл конфигурации контроллера агентов:

<?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.