Conteúdo
Nota
Ao fazer referência a locais de arquivo e diretório neste documento, <install-home> é o diretório em que o pacote do Agent Controller foi descompactado. Esse diretório é referido como %TPTP_AC_HOME% nos arquivos de configuração.
O serviço serviceconfig.xml é lido pelo Agent Controller para obter as definições configuráveis pelo usuário. Ele é lido apenas uma vez, na inicialização. Modificações nesse arquivo normalmente são restringidas, já que qualquer alteração impacta todos os usuários.
O arquivo serviceconfig.xml contém os seguintes segmentos:
Se a variável de ambiente TPTP_AC_HOME estiver definida, o Agent Controller procurará o config/serviceconfig.xml relativo ao caminho definido por ele; do contrário, a procura será relativa ao seu próprio local instalado. O local padrão do arquivo serviceconfig.xml é <install-home>/config/serviceconfig.xml.
Cada instância de um Agent Controller em execução no mesmo sistema exige sua própria versão do serviceconfig.xml com configurações de camada de transporte diferentes.
Nota
Os agentes também lêem o arquivo serviceconfig.xml para obter as informações do segmento Conexão, permitindo assim que um Agente se comunique com um determinado Agent Controller.
Os agentes lêem a linha de comando deles para obter um local alternativo no qual localizar o arquivo serviceconfig.xml. O nome de opção predefinido para especificar o local é -serviceconfig, seguido do nome de caminho do arquivo de configuração. Se não especificado na linha de comandos, o agente procurará serviceconfig.xml nos mesmos locais, conforme descrito acima para o Agent Controller.
A hierarquia dos elementos contidos no arquivo serviceconfig.xml é mostrada a seguir. A ordem dos elementos mostrados no mesmo nível não é importante. Apenas uma ocorrência de cada primeiro nível de elementos (isto é, AgentControllerEnvironment, Logging, Agent, Plugin, ProcessController, Connection, ApplicationAliases, PeerConnectionTransport) é esperada. Hyperlinks na hierarquia estão vinculados à descrição formal do elemento na seção Elementos e Atributos.
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
Subelementos: AgentControllerEnvironment
Logging
Agent
Plugin
ProcessController
Connection
ApplicationAliases
PeerConnectionTransport
Elemento: AgentControllerEnvironment
Define as configurações globais do ambiente para todos os aplicativos e agentes ativados
pelo Agent Controller. Se esse elemento for omitido, o ambiente transmitido permanecerá
idêntico ao do próprio Agent Controller. As variáveis definidas aqui não afetam as
configurações de ambiente do próprio Agent Controller.
Utilizado por: AgentControllerConfiguration
Subelementos: Variable
Elemento: Variable
Esse elemento define uma variável de ambiente e como posicioná-la no ambiente
existente para formar o ambiente padrão para todos os aplicativos e agentes ativados. Pode
haver zero ou mais desses elementos definidos para o AgentControllerEnvironment.
Utilizado por: AgentControllerEnvironment
Atributos:
- name
- Esse valor de cadeia especifica o nome da variável de ambiente.
- value
- Esse valor de cadeia especifica o valor da variável de ambiente.
- position
- (opcional) Esse valor de cadeia é um de "append", "prepend" ou "replace", indicando onde colocar esse ambiente em relação ao ambiente padrão.
Elemento: Logging
Define o nível de gravidade das informações para registro, em qual formato e local. Se esse
elemento for omitido, todos os avisos críticos e graves serão registrados, utilizando o
formato CBE, no mesmo diretório no qual o Agent Controller está em execução. Observe que
o nome do arquivo de registro (tptpAgentCtrl.log) não é configurável; apenas seu local.
Utilizado por: AgentControllerConfiguration
Atributos:
- level
- (opcional) Esse valor de cadeia indica o nível de gravidade de mensagens que devem ser registradas. Cada nível inclui ele próprio e todos os eventos mais graves. Especifique um dos seguintes (listados na ordem de aumento de gravidade):
DEPURAÇÃO - inclui mensagens que fornecem detalhes de baixo nível sobre o fluxo interno de execução de código do Agent Controller e dos agentes.- INFORMATIVA - inclui eventos normais, mas que talvez possam interessar ao usuário do programa.
- AVISO - inclui eventos inesperados, mas que não devem interferir na operação do programa.
- CRÍTICA - (padrão) inclui eventos que indicam que a operação normal do programa foi interrompida por um erro.
- GRAVE - restrito a eventos que resultam no término do programa.
- format
- (opcional) Esse valor de cadeia especifica o formato a ser utilizado ao gravar as mensagens no arquivo de registro. Especifique um dos seguintes:
- CBE - (padrão) as mensagens serão gravadas no formato Common Base Event (inclui informações detalhadas sobre o contexto e a origem da mensagem) adequado para consumo por um utilitário de leitura de registro do CBE.
- Simples - as mensagens serão gravadas como texto simples.
directory (opcional) Esse valor de cadeia especifica o local em que o arquivo de registro será criado. O padrão é o diretório a partir do qual o Agent Controller é executado.
Elemento: Agent
Esse elemento obrigatório especifica o diretório em que os agentes que serão identificados
pelo Agent Controller terão colocado subdiretórios que identificam o agente
pelo name e conterão um arquivo de configuração agent.xml com informações sobre como
ativar e gerenciar o agente.
Utilizado por: AgentControllerConfiguration
Atributos:
- path
- Esse valor de cadeia especifica o nome de caminho completo do diretório no qual procurar configurações do agente.
Elemento: Plugin
Esse elemento especifica o diretório em que as extensões para a configuração do
Agent Controller terão sido colocadas. As extensões são definidas em
arquivos de configuração pluginconfig.xml. Os subdiretórios no
diretório especificado também podem conter arquivos executáveis com extensões específicas.
Elemento: ProcessControllerUtilizado por: AgentControllerConfiguration
Atributos:
- path
- Esse valor de cadeia especifica o nome de caminho completo do diretório no qual procurar extensões.
Elemento: ConnectionUtilizado por: AgentControllerConfiguration
Utilizado por: AgentControllerEnvironment
Subelementos: TransportLayer
Atributos:
- name
- Esse valor de cadeia fornece um nome para a configuração da conexão.
são transportes customizados que fornecem retrocompatibilidade para clientes e agentes que utilizam as interfaces originais do Agent Controller.Utilizado por: Connection
Subelementos: Configuration
CommandExtractor
Atributos:
- loadlib
- Esse valor de cadeia especifica o nome da biblioteca a ser carregada para essa camada de transporte sem seu sufixo (isto é, não inclui .dll ou .so). A procura do caminho normal do sistema para localizar a biblioteca é utilizada.
- type
- Esse valor de cadeia fornece a identidade específica dessa camada de transporte. Os valores possíveis são: TPTP_SOCKET, TPTP_NAMEDPIPE, TPTP_SHAREDMEM, TPTP_CCTL e TPTP_ACTL. As camadas de transporte customizadas utilizarão outros identificadores. Os valores TPTP_CCTL e TPTP_ACTL
Elemento: Configuration
Esse elemento contém um subelemento que especifica o mecanismo de comunicação
entre processo para cada TransportLayer. Os mecanismos de comunicação
fornecidos aqui são soquete, canal nomeado, memória compartilhada e CCTL. A
camada de transporte ACTL não possui elementos de configuração. Os TransportLayers customizados podem ter
outros elementos de configuração específicos dessas camadas.
Utilizado por: TransportLayer
Subelementos: Port (apenas com socketTL e CCTL)
PipeName (apenas com namedPipeTL)
MemName (apenas com sharedMemTL)
SecuredPort (apenas com CCTL)
FilePort (apenas com CCTL)
IsDataMultiplexed (apenas com CCTL)
ProcessPolling (apenas com CCTL)
Jvm (apenas com CCTL)
Version (apenas com CCTL)
SecurityEnabled (apenas com CCTL)
UserDefinition (apenas com CCTL e apenas se a segurança estiver ativada)
Keystore (apenas com CCTL e apenas se a segurança estiver ativada)
KeystorePassword (apenas com CCTL e apenas se a segurança estiver ativada)
Hosts (apenas com CCTL)
Elemento: Port
Esse elemento especifica a porta a ser utilizada para a comunicação por soquete.
O elemento Port só é válido quando utilizado com ascamadas de transporte
TPTP_SOCKET e TPTP_CCTL. Seu valor inteiro
especifica o número de porta real a ser utilizado ao estabelecer a conexão por soquete.
Utilizado por: Configuration
Elemento: PipeName
Esse elemento indica que a camada de transporte destina-se à comunicação por canal
nomeado. O elemento PipeName só é válido quando utilizado com o
namedPipeTL loadlib. Seu valor de cadeia especifica o nome do canal a ser
utilizado ao estabelecer a conexão.
Utilizado por: Configuration
Elemento: MemName
Esse elemento indica que a camada de transporte destina-se à comunicação por
memória compartilhada. O elemento MemName só é válido quando utilizado com o
sharedMemTL loadlib. Seu valor de cadeia especifica o nome do recurso de memória
compartilhada a ser utilizado ao estabelecer essa conexão.
Utilizado por: Configuration
Elemento: SecuredPort
Esse elemento especifica a porta a ser utilizada para a comunicação segura por soquete.
O elemento SecuredPort só é válido quando utilizado com acamada de transporte
TPTP_CCTL. Seu valor
inteiro especifica o número de porta real a ser utilizado ao estabelecer conexão segura por soquete.
Utilizado por: Configuration
Elemento: FilePort
Esse elemento especifica a camada de transporte utilizada para a comunicação por soquete
pelo serviço de Transferência de Arquivos.
O elemento FilePort só é válido quando utilizado com acamada de transporte
TPTP_CCTL. Seu valor inteiro
especifica o número de porta real a ser utilizado ao estabelecer a conexão por soquete.
Utilizado por: Configuration
Elemento: IsDataMultiplexed
Esse elemento especifica se os dados de traçado de perfil e de registro
devem ser transmitidos pelo canal de controle do Agent Controller. Por
padrão, o canal de dados utiliza uma porta arbitrária para transmissão de dados e pode
ser bloqueado pela existência de um firewall. A transferência dos dados pelo canal de
controle permitirá que um conjunto de portas predefinidas seja aberto para pedidos de
conexão de entrada por meio de um firewall. Essas portas incluem a porta padrão 10002, a porta protegida 10003 e a porta do servidor de arquivos 10005. Esse elemento utiliza um
valor booleano que assume o padrão de "FALSE". O elemento IsDataMultiplexed só é válido quando
utilizado com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: ProcessPolling
Esse elemento especifica se a verificação ativa do status do processo
está ativada ou não. Esse atributo é utilizado para garantir que o Agent Controller
detecte o término de um processo. Esse elemento utiliza um valor booleano que
assume o padrão de "TRUE". O
elemento ProcessPolling só é válido quando utilizado com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: Jvm
Esse elemento especifica o caminho completo da biblioteca dinâmica de tempo de execução
Java Virtual Machine (jvm.dll ou libjvm.so) a ser utilizada pelos componentes de Transferência
de Arquivos e de conexão segura. O elemento Jvm só é válido quando utilizado com
acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: Version
Esse elemento descreve o número da versão do Agent Controller que
será relatado a outros componentes. O elemento Version só é válido quando utilizado
com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: SecurityEnabled
Esse elemento indica se os clientes que se conectam a essa camada de transporte
devem ou não conectar-se à porta segura. Se a segurança estiver ativada
e um cliente tentar conectar-se à porta não-segura, o cliente receberá
o endereço da porta segura e a conexão será recusada.
Esse elemento utiliza um valor booleano que assume o padrão de "FALSE". O
elemento SecurityEnabled só é válido quando utilizado com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: UserDefinition
Esse elemento descreve quais usuários podem conectar-se a essa camada de
transporte. Se esse elemento for definido como "ANY", todos os usuários que podem ser
autenticados com o S.O. terão permissão para conexão. Se a segurança estiver
ativada, esse elemento será obrigatório. Esse elemento utiliza um valor de cadeia que consiste
em uma lista separada por vírgula de nomes de usuários. O elemento UserDefinition só é válido quando
utilizado com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: Keystore
Esse elemento especifica o local do armazenamento de chaves para as conexões
seguras. Se a segurança estiver ativada, esse elemento será obrigatório. O
elemento Keystore só é válido quando utilizado com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: KeystorePassword
Esse elemento define a senha a ser utilizada com o armazenamento de chaves para as
conexões seguras. Se a segurança estiver ativada, esse elemento será obrigatório. O
elemento KeystorePassword só é válido quando utilizado com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: Hosts
Esse elemento é utilizado para controlar quais hosts têm permissão para
conectar-se por essa camada de transporte. Esse elemento consiste em um ou em mais elementos
Allow ou Deny. O elemento Hosts só é válido quando utilizado
com acamada de transporte
TPTP_CCTL.
Utilizado por: Configuration
Elemento: Allow
Esse elemento especifica um Host que tem permissão para conectar-se ao Agent
Controller por essa camada de transporte.
Utilizado por: Hosts
Atributos:
- host
- Essa cadeia é o nome ou o endereço IP do host. Um valor de "ALL" indica que essa camada de transporte pode aceitar conexões de qualquer host. Um valor de "LOCAL" indica que as conexões devem ser aceitas de processos locais.
- net
- Esse atributo indica uma sub-rede a partir da qual permitir conexões.
- mask
- Esse atributo indica uma máscara de sub-rede a partir da qual permitir conexões.
Elemento: Deny
Esse elemento especifica um Host que não tem permissão para conectar-se ao Agent
Controller por essa camada de transporte.
Utilizado por: Hosts
Atributos:
- host
- Essa cadeia é o nome ou o endereço IP do host que será negado.
- net
- Esse atributo indica uma sub-rede a partir da qual negar conexões.
- mask
- Esse atributo indica uma máscara de sub-rede a partir da qual negar conexões.
Elemento: CommandExtractor
Esse elemento define um Extrator de Comando que representa um componente conectável em
uma Camada de Transporte que extrai comandos do fluxo de comunicação entre processos. Seu
valor de cadeia especifica o nome da biblioteca a ser carregada sem seu sufixo (isto
é, não inclui .dll ou .so) ou prefixo (isto é, "lib" no Linux).
A procura do caminho normal do sistema para localizar a biblioteca é utilizada.
Utilizado por: TransportLayer
Elemento: ApplicationAliases
Esse elemento é uma lista opcional de definições de alias de
aplicativo.
Utilizado por: AgentControllerConfiguration
Subelementos: Application
Atributos:
- launchAliasesOnly
- (opcional) Esse atributo de cadeia é "verdadeiro" ou "falso" (padrão). Se definido como "verdadeiro", somente os aplicativos que tiverem sido definidos nesse elemento serão ativados. Se o atributo estiver definido como "falso" ou omitido, qualquer aplicativo poderá ser ativado.
Elemento: Application
Esse elemento define um nome alias e as informações de ativação de um
aplicativo.
Utilizado por: ApplicationAliases
Subelementos: Variable
Parâmetro
Atributos:
- executável
- Esse valor de cadeia especifica o nome alias do executável do aplicativo especificado no atributo de caminho.
- location
- (opcional) Esse valor de cadeia especifica o diretório a partir do qual o executável deve ser ativado; é referido, às vezes, como o diretório de trabalho do executável enquanto ele está em execução.
- path
- Esse valor de cadeia especifica o nome de caminho completo do aplicativo a ser ativado. Ele é utilizado no lugar do nome alias ao ativar o executável do aplicativo.
Elemento: Variable
Esse elemento define uma variável de ambiente e como posicioná-la no ambiente
existente quando o aplicativo é ativado. Pode haver zero ou mais desses elementos
definidos para um Aplicativo.
Utilizado por: Application
Atributos:
- nome
- Esse valor de cadeia especifica o nome da variável de ambiente.
- value
- Esse valor de cadeia especifica o valor da variável de ambiente.
- position
- (opcional) Esse valor de cadeia é um de >"append", "prepend" ou "replace", indicando onde colocar esse ambiente em relação ao ambiente padrão.
Elemento: Parameter
Esse elemento define um argumento de linha de comando a ser fornecido ao
aplicativo quando ativado. Pode haver zero ou mais desses elementos
definidos para um Aplicativo.
Utilizado por: Application
Atributos:
- value
- Esse valor de cadeia especifica um argumento de linha de comandos.
- position
- (opcional) Esse valor de cadeia é um de "append", "prepend" ou "replace", indicando onde colocar esse argumento em relação aos argumentos de linha de comandos existentes.
Elemento: PeerConnectionTransport
Esse elemento obrigatório especifica a camada de transporte que será utilizada para
estabelecer conexões entre o Agent Controller que lê esta configuração
e as instâncias do Agent Controller no mesmo nível. O nome do valor desse elemento deve
corresponder a um nome do tipo da Camada de Transporte para uma camada de transporte específica declarada na seção Conexão
do arquivo de configuração (por ex., TPTP_CCTL).
Utilizado por: AgentControllerConfiguration
Este exemplo mostra um arquivo de configuração de amostra do Agent Controller:
<?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>
Direitos Autorais (C) 2005, 2006 Intel Corporation.