Felsöka CMPivot
CMPivot är ett verktyg som ger åtkomst till ett realtidstillstånd för enheterna i din miljö. CMPivot kör en fråga på alla anslutna enheter i målsamlingen och returnerar resultatet.
Ibland kan du behöva felsöka CMPivot. Om ett tillståndsmeddelande från en klient till CMPivot till exempel skadas kan platsservern inte bearbeta meddelandet. Den här artikeln hjälper dig att förstå informationsflödet för CMPivot.
Felsöka CMPivot i version 1902 och senare
I Configuration Manager-versionerna 1902 och senare kan du köra CMPivot från den centrala administrationsplatsen (CAS) i en hierarki. Den primära platsen hanterar fortfarande kommunikationen till klienten.
När du kör CMPivot från CAS använder den den snabba meddelandeprenumerationskanalen för att kommunicera med den primära platsen. CMPivot använder inte SQL Server-standardreplikering mellan platser. Om SQL Server-instansen eller SMS-providern är fjärransluten, eller om du använder en SQL Server AlwaysOn-tillgänglighetsgrupp, har du ett "double hop-scenario" för CMPivot. Information om hur du definierar begränsad delegering för ett "double hop-scenario" finns i CMPivot med början i version 1902.
Viktigt
När du felsöker CMPivot aktiverar du utförlig loggning på dina hanteringsplatser och på platsserverns SMS_MESSAGE_PROCESSING_ENGINE för att få mer information. Om klientens utdata är större än 80 KB aktiverar du utförlig loggning på MP och platsserverns SMS_STATE_SYSTEM komponent. Information om hur du aktiverar utförlig loggning finns i Loggningsalternativ för platsserver.
Hämta information från platsservern
Som standard finns platsserverloggfilerna i C:\Program Files\Microsoft Configuration Manager\logs
. Den här platsen kan vara annorlunda om du har angett en icke-standardinstallationskatalog eller avlastade objekt som SMS-providern till en annan server. Om du kör CMPivot från CAS finns loggarna på den primära platsservern.
smsprov.log
Leta efter följande rader:
Configuration Manager version 1906:
Auditing: User <username> initiated client operation 145 to collection <CollectionId>.
Configuration Manager version 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
är Script-Guid för CMPivot. Du kan också se detta GUID i CMPivot-granskningsstatusmeddelanden.
Leta sedan upp ID:t i CMPivot-fönstret. Det här ID:t ClientOperationID
är .
Leta reda på TaskID
från tabellen ClientAction.
TaskID
motsvarar UniqueID
i tabellen ClientAction.
select * from ClientAction where ClientOperationId=<id>
I BgbServer.log
letar du upp den TaskID
du har samlat in från SQL Server och noterar PushID
.
TaskID
är märkt TaskGUID
. Till exempel:
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
Klientloggar
När du har informationen från platsservern kontrollerar du klientloggarna. Som standard finns klientloggarna i C:\Windows\CCM\Logs
.
I CcmNotificationAgent.log
letar du efter loggposter som ser ut som följande rader:
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.
TaskID
Sök efter Scripts.log
. I följande exempel visas 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}
Obs!
Om du inte ser "(fast)" i Scripts.log
är data sannolikt över 80 kB. I det här fallet skickas informationen till platsservern som ett tillståndsmeddelande. Använd klientens StateMessage.log
och platsserverns Statesys.log
.
Granska meddelanden på platsservern
När utförlig loggning är aktiverad på hanteringsplatsen kan du se hur inkommande klientmeddelanden hanteras. Leta MP_RelayMsgMgr.log
efter TaskID
i .
I exemplet MP_RelayMsgMgr.log
kan du se klientens ID (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783)
och Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}
. Ett meddelande-ID tilldelas klientens svar innan det skickas till motorn för meddelandebearbetning:
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
När utförlig loggning är aktiverad SMS_MESSAGE_PROCESSING_ENGINE.log
bearbetas klientresultatet. Använd det meddelande-ID som du hittade från MP_RelayMsgMgr.log
. Posterna i bearbetningsloggen liknar följande exempel:
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]
Tips
Om du får ett undantag under bearbetningen kan du granska det genom att köra följande SQL-fråga och titta på kolumnen Undantag. När meddelandet har bearbetats finns det inte längre i tabellen MPE_RequestMessages_Instant
.
select * from MPE_RequestMessages_Instant where MessageID=<ID from SMS_MESSAGE_PROCESSING_ENGINE.log>
I BgbServer.log
letar du efter för PushID
att se antalet klienter som rapporterade eller misslyckades.
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)
Kontrollera övervakningsvyn för CMPivot från SQL Server med hjälp TaskID
av .
select * from vSMS_CMPivotStatus where TaskID='{9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}'
Felsöka CMPivot i 1810 och tidigare
I Configuration Manager-versionerna 1810 och tidigare hanterar platsservern kommunikationen till klienten.
Hämta information från platsservern
Som standard finns platsserverloggfilerna i C:\Program Files\Microsoft Configuration Manager\logs
. Den här platsen kan vara annorlunda om du har angett en icke-standardinstallationskatalog eller avlastade objekt som SMS-providern till en annan server.
smsprov.log
Leta efter den här raden:
Auditing: User <username> initiated client operation 135 to collection <CollectionId>.
Hitta ID:t i CMPivot-fönstret. Det här ID:t ClientOperationID
är .
Leta reda på TaskID
från tabellen ClientAction.
TaskID
motsvarar UniqueID
i tabellen ClientAction.
select * from ClientAction where ClientOperationId=<id>
I BgbServer.log
letar du efter den TaskID
du har samlat in från SQL. Den är märkt TaskGUID
. Till exempel:
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
Klientloggar
När du har informationen från platsservern kontrollerar du klientloggarna. Som standard finns klientloggarna i C:\Windows\CCM\Logs
.
I CcmNotificationAgent.log
letar du efter loggar som liknar följande post:
Error! Bookmark not defined.+PFNjcmlwdEhhc2ggU2NyaXB0SGFzaEFsZz0nU0hBMjU2Jz42YzZmNDY0OGYzZjU3M2MyNTQyNWZiNT
g2ZDVjYTIwNzRjNmViZmQ1NTg5MDZlMWI5NDRmYTEzNmFiMDE0ZGNjPC9TY3JpcHRIYXNoPjxTY3Jp (truncated log entry)
Leta efter Scripts.log
TaskID
. I följande exempel ser Task ID {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}
vi :
Sending script state message: 7DC6B6F1-E7F6-43C1-96E0-E1D16BC25C14
State message: Task Id {F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}
Titta i StateMessage.log
. I följande exempel ser du att TaskID
är nära slutet av meddelandet bredvid <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)
Granska meddelanden på platsservern
Öppna statesys.log
för att se om meddelandet tas emot och bearbetas. I följande exempel visas TaskID
längst ned i meddelandet bredvid <Param>
. Aktivera utförlig loggning på den SMS_STATE_SYSTEM komponenten för att se dessa loggposter.
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>~~'
Om meddelandet inte har bearbetats markerar du inkorgen för tillståndsmeddelandet. Standardplatsen för inkorgen är C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\
. Leta efter filerna på följande platser:
- Inkommande
- Skadad
- Process
Kontrollera övervakningsvyn för CMPivot via följande SQL-fråga med hjälp av TaskID
:
select * from vSMS_CMPivotStatus where TaskID='{F8C7C37F-B42B-4C0A-B050-2BB44DF1098A}'
Obs!
För klienter som använder version 1810 eller senare används inte tillståndsmeddelanden om inte utdata är större än 80 kB. När du felsöker CMPivot i dessa fall kan du få mer information när du aktiverar utförlig loggning på dina parlamentsledamöter och platsserverns SMS_MESSAGE_PROCESSING_ENGINE. Information om hur du aktiverar utförlig loggning finns i Loggningsalternativ för platsserver.
Information om hur du felsöker finns i följande loggar:
MP_Relay.log
SMS_MESSAGE_PROCESSING_ENGINE.log