Este artigo fornece informações básicas sobre como o canal de dados do ePO (DC) funciona. Ele também fornece algumas etapas úteis de solução de problemas que você pode tomar para diagnosticar problemas com o canal de dados.
Visão geral de alto nível de um fluxo de trabalho de canal de dados:
- O servidor de aplicativos do ePO (Tomcat) grava a solicitação de DC no EPOAgentHandlerDataChannelWQ (DC WQ) tabela do banco de dados do ePO.
- Os manipuladores Agent sondam regularmente a tabela WQ do DC, procurando o trabalho a ser feito.
- Os manipuladores Agent pegam todas as solicitações de DC pendentes no DC WQ e trabalham nelas. A solicitação de saída inicial é essencialmente uma chamada de ativaç?o para o McAfee Agent no cliente instruindo-o a comunicar-se novamente com o ePO, pois o trabalho do DC está disponível.
- O Manipulador de agentes se comunica com o Tomcat e atualiza o status da solicitação de DC de saída, seja o êxito ou a falha.
- O agente se comunica com o ePO:
- Durante seu intervalo normal de comunicação entre o agente e o servidor (ASCI)
Ou
- Quando contatado pela Manipulador de agentes na etapa 3 acima, e descobre que o DC está aguardando a entrada na fila de trabalho do DC. O agente seleciona esse trabalho e conclui a solicitação.
- Uma tarefa de manutenção de banco de dados interna é executada a cada minuto. A tarefa procura solicitações de DC no banco de dados que tenham sido concluídas ou que tenham expirado. Em seguida, ele continua a removê-los do DC WQ.
Consultas do SQL:
Use as consultas a seguir para obter informações sobre solicitações de canal de dados:
- Para exibir o que Manipulador de agentes está processando uma solicitação de canal de dados para um cliente específico, use a seguinte consulta SQL:
Selecionados
ELN. NodeName como ClientName,
ELN. AgentGUID
AH. ComputerName as HandlerName,
Ah. LastKnownTCPIP como HandlerIP,
DCWQ. Origem como DCRequest,
DCWQAttempts. LastDeliveryAttempt como DCLastAttemptTime,
DCWQ. RetryDelay como RetryDelaySeconds,
DCWQAttempts.RetriesRemaining,
DCWQ. Expiratime como DCExpireTime
De
EPOLeafNode como ELN, EPOAgentHandlerDataChannelWQMT como DCWQ,
EPOAgentHandlerDataChannelWQAttemptsMT como DCWQAttempts, EPORegisteredApacheServers como AH
Nas
DCWQ. AutoID = DCWQAttempts. ParentID
E DCWQ. Target = ELN. AutoID
E DCWQAttempts. AgentHandlerId = AH. AutoID
E ELN. NodeName = ''
Nas
é o sistema que você está consultando. Por exemplo, para consultar um sistema chamado teste, você teria que atualização a última linha da consulta para:
ELN.NodeName = 'TEST'
- Para exibir uma contagem de todos os tipos de solicitação de canal de dados na fila, use a seguinte consulta SQL:
Select Source as DCRequest, count (*) as 'Number of Occurrences'
From EPOAgentHandlerDataChannelWQ
Group By Source Order by Source asc
Entradas de arquivo de registro:
O canal de dados usa o protocolo Secure pipe (SPIPE) para gerar solicitações. Ele tem quatro tipos de solicitação de SPIPE principais, que podem ser observados referenciados nos arquivos de registro abaixo:
- Tipo de solicitação: MsgUpload
Propósito: a solicitação é usada para enviar itens de DC do nó do cliente para o Manipulador de agentes.
Exemplo (registro do servidor em um Manipulador de agentes):
NAIMSERV Received [MsgUpload] from :{}
- Tipo de solicitação: MsgAvailable
Finalidade: o agente recebeu a solicitação do ePO quando há itens que o ePO tem que entregar ao agente.
Exemplo (registro do agente em um cliente):
- Agent tipo de pacote é MsgAvailable
- LstnSvr StartResponse-POST-PKG - MsgAvailable
- Tipo de solicitação: MsgRequest
Finalidade: essa solicitação é enviada para o Manipulador de agentes pelo agente depois de receber um MsgAvailable solicitação de um Manipulador de agentes. Esta solicitação dispara o Manipulador de agentes para responder com MsgResponse.
Exemplo #1 (registro do agente em um cliente):
Agent tipo de pacote é MsgRequest
Exemplo #2 (registro do servidor em um Manipulador de agentes):
Received [MsgRequest] from :{}
- Tipo de solicitação: MsgResponse
Propósito: o ePO envia essa solicitação em resposta ao MsgRequest Pacote SPIPE.
Exemplo (registro do agente em um cliente):
- Agent CMsgResponsePackage::ParsePackage() - New MsgResponse-EEADMIN_1000_UserUpdatesAndAcknowledgementRsp was received
- Agent Package type is MsgResponse
- Agent CMsgResponsePackage::ParsePackage() - New MsgResponse-EEADMIN_1000_AddDomainUsersRsp was received
Exemplos de condição de erro Em Comum:
Esta seção fornece soluções para problemas comuns de canal de dados que podem ocorrer.
- Solicitações de canal de dados, como uma chamada de ativação do agente, são bem-sucedidas, mas o log de tarefas do servidor no console do ePO sempre relata que expiraram.
O server_.log arquivo no Manipulador de agentes pode conter os seguintes erros:
- MCUPLOAD SecureHttp.cpp(968): Failed to send HTTP request. Error=12029 (12029)
- NAIMSERV server.cpp(587): Failed to send request, err=0x80004005, HTTP status code=0
Causa:
Apache não pode se comunicar com o serviço do servidor de aplicativos (Tomcat) em execução no servidor ePO. Como não é possível se comunicar, o status da tarefa nunca é definido como êxito ou falha. Eventualmente, uma tarefa de manutenção é executada e identifica que a tarefa ultrapassou seu tempo expirado e expira a tarefa.
Possíveis soluções:
- Examine o server.ini arquivo (\DB\server.ini). Ele informa o endereço IP e o nome DNS que o Manipulador de agentes está usando para o Tomcat. Confirme se estão corretas.
- Verifique se DNS resolve o endereço IP correto para o servidor ePO no Manipulador de agentes.
- Verifique se uma rota entre o Manipulador de agentes e o servidor ePO existe na porta 8444 (porta padrão).
- O registro de tarefas do servidor tem tarefas relacionadas ao canal de dados que não estão para ficar "em andamento" de vez em quando o tempo de expiração é atingido. O EPODataChannelData a tabela está crescendo grande.
Ocorrer
Uma tarefa de manutenção interna deve ser executada a cada minuto para procurar objetos de canal de dados expirados e removê-los. No entanto, a tarefa não está em execução.
Possíveis soluções:
Esta entrada no orion.log mostra se a tarefa interna que limpa as tabelas de canais de dados (dbcleanup tarefa) está em execução:
INFO [scheduler-TaskQueueEngine-thread-4] Internal.DbCleanupTask - Running DataChannel DbCleanupTask
Esta consulta lhe dá a próxima vez em que você está na fila do dbcleanup TaskId
Select RunTime from OrionTaskQueueMT where TaskDescription like '%dbclean%'
Faça o seguinte dependendo do status do dbcleanup TaskId
- Se o dbcleanup a tarefa não foi totalmente encontrada (ou seja, a consulta acima não retorna nenhum resultado), consulte KB84114.
- Se nenhuma dessas opções ajudar, ative o log de depuração para orion.log para obter mais informações sobre a tarefa. Exibidas KB52369 para obter instruções.