Troubleshooting SCCM Part V.........Heartbeat Discovery

Heartbeat Discovery

This is important for the understanding of the health state of the agent, this can be scheduled in the SCCM server using the console and the settings are available under discovery rules

Depending on the schedules set on the server, once initiated, the agent reads the inventory type to determine by querying WMI.

Once the Discovery Agent has determined its Scan type, it must now determine precisely what it needs to inventory. This is accomplished by again pulling configuration data from WMI. Discovery Rule information is stored within the same namespace of WMI (Root\CCM\Policy\Machine)

The scheduler sends a message to the Inventory Agent:

Client Side

Schedule.log:

Sending message for schedule 'Machine/{00000000-0000-0000-0000-000000000003}' (Target: 'direct:InventoryAgent', Name: '') $$<Scheduler><Sun Apr 24 9:39:06.003 2010 Eastern Standard Time><thread=2768 (0xAD0)>

smscliui.log:

Site is in mixed mode. Internet tab will not be displayed. smscliui 2/1/2010 9:02:22 AM 3544 (0x0DD8)

Perform Action: Discovery Data Collection Cycle - {00000000-0000-0000-0000-000000000103}. Message sent, id={7EAD483B-17D6-45FD-A7E2-F8B2AE3797B5} smscliui 2/1/2010 9:03:17 AM 3564 (0x0DEC)

Then the Inventory agent collects the data and sends the xml file to the Management Point.

Inventoryagent.log:

Inventory: *********************** Start of message processing. *********************** InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Inventory: Message type is InventoryAction InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Inventory: Temp directory = C:\WINDOWS\system32\CCM\Inventory\Temp\ InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Inventory: Clearing old collected files. InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Inventory: Opening store for action {00000000-0000-0000-0000-000000000003} ... InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Inventory: Action=Discovery ReportType=Full InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Inventory: Initialization completed in 0.400 seconds InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Collection: Namespace = \\.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, IPAddress, IPXAddress, MACAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE; Timeout = 600 secs. InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Collection: Namespace = \\.\root\cimv2; Query = SELECT __CLASS, __PATH, __RELPATH, UserName FROM Win32_ComputerSystem; Timeout = 600 secs. InventoryAgent 4/23/2010 10:04:46 AM 2176 (0x0880)

Collection: Namespace = \\.\root\ccm\invagt; Query = SELECT __CLASS, __PATH, __RELPATH, IPv6Address FROM

………………….

………………

…………………….

Collection: 13/14 inventory data items successfully inventoried. InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Collection Task completed in 0.621 seconds InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: 1 Collection Task(s) failed. InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Temp report = C:\WINDOWS\system32\CCM\Inventory\Temp\302aac72-7191-41b1-9b92-40b6b08b31c6.xml InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Starting reporting task. InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Reporting: 11 report entries created. InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Reporting Task completed in 0.090 seconds InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Successfully sent report. Destination:mp:MP_DdrEndpoint, ID: {209E69B5-519E-414F-AB47-703B1F1DC1AE}, Timeout: 80640 minutes MsgMode: Signed, Not Encrypted InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Cycle completed in 1.812 seconds InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Inventory: Action completed. InventoryAgent 4/23/2010 10:04:47 AM 2176 (0x0880)

Server Side

After that the processing takes place on the MP. The xml file is translated into a DDR:

MP_Ddr.log:

Ddr Task: Translate report attachment to file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\ddm.box\BO4QB24H.DDR" returned 0 MP_DdrEndpoint 4/21/2010 10:38:37 AM 4360 (0x1108)

Mp Message Handler: copying attachment to C:\Program Files\Microsoft Configuration Manager\inboxes\auth\ddm.box\DdrAttachment2R4M0DLR.xml MP_DdrEndpoint 4/23/2010 10:04:47 AM 2600 (0x0A28)

Inv-Ddr Task: processing xml file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\ddm.box\DdrAttachment2R4M0DLR.xml" MP_DdrEndpoint 4/23/2010 10:04:47 AM 2512 (0x09D0)

Full report from client SQL, action description = Discovery MP_DdrEndpoint 4/23/2010 10:04:47 AM 2512 (0x09D0)

Ddr Task: Translate report attachment to file "C:\Program Files\Microsoft Configuration Manager\inboxes\auth\ddm.box\H5AVRZ5O.DDR" returned 0 MP_DdrEndpoint 4/23/2010 10:04:48 AM 2512 (0x09D0)

The Management Point File Dispatch Manager copies the files from the MP folder structure to the site server folder structure.

And after this on the site server the Discovery Data Manager inserts the data into the SCCM database:

ddm.log:

DDM is configured to synchronize the network config data (NCF) files at startup and every 15 minutes thereafter. SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:34 AM 3864 (0x0F18)

CDiscoverDataManager::GetSiteStatus - Registering SQL types, Server = SQL, Database = SMS_LAB, User = SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:34 AM 3864 (0x0F18)

Preparing to sync deletes... SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:34 AM 3864 (0x0F18)

No system deletions to replicate. SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:34 AM 3864 (0x0F18)

Looking for ClientKeyData changes SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:34 AM 3864 (0x0F18)

No ClientKeyData changes to replicate SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:34 AM 3864 (0x0F18)

Synchronizing network config data (NCF) files with site control data in the database. SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:54 AM 1472 (0x05C0)

Synchronization of network config data (NCF) files is complete. SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:01:54 AM 1472 (0x05C0)

Refreshing site settings..... SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:49 AM 3864 (0x0F18)

Updated inbox def 15, Discovery Data Manager SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:49 AM 3864 (0x0F18)

Updated inbox def 41, Discovery Data Manager (Trusted) SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

Updated inbox def 48, Discovery Data Manager (Registration) SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

Updated inbox def 14, Discovery Asst Rules SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

Updated inbox def 50, Discovery Data Manager (Notification) SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

Updated inbox def 9, Data Loader SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

Updated inbox def 10, Software Inventory Processor (Site) SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

Updated inbox def 23, Client Configuration Record (Incoming) SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

DDM is configured to synchronize the network config data (NCF) files at startup and every 15 minutes thereafter. SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

CDiscoverDataManager::GetSiteStatus - Registering SQL types, Server = SQL, Database = SMS_LAB, User = SMS_DISCOVERY_DATA_MANAGER 4/23/2010 10:04:50 AM 3864 (0x0F18)

The same log but with SQL logging enabled on the site server:

Ddm.log:

Processing file a4z7f6ye.DDRSMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select d1.DiscArchKey,d1.DiscArchName,d1.BaseTableName,d1.Flags,d2.PropertyName,d2.ColumnName,d2.ValueType,d2.MaxWidth,d2.Flags,d2.ArrayTableName FROM DiscoveryArchitectures AS d1 LEFT JOIN DiscPropertyDefs AS d2 ON d1.DiscArchKey = d2.DiscArchKey where d1.DiscArchName = "System" order by d1.DiscArchKeySMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select ItemKey from System_DISC where SMS_Unique_Identifier0 = "GUID:07114A5F-BE31-49B6-9FFC-5EFA2D897974"SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

Processing <System> #4...SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),IP_Addresses0) from System_IP_Address_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),IP_Subnets0) from System_IP_Subnets_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),IPX_Addresses0) from System_IPX_Addres_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),IPX_Network_Numbers0) from System_IPX_Network_Numbers_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),MAC_Addresses0) from System_MAC_Addres_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),Resource_Names0) from System_Resource_N_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),SMS_Assigned_Sites0) from System_SMS_Assign_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),SMS_Installed_Sites0) from System_SMS_Instal_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),System_Container_Name0) from System_System_Container_Name_A where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),System_Group_Name0) from System_System_Group_Name_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),System_OU_Name0) from System_System_OU_Name_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),System_Roles0) from System_System_Rol_ARR where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select convert(varchar(255),Active0),convert(varchar(255),AD_Site_Name0),convert(varchar(255),Client0),convert(varchar(255),Client_Type0),convert(varchar(255),Client_Version0),convert(varchar(255),CPUType0),convert(char(10),Creation_Date0,101) +' '+ convert(char(8),Creation_Date0,8),convert(varchar(255),Hardware_ID0),convert(varchar(255),User_Domain0),convert(varchar(255),User_Name0),convert(varchar(255),Name0),convert(varchar(255),Netbios_Name0),convert(varchar(255),Obsolete0),convert(varchar(255),Operating_System_Name_and0),convert(varchar(255),Previous_SMS_UUID0),convert(varchar(255),Resource_Domain_OR_Workgr0),convert(varchar(255),SMS_Unique_Identifier0),convert(char(10),SMS_UUID_Change_Date0,101) +' '+ convert(char(8),SMS_UUID_Change_Date0,8),convert(varchar(255),Community_Name0) from System_DISC where ItemKey = 4SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select AgentID,AgentTime,AgentSite from DiscItemAgents where ItemKey = 4 and DiscArchKey = 5SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>set ansi_padding off; set ANSI_NULLS OFF; set quoted_identifier off; set DATEFORMAT mdy; select convert(int,@@spid)SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>select AgentID,AgentName,IsResyncable from AgentsSMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>set ansi_padding off; set ANSI_NULLS OFF; set quoted_identifier off; set DATEFORMAT mdy; select convert(int,@@spid)SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>exec sp_GetPublicKeySMSUID "GUID:07114A5F-BE31-49B6-9FFC-5EFA2D897974"SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

CDiscoverySource::VerifyClientPublicKeys - Public key does not exist for client GUID:07114A5F-BE31-49B6-9FFC-5EFA2D897974.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

==>Name = <VEMPOP3>SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

Info: The DDR contains 22 properties, but none has new valuesSMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

insert agent information: DiscItemAgents : execute sql IF EXISTS (select ItemKey from DiscItemAgents where ItemKey = 4 and DiscArchKey = 5 and AgentID = 8 and AgentSite = "XYZ") update DiscItemAgents set AgentTime = "03/13/2010 15:21:39" where ItemKey = 4 and DiscArchKey = 5 and AgentID = 8 and AgentSite = "XYZ"~ ELSE insert into DiscItemAgents (AgentTime, ItemKey, DiscArchKey, AgentID, AgentSite) values ("03/13/2010 15:21:39", 4, 5, 8, "XYZ")SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>IF EXISTS (select ItemKey from DiscItemAgents where ItemKey = 4 and DiscArchKey = 5 and AgentID = 8 and AgentSite = "XYZ") update DiscItemAgents set AgentTime = "03/13/2010 15:21:39" where ItemKey = 4 and DiscArchKey = 5 and AgentID = 8 and AgentSite = "XYZ"~ ELSE insert into DiscItemAgents (AgentTime, ItemKey, DiscArchKey, AgentID, AgentSite) values ("03/13/2010 15:21:39", 4, 5, 8, "XYZ")SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

SQL>>>>> Done.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

Database operations finished.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

CDiscoverDataManager::FilterDDR - Will not create CCR. The Remote Client is already installed on this resource.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

CDiscoverDataManager::ProcessDDRs_PS - finished processing file C:\SMS\inboxes\auth\ddm.box\a4z7f6ye.DDR.SMS_DISCOVERY_DATA_MANAGER3/13/2010 3:24:06 PM316 (0x013C)

On the client reporting part had explained more on the troubleshooting part in case of any failures. Also these logs will give information on what had happened and why the discovery is not coming.

The main issues which are seen in the hardware inventory are

· Client are not downloading the polices (Can check on the client status and can use the client reporting troubleshooting)

· There is communication issue between the agent and the server (Use client reporting troubleshooting )

· There are agent with the same GUID (Check how to deal with client multiple GUID issue. More details in the client reporting troubleshooting section)

· The DDM component has issues. (Can try a site reset)

https://technet.microsoft.com/en-us/library/bb632938.aspx  :Discovery in Configuration Manager

https://technet.microsoft.com/en-us/library/bb932200.aspx  :Troubleshooting Discovery Issues

https://technet.microsoft.com/en-us/library/bb735871.aspx  :Discovery Troubleshooting Flowcharts