Partilhar via


Resolução de problemas CMPivot

A CMPivot é uma ferramenta que dá acesso a um estado em tempo real dos dispositivos no seu ambiente. A CMPivot faz uma consulta sobre todos os dispositivos atualmente ligados na recolha do alvo e devolve os resultados.

Ocasionalmente, pode precisar de resolver problemas com a CMPivot. Por exemplo, se uma mensagem de estado de um cliente para CMPivot for corrompida, o servidor do site não pode processar a mensagem. Este artigo ajuda-o a compreender o fluxo de informação para a CMPivot.

Resolução de problemas CMPivot na versão 1902 e mais tarde

Nas versões De Gestor de Configuração de 1902 e posteriormente, pode executar CMPivot a partir do site da administração central (CAS) numa hierarquia. O local principal ainda trata da comunicação com o cliente.

Quando executa CMPivot do CAS, utiliza o canal de subscrição de mensagens de alta velocidade para comunicar com o site principal. A CMPivot não utiliza a replicação padrão SQL Server entre os locais. Se o seu SQL Server caso ou o seu fornecedor de SMS for remoto, ou se utilizar um grupo de disponibilidade SQL Server Always On, terá um "cenário de duplo lúpulo" para a CMPivot. Para obter informações sobre como definir a delegação restrita para um "cenário de duplo lúpulo", consulte a CMPivot a partir da versão 1902.

Importante

Ao resolver problemas, o CMPivot, permita que o registo verboso nos seus pontos de gestão (MPs) e no SMS_MESSAGE_PROCESSING_ENGINE do servidor do site obtenha mais informações. Além disso, se a saída do cliente for superior a 80 KB, ative o registo verboso no MP e o componente de SMS_STATE_SYSTEM do servidor do site. Para obter informações sobre como permitir a visualização de verbose, consulte as opções de registo do servidor do site.

Obtenha informações do servidor do site

Por predefinição, os ficheiros de registo do servidor do site estão localizados em C:\Program Files\Microsoft Configuration Manager\logs . Esta localização pode ser diferente se especificar um diretório de instalação não padrão ou itens descarregados como o Fornecedor SMS para outro servidor. Se executar CMPivot do CAS, os registos estão no servidor do site primário.

Procure smsprov.log por estas linhas:

  • Versão 1906 do Gestor de Configuração:

    Auditing: User <username> initiated client operation 145 to collection <CollectionId>. 
  • Versão 1902 do Gestor de Configuração:

    Type parameter is 135.
    Auditing: User <username> ran script 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 with hash dc6c2ad05f1bfda88d880c54121c8b5cea6a394282425a88dd4d8714547dc4a2 on collection <CollectionId>. 

7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 é a Script-Guid para a CMPivot. Pode também ver este GUID em mensagens de estado de auditoria da CMPivot.

Em seguida, encontre o ID na janela cmpivot. Esta identificação é ClientOperationID a.

Janela CMPivot com ClienteOperationID em destaque, versão 1902

Encontre a TaskID partir da tabela ClientAction. O TaskID corresponde ao na tabela UniqueID ClientAction.

select * from ClientAction where ClientOperationId=<id>

Em BgbServer.log , procure o que TaskID recolheu de SQL Server e note o PushID . A TaskID etiqueta TaskGUID está. Por exemplo:

Starting to send push task (PushID: 9 TaskID: 12 TaskGUID: 9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0 TaskType: 15 TaskParam: PFNjcmlwdENvbnRlbnQgU2NyaXB0R3VpZD0nN0RDNkI2RjEtRTdGNi00M0MxL (truncated log entry)
Finished sending push task (PushID: 9 TaskID: 12) to 2 clients

Registos de clientes

Depois de ter a informação do servidor do site, verifique os registos do cliente. Por predefinição, os registos do cliente estão localizados em C:\Windows\CCM\Logs .

Em CcmNotificationAgent.log , procure entradas de log que se pareçam com as seguintes linhas:

Receive task from server with pushid=9, taskid=12, taskguid=9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0, tasktype=15 and taskParam=PFNjcmlwdEhhc2ggU2NyaXB0SGF (truncated log entry)
Send Task response message <BgbResponseMessage TimeStamp="2019-09-13T17:29:09Z"><PushID>5</PushID><TaskID>4</TaskID><ReturnCode>1</ReturnCode></BgbResponseMessage> successfuly.
 

Verifique Scripts.log TaskID se. No exemplo seguinte, Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0} vê-se:

Sending script state message (fast): {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}
Result are sent for ScriptGuid: 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14 and TaskID: {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}

Nota

Se não vir "(rápido)" no Scripts.log , então os dados são provavelmente superiores a 80 KB. Neste caso, a informação é enviada para o servidor do site como uma mensagem de estado. Use os do cliente StateMessage.log e do servidor do Statesys.log site.

Reveja as mensagens no servidor do site

Quando o registo verboso estiver ativado no ponto de gestão, pode ver como as mensagens de cliente recebidas são tratadas. Em MP_RelayMsgMgr.log , procure o TaskID .

No MP_RelayMsgMgr.log exemplo, pode ver a identificação do cliente (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783) e a Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0} . Uma mensagem de iD é atribuída à resposta do cliente antes de ser enviada para o motor de processamento de mensagens:

MessageKey: GUID:83F67728-2E6D-4E4F-8075-ED035C31B783{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}
Create message succeeded for message id 22f00adf-181e-4bad-b35e-d18912f39f89
Add message payload succeeded for message id 22f00adf-181e-4bad-b35e-d18912f39f89
Put message succeeded for message id 22f00adf-181e-4bad-b35e-d18912f39f89
CRelayMsgMgrHandler::HandleMessage(): ExecuteTask() succeeded

Quando a registo verboso é ativada, SMS_MESSAGE_PROCESSING_ENGINE.log os resultados do cliente são processados. Use a identificação da mensagem que encontrou no MP_RelayMsgMgr.log . As entradas de registo de processamento são semelhantes ao seguinte exemplo:

Processing 2 messages with type Instant and IDs 22f00adf-181e-4bad-b35e-d18912f39f89[19], 434d80ae-09d4-4d84-aebf-28a4a29a9852[20]...
Processed 2 messages with type Instant. Failed to process 0 messages. All message IDs 22f00adf-181e-4bad-b35e-d18912f39f89[19], 434d80ae-09d4-4d84-aebf-28a4a29a9852[20]

Dica

Se obter uma exceção durante o processamento, pode revê-la executando a seguinte consulta de SQL e olhando para a coluna Exceção. Depois de a mensagem ser processada, deixará de estar na MPE_RequestMessages_Instant mesa.

select * from MPE_RequestMessages_Instant where MessageID=<ID from SMS_MESSAGE_PROCESSING_ENGINE.log>

Em BgbServer.log , procure ver o número de PushID clientes que reportaram ou falharam.

Generated BGB task status report c:\ConfigMgr\inboxes\bgb.box\Bgb5c1db.BTS at 09/16/2019 16:46:39. (PushID: 9 ReportedClients: 2 FailedClients: 0)

Verifique a vista de monitorização da CMPivot a partir de SQL Server utilizando o TaskID .

select * from vSMS_CMPivotStatus where TaskID='{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}'

CMPivot SQL consultas para resolução de problemas na versão de 1902

Resolução de problemas CMPivot em 1810 e mais cedo

Nas versões 1810 e anteriores do Gestor de Configuração, o servidor do site trata da comunicação ao cliente.

Obtenha informações do servidor do site

Por predefinição, os ficheiros de registo do servidor do site estão localizados em C:\Program Files\Microsoft Configuration Manager\logs . Esta localização pode ser diferente se especificar um diretório de instalação não padrão ou itens descarregados como o Fornecedor SMS para outro servidor.

Procure smsprov.log por esta linha:

Auditing: User <username> initiated client operation 135 to collection <CollectionId>.

Encontre o ID na janela CMPivot. Esta identificação é ClientOperationID a.

Janela CMPivot com ClienteOperationID em destaque

Encontre a TaskID partir da tabela ClientAction. O TaskID corresponde ao na tabela UniqueID ClientAction.

select * from ClientAction where ClientOperationId=<id>

Em, BgbServer.log procure o que TaskID reuniu de SQL. Está TaskGUID rotulado. Por exemplo:

Starting to send push task (PushID: 260 TaskID: 258 TaskGUID: F8C7C37F-B42B-4C0A-B050-2BB44DF1098A TaskType: 15
TaskParam: PFNjcmlwdEhhc2ggU2NyaXB0SGF...truncated...to 5 clients with throttling (strategy: 1 param: 42)
Finished sending push task (PushID: 260 TaskID: 258) to 5 clients

Registos de clientes

Depois de ter a informação do servidor do site, verifique os registos do cliente. Por predefinição, os registos do cliente estão localizados em C:\Windows\CCM\Logs .

Em CcmNotificationAgent.log , procure registos semelhantes à seguinte entrada:

Error! Bookmark not defined.+PFNjcmlwdEhhc2ggU2NyaXB0SGFzaEFsZz0nU0hBMjU2Jz42YzZmNDY0OGYzZjU3M2MyNTQyNWZiNT
g2ZDVjYTIwNzRjNmViZmQ1NTg5MDZlMWI5NDRmYTEzNmFiMDE0ZGNjPC9TY3JpcHRIYXNoPjxTY3Jp (truncated log entry)

Procure Scripts.log TaskID o. No exemplo seguinte, Task ID {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A} vemos:

Sending script state message: 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14
State message: Task Id {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}

Olha para StateMessage.log dentro. No exemplo seguinte, vê-se que TaskID está perto da parte inferior da mensagem ao lado <Param> de:

StateMessage body: <?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1
</ClientType><ClientID>GUID:DBAC52C9-57E6-47D7-A8D6-E0A5A64B57E6</ClientID><ClientVersion>5.00.8670.1000</ClientVersion>
<NetBIOSName>R613924</NetBIOSName><CodePage>437</CodePage>
<SystemDefaultLCID>1033</SystemDefaultLCID><Priority>0</Priority></Machine></Identification>
<ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType>
<Date>20180703184447.673000+000</Date><Version>1.0</Version><Format>1.0</Format>
</ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20180703184447.517000+000"><Topic ID="7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14" Type="9003" IDType="0" User="" UserSID=""/><State ID="1" Criticality="0"/>
<StateDetails Type="1"><![CDATA["PAA/AHgAbQBsACAAdgBlAHIAcwBpAG8AbgA9ACIAMQAuADAAIgAgAGUAbgBjAG8AZABpAG4AZwA9ACIAdQB0AGYALQAxADYAIgA/AD4APAByAGUAcwB1AGwAdAAgAFIAZQBzAHUAbAB0AEMAbwBkAGUAPQAiADAAIgA+ADwAZQAgAE4AYQBtAGUAPQAiAEkAbgB0AGUAbAAoAFIAKQAgAFgAZQBvAG4AKABSACkAIABDAFAAVQAgAEUANQAtADIANgA3ADMAIAB2ADQAIABAACAAMgAuADMAMABHAEgAegAiACAATQBhAG4AdQBmAGEAYwB0AHUAcgBlAHIAPQAiAEEAbQBlAHIAaQBjAGEAbgAgAE0AZQBnAGEAdAByAGUAbgBkAHMAIABJAG4AYwAuACIAIABWAGUAcgBzAGkAbwBuAD0AIgBWAFIAVABVAEEATAAgAC0AIAA2ADAAMAAxADcAMAAyACIAIABSAGUAbABlAGEAcwBlAEQAYQB0AGUAPQAiADIAMAAxADcALQAwADYALQAwADIAIAAwADAAOgAwADAAOgAwADAAIgAgAFMAZQByAGkAYQBsAE4AdQBtAGIAZQByAD0AIgAwADAAMAAwAC0AMAAwADEAOAAtADMANgA4ADIALQA0ADcAMAA4AC0ANwA2ADQAMAAtADcANgAwADAALQAzADMAIgAgAFMATQBCAEkATwBTAEIASQBPAFMAVgBlAHIAcwBpAG8AbgA9ACIAMAA5ADAAMAAwADcAIAAiACAALwA+ADwALwByAGUAcwB1AGwAdAA+AA=="~~]]></StateDetails><UserParameters Flags="0" Count="2">
<Param>{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}</Param><Param>0</Param></UserParameters></StateMessage></ReportBody></Report>

Successfully forwarded State Messages to the MP StateMessage 7/3/2018 11:44:47 AM 5036 (0x13AC)

Reveja as mensagens no servidor do site

Aberto statesys.log para ver se a mensagem é recebida e processada. No exemplo seguinte, vê-se TaskID perto da parte inferior da mensagem ao lado de <Param> . Ativar o registo verboso no componente SMS_STATE_SYSTEM para ver estas entradas de registo.

CMessageProcessor - the cmdline to DB exec dbo.spProcessStateReport N'?<?xml version="1.0" encoding="UTF-
16"?>~~<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1
</ClientType><ClientID>GUID:DBAC52C9-57E6-47D7-A8D6-E0A5A64B57E6</ClientID><ClientVersion>5.00.8670.1000</ClientVersion>
<NetBIOSName>R613924</NetBIOSName><CodePage>437</CodePage>
<SystemDefaultLCID>1033</SystemDefaultLCID><Priority>0</Priority></Machine></Identification>
<ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType>
<Date>20180703184447.673000+000</Date><Version>1.0</Version><Format>1.0</Format>
</ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20180703184447.517000+000"><Topic ID="7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14" Type="9003" IDType="0" User="" UserSID=""/><State ID="1" Criticality="0"/>
<StateDetails Type="1"><![CDATA["PAA/AHgAbQBsACAAdgBlAHIAcwBpAG8AbgA9ACIAMQAuADAAIgAgAGUAbgBjAG8AZABpAG4AZwA9ACIAdQB0AGYALQAxADYAIgA/AD4APAByAGUAcwB1AGwAdAAgAFIAZQBzAHUAbAB0AEMAbwBkAGUAPQAiADAAIgA+ADwAZQAgAE4AYQBtAGUAPQAiAEkAbgB0AGUAbAAoAFIAKQAgAFgAZQBvAG4AKABSACkAIABDAFAAVQAgAEUANQAtADIANgA3ADMAIAB2ADQAIABAACAAMgAuADMAMABHAEgAegAiACAATQBhAG4AdQBmAGEAYwB0AHUAcgBlAHIAPQAiAEEAbQBlAHIAaQBjAGEAbgAgAE0AZQBnAGEAdAByAGUAbgBkAHMAIABJAG4AYwAuACIAIABWAGUAcgBzAGkAbwBuAD0AIgBWAFIAVABVAEEATAAgAC0AIAA2ADAAMAAxADcAMAAyACIAIABSAGUAbABlAGEAcwBlAEQAYQB0AGUAPQAiADIAMAAxADcALQAwADYALQAwADIAIAAwADAAOgAwADAAOgAwADAAIgAgAFMAZQByAGkAYQBsAE4AdQBtAGIAZQByAD0AIgAwADAAMAAwAC0AMAAwADEAOAAtADMANgA4ADIALQA0ADcAMAA4AC0ANwA2ADQAMAAtADcANgAwADAALQAzADMAIgAgAFMATQBCAEkATwBTAEIASQBPAFMAVgBlAHIAcwBpAG8AbgA9ACIAMAA5ADAAMAAwADcAIAAiACAALwA+ADwALwByAGUAcwB1AGwAdAA+AA=="~~]]></StateDetails><UserParameters Flags="0" Count="2">
<Param>{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}</Param><Param>0</Param></UserParameters></StateMessage></ReportBody></Report>~~'

Se a mensagem não tiver sido processada, verifique a caixa de entrada da mensagem do estado. A localização da caixa de entrada predefinida é C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\ . Procure os ficheiros nestes locais:

  • Dados
  • Corrompido
  • Processo

Verifique a vista de monitorização da CMPivot através da seguinte consulta SQL TaskID utilizando:

select * from vSMS_CMPivotStatus where TaskID='{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}'

Nota

Para clientes que usam a versão 1810 ou superior, as mensagens estatais não são usadas a menos que a saída seja superior a 80 KB. Ao resolver problemas de CMPivot nestes casos, pode obter mais informações quando ativar a visualização verbose nos seus MPs e a SMS_MESSAGE_PROCESSING_ENGINE do servidor do site. Para obter informações sobre como permitir a visualização de verbose, consulte as opções de registo do servidor do site.

Para resolver problemas, consulte os seguintes registos:

  • MP_Relay.log
  • SMS_MESSAGE_PROCESSING_ENGINE.log

Passos seguintes