Solucionar problemas de CMPivot

CMPivot es una herramienta que proporciona acceso a un estado en tiempo real de los dispositivos de su entorno. CMPivot ejecuta una consulta en todos los dispositivos conectados actualmente en la colección de destino y devuelve los resultados.

En ocasiones, es posible que deba solucionar problemas de CMPivot. Por ejemplo, si un mensaje de estado de un cliente a CMPivot se daña, el servidor de sitio no puede procesar el mensaje. Este artículo le ayuda a comprender el flujo de información de CMPivot.

Solucionar problemas de CMPivot en la versión 1902 y posteriores

En las versiones 1902 y posteriores de Configuration Manager, puede ejecutar CMPivot desde el sitio de administración central (CAS) en una jerarquía. El sitio principal aún controla la comunicación con el cliente.

Al ejecutar CMPivot desde CAS, usa el canal de suscripción de mensajes de alta velocidad para comunicarse con el sitio principal. CMPivot no usa la replicación SQL Server estándar entre sitios. Si la instancia SQL Server o el proveedor de SMS es remoto, o si usa un grupo de disponibilidad alwayson de SQL Server, tendrá un "escenario de salto doble" para CMPivot. Para obtener información sobre cómo definir la delegación restringida para un "escenario de salto doble", vea CMPivot a partir de la versión 1902.

Importante

Al solucionar problemas de CMPivot, habilite el registro detallado en los puntos de administración (MP) y en el servidor de sitio SMS_MESSAGE_PROCESSING_ENGINE obtener más información. Además, si el resultado del cliente es mayor que 80 KB, habilite el registro detallado en el mp y el componente de SMS_STATE_SYSTEM sitio. Para obtener información sobre cómo habilitar el registro detallado, vea Opciones de registro del servidor de sitio.

Obtener información del servidor de sitio

De forma predeterminada, los archivos de registro del servidor de sitio se encuentran en C:\Program Files\Microsoft Configuration Manager\logs . Esta ubicación puede ser diferente si especificó un directorio de instalación no predeterminado o los elementos descargados, como el proveedor de SMS, en otro servidor. Si ejecuta CMPivot desde cas, los registros se encuentran en el servidor de sitio principal.

Busque smsprov.log estas líneas:

  • Configuration Manager versión 1906:

    Auditing: User <username> initiated client operation 145 to collection <CollectionId>. 
  • Configuration Manager versión 1902:

    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 es el Script-Guid para CMPivot. También puede ver este GUID en los mensajes de estado de auditoría de CMPivot.

A continuación, busque el identificador en la ventana CMPivot. Este identificador es ClientOperationID el .

Ventana de CMPivot con ClientOperationID resaltado, versión 1902

Busque la TaskID de la tabla ClientAction. Corresponde TaskID a la tabla UniqueID ClientAction.

select * from ClientAction where ClientOperationId=<id>

En BgbServer.log , busque el que ha recopilado de SQL Server y TaskID anote el PushID . El TaskID se etiqueta TaskGUID . Por ejemplo:

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

Registros de cliente

Una vez que tenga la información del servidor de sitio, compruebe los registros del cliente. De forma predeterminada, los registros de cliente se encuentran en C:\Windows\CCM\Logs .

En CcmNotificationAgent.log , busque entradas de registro que se parezcan a las siguientes líneas:

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.
 

Compruebe Scripts.log si el archivo TaskID . En el siguiente ejemplo, verá Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0} :

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

Si no ve "(fast)" en el , los datos probablemente supere Scripts.log los 80 KB. En este caso, la información se envía al servidor de sitio como un mensaje de estado. Use el cliente StateMessage.log y el servidor de sitio Statesys.log .

Revisar mensajes en el servidor de sitio

Cuando el registro detallado está habilitado en el punto de administración, puede ver cómo se controlan los mensajes de cliente entrantes. En MP_RelayMsgMgr.log , busque el TaskID .

En el MP_RelayMsgMgr.log ejemplo, puede ver el identificador del cliente (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783) y el archivo Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0} . Un identificador de mensaje se asigna a la respuesta del cliente antes de que se envíe al motor de procesamiento de mensajes:

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

Cuando el registro detallado está habilitado en , se procesan los SMS_MESSAGE_PROCESSING_ENGINE.log resultados del cliente. Use el identificador de mensaje que encontró en MP_RelayMsgMgr.log el archivo . Las entradas del registro de procesamiento son similares al ejemplo siguiente:

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]

Sugerencia

Si obtiene una excepción durante el procesamiento, puede revisarla ejecutando la siguiente SQL consulta y mirando la columna Excepción. Después de procesar el mensaje, ya no estará en la MPE_RequestMessages_Instant tabla.

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

In BgbServer.log , look for the to see the number of clients that reported or PushID failed.

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)

Compruebe la vista de supervisión de CMPivot desde SQL Server mediante el TaskID .

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

CMPivot SQL consultas para solucionar problemas en la versión 1902

Solucionar problemas de CMPivot en 1810 y versiones anteriores

En las versiones 1810 y anteriores de Configuration Manager, el servidor de sitio controla la comunicación con el cliente.

Obtener información del servidor de sitio

De forma predeterminada, los archivos de registro del servidor de sitio se encuentran en C:\Program Files\Microsoft Configuration Manager\logs . Esta ubicación puede ser diferente si especificó un directorio de instalación no predeterminado o los elementos descargados, como el proveedor de SMS, en otro servidor.

Busque esta smsprov.log línea:

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

Busque el identificador en la ventana cmpivot. Este identificador es ClientOperationID el .

Ventana de CMPivot con ClientOperationID resaltado

Busque la TaskID de la tabla ClientAction. Corresponde TaskID a la tabla UniqueID ClientAction.

select * from ClientAction where ClientOperationId=<id>

En BgbServer.log , busque el que ha recopilado de TaskID SQL. Está etiquetado TaskGUID como . Por ejemplo:

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

Registros de cliente

Una vez que tenga la información del servidor de sitio, compruebe los registros del cliente. De forma predeterminada, los registros de cliente se encuentran en C:\Windows\CCM\Logs .

En CcmNotificationAgent.log , busque registros similares a la siguiente entrada:

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

Busque Scripts.log el TaskID archivo . En el siguiente ejemplo, vemos Task ID {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A} :

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

Busque StateMessage.log en . En el siguiente ejemplo, verá que está cerca TaskID de la parte inferior del mensaje junto a <Param> :

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)

Revisar mensajes en el servidor de sitio

Abra statesys.log para ver si el mensaje se recibe y procesa. En el siguiente ejemplo, verá TaskID cerca de la parte inferior del mensaje junto a <Param> . Habilite el registro detallado en el componente SMS_STATE_SYSTEM para ver estas entradas de registro.

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>~~'

Si el mensaje no se ha procesado, compruebe la bandeja de entrada del mensaje de estado. La ubicación predeterminada de la bandeja de entrada es C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\ . Busque los archivos en estas ubicaciones:

  • Entrante
  • Dañado
  • Proceso

Compruebe la vista de supervisión de CMPivot a través de la siguiente SQL consulta mediante TaskID :

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

Nota

Para los clientes que usan la versión 1810 o posterior, la mensajería de estado no se usa a menos que el resultado sea superior a 80 KB. Al solucionar problemas de CMPivot en estos casos, puede obtener más información al habilitar el registro detallado en los MPs y el servidor de sitio SMS_MESSAGE_PROCESSING_ENGINE. Para obtener información sobre cómo habilitar el registro detallado, vea Site server logging options.

Para solucionar problemas, consulte los siguientes registros:

  • MP_Relay.log
  • SMS_MESSAGE_PROCESSING_ENGINE.log

Siguientes pasos