Řešení potíží s CMPivotem

CMPivot je nástroj, který poskytuje přístup ke stavu zařízení ve vašem prostředí v reálném čase. CMPivot spustí dotaz na všechna aktuálně připojená zařízení v cílové kolekci a vrátí výsledky.

Někdy může být potřeba vyřešit potíže s nástrojem CMPivot. Pokud se například poškodí stavová zpráva z klienta do nástroje CMPivot, server lokality nemůže zprávu zpracovat. Tento článek vám pomůže pochopit tok informací pro CMPivot.

Řešení potíží s CMPivotem ve verzi 1902 a novější

V Configuration Manager verzích 1902 a novějších můžete spustit CMPivot z lokality centrální správy (CAS) v hierarchii. Primární lokalita stále zpracovává komunikaci s klientem.

Když spustíte CMPivot z CAS, používá kanál vysokorychlostního odběru zpráv ke komunikaci s primární lokalitou. CMPivot nepoužívá standardní replikaci SQL Server mezi lokalitami. Pokud je vaše instance SQL Server nebo poskytovatel serveru SMS vzdálený nebo pokud používáte skupinu dostupnosti SQL Server AlwaysOn, budete mít pro CMPivot scénář dvojitého směrování. Informace o tom, jak definovat omezené delegování pro scénář s dvojitým směrováním, najdete v tématu CMPivot od verze 1902.

Důležité

Při řešení potíží s CMPivotem povolte podrobné protokolování bodů správy (MPs) a na SMS_MESSAGE_PROCESSING_ENGINE serveru lokality, abyste získali další informace. Pokud je výstup klienta větší než 80 kB, povolte podrobné protokolování v sadě MANAGEMENT a SMS_STATE_SYSTEM součásti serveru lokality. Informace o povolení podrobného protokolování najdete v tématu Možnosti protokolování serveru lokality.

Získání informací ze serveru lokality

Ve výchozím nastavení jsou soubory protokolu serveru lokality umístěny v C:\Program Files\Microsoft Configuration Manager\logs. Toto umístění se může lišit, pokud jste zadali jiný než výchozí instalační adresář nebo přesměrovali položky, jako je poskytovatel serveru SMS, na jiný server. Pokud spustíte CMPivot z CAS, protokoly se nacházejí na serveru primární lokality.

smsprov.log Hledejte tyto řádky:

  • Configuration Manager verze 1906:

    Auditing: User <username> initiated client operation 145 to collection <CollectionId>.
    
  • Configuration Manager verze 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 je Script-Guid pro CMPivot. Tento identifikátor GUID můžete zobrazit také ve stavových zprávách auditu CMPivot.

Dále vyhledejte ID v okně CMPivot. Toto ID je ClientOperationID.

Okno CMPivot se zvýrazněnou možností ClientOperationID verze 1902

V tabulce ClientAction vyhledejte TaskID . Hodnota TaskID odpovídá hodnotě UniqueID v tabulce ClientAction.

select * from ClientAction where ClientOperationId=<id>

V BgbServer.logsouboru vyhledejte údaje TaskID získané z SQL Server a poznamenejte si PushID. Má TaskID označení TaskGUID. Příklad:

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

Protokoly klientů

Jakmile budete mít informace ze serveru lokality, zkontrolujte protokoly klienta. Ve výchozím nastavení se protokoly klientů nacházejí v C:\Windows\CCM\Logs.

V CcmNotificationAgent.logsouboru vyhledejte položky protokolu, které vypadají jako na následujících řádcích:

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.

Vyhledejte Scripts.log .TaskID V následujícím příkladu vidíte 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}

Poznámka

Pokud v Scripts.logsouboru nevidíte "(fast)" ( "(fast)", pak jsou data pravděpodobně větší než 80 kB. V tomto případě se informace odesílají na server lokality jako stavová zpráva. Použijte klienty StateMessage.log a server Statesys.loglokality .

Kontrola zpráv na serveru lokality

Když je v bodě správy povolené podrobné protokolování , uvidíte, jak se zpracovávají příchozí klientské zprávy. V MP_RelayMsgMgr.logsouboru vyhledejte .TaskID

V příkladu MP_RelayMsgMgr.log vidíte ID (GUID:83F67728-2E6D-4E4F-8075-ED035C31B783) klienta a Task ID {9A4E59D2-2F5B-4067-A9FA-B99602A3A4A0}. K odpovědi klienta se před odesláním do modulu pro zpracování zpráv přiřadí ID zprávy:

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

Pokud je ve službě SMS_MESSAGE_PROCESSING_ENGINE.logpovolené podrobné protokolování , výsledky klienta se zpracují. Použijte ID zprávy, které jste našli v .MP_RelayMsgMgr.log Položky protokolu zpracování jsou podobné následujícímu příkladu:

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]

Tip

Pokud během zpracování dojde k výjimce, můžete ji zkontrolovat spuštěním následujícího dotazu SQL a zobrazením sloupce Výjimka. Po zpracování už zpráva nebude v tabulce MPE_RequestMessages_Instant .

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

V BgbServer.logsouboru vyhledejte PushID počet klientů, kteří nahlásili nebo selhali.

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)

Zkontrolujte zobrazení monitorování pro CMPivot z SQL Server pomocí TaskID.

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

Dotazy CMPivot SQL pro řešení potíží ve verzi 1902

Řešení potíží s CMPivotem ve verzi 1810 a starších verzích

V Configuration Manager verzích 1810 a starších zpracovává server lokality komunikaci s klientem.

Získání informací ze serveru lokality

Ve výchozím nastavení jsou soubory protokolu serveru lokality umístěny v C:\Program Files\Microsoft Configuration Manager\logs. Toto umístění se může lišit, pokud jste zadali jiný než výchozí instalační adresář nebo přesměrovali položky, jako je poskytovatel serveru SMS, na jiný server.

smsprov.log Vyhledejte tento řádek:

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

Vyhledejte ID v okně CMPivot. Toto ID je ClientOperationID.

Okno CMPivot se zvýrazněnou možností ClientOperationID

V tabulce ClientAction vyhledejte TaskID . Hodnota TaskID odpovídá hodnotě UniqueID v tabulce ClientAction.

select * from ClientAction where ClientOperationId=<id>

V BgbServer.logsouboru vyhledejte informace, které TaskID jste získali z SQL. Má označení TaskGUID. Příklad:

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

Protokoly klientů

Jakmile budete mít informace ze serveru lokality, zkontrolujte protokoly klienta. Ve výchozím nastavení se protokoly klientů nacházejí v C:\Windows\CCM\Logs.

V CcmNotificationAgent.lognástroji vyhledejte protokoly, které se podobají následující položce:

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

Vyhledejte v Scripts.log souboru TaskID. V následujícím příkladu vidíme 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}

Podívejte se do StateMessage.log. V následujícím příkladu vidíte, že TaskID se nachází v dolní části zprávy vedle <Param>položky :

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)

Kontrola zpráv na serveru lokality

Otevřete statesys.log a podívejte se, jestli je zpráva přijata a zpracována. V následujícím příkladu vidíte TaskID v dolní části zprávy vedle <Param>položky . Povolte podrobné protokolování na komponentě SMS_STATE_SYSTEM, aby se tyto položky protokolu zobrazily.

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

Pokud se zpráva nezpracovala, zkontrolujte doručenou poštu stavových zpráv. Výchozí umístění doručené pošty je C:\Program Files\Microsoft Configuration Manager\inboxes\auth\statesys.box\. Vyhledejte soubory v těchto umístěních:

  • Příchozí
  • Poškozen
  • Proces

Zkontrolujte zobrazení monitorování pro CMPivot pomocí následujícího dotazu SQL pomocí TaskID:

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

Poznámka

U klientů, kteří používají verzi 1810 nebo vyšší, se zasílání zpráv o stavu nepoužívá, pokud není výstup větší než 80 kB. Při řešení potíží s CMPivotem v těchto případech můžete získat další informace, když povolíte podrobné protokolování na vašich serverech a SMS_MESSAGE_PROCESSING_ENGINE serveru lokality. Informace o tom, jak povolit podrobné protokolování, najdete v tématu Možnosti protokolování serveru lokality.

Pokud chcete řešit potíže, projděte si následující protokoly:

  • MP_Relay.log
  • SMS_MESSAGE_PROCESSING_ENGINE.log

Další kroky