Questions often come on the forums about Heartbeat Discovery including how often should they be configured to run or indirectly, what updates certain resource information in ConfigMgr like the IP Address.
The answer to the first question depends on what you are going to use the data for that is contained in a Heartbeat Discovery? But if you don’t know what’s in a Heartbeat Discovery message, it’s very difficult to answer that question. So, here’s exactly what gets included in the Data Discovery Record (DDR) generated by the client and sent to the server during a Heartbeat Discovery:
- Is the client installed?
- Client type (Legacy, Advanced, or Device)
- Client version
- NetBIOS Name
- Character encoding used by the client
- Default system locale identifier (typically representative of the client’s language)
- Date and time of the DDR
- Date and time of last DDR
- Short name of system
- Currently logged in (interactive) user
- FQDN of system
- IP Network ID
- Platform ID (this is an encoding of the OS version)
- AD Site Name
- IP Address(es)
- MAC Address(es)
- Domain name
- Assigned (Primary) Site
- Hardware ID
- Identifying number (of the computer system)
- Product name (of the computer system)
- UUID (of the computer system)
- Version (of the computer system)
The above list also addresses the second question — at least as far as Heartbeat Discovery is concerned.
So the question for how often to run the Heartbeat Discovery is really how often do you need the above information updated?
Heartbeat Discovery messages are quite small and have negligible overhead on the client. Cumulatively, a large number could impact an under-powered management point, however, so setting them too frequently is not advisable. Out of the box, the default is 7 days. I typically set this down to every 1 day and know others do it even more often. I would never recommend setting this to less than 1 or 2 hours except in very small environments – there isn’t really any value in doing so anyway as nothing in the above list normally changes that frequently.
The Heartbeat Discovery also serves as a “keep alive” or “yes I am alive” message from the client to the site server. Based on this, the Clear Install Flag and Delete Aged Discovery Data maintenance tasks perform their jobs. Note that the Delete Inactive Client Discovery Data does not directly use the heartbeat time. Instead, Client Status Reporting (available in R2 and R3), uses the last heartbeat time along with last hardware inventory, last software inventory, and last policy polling time to determine if a client is inactive. Once a client is marked inactive by Client Status Reporting, it is then subject to the Delete Inactive Client Discovery Data task.
This “keep alive” purpose of the heartbeat discovery should also influence your choice of how often to set the interval; i.e., you shouldn’t set so infrequently that it might get accidentally marked inactive or not installed by one of the above mentioned maintenance tasks.
Note that you can manually initiate a Heartbeat Discovery anytime on a client from the Configuration Manager Control Panel applet by navigating to the actions tab, selecting Discovery Data Collection Cycle, and then pushing the Initiate Action button. Alternatively you can use Roger Zander’s Client Center, the right-click tools, or use the SDK to initiate this action remotely.
There are two additional important points to be made about Heartbeat Discovery (these are copied straight from http://blogs.technet.com/b/configurationmgr/archive/2010/03/30/the-top-ten-clarifications-for-discovery-in-configuration-manager-2007.aspx):
Heartbeat Discovery forces the rediscovery of active clients that have been deleted from the Configuration Manager database by the administrator, or by a database maintenance task.
- If you accidentally delete a computer from the Configuration Manager console, it will automatically “come back” if it is still active on the network. You can either wait for the next Heartbeat Discovery cycle to run, or you can hurry things along by selecting the Discovery Data Collection Cycle on the client Configuration Manager Properties: Actions tab, and click OK.
Heartbeat Discovery is the discovery process that submits a client’s installation status to its assigned site.
- The client might be installed but the client state in the Configuration Manager console continues to display No for its Client state if the site hasn’t received the client’s discovery data record (DDR) from Heartbeat Discovery. This will be the case if the client cannot communicate with its management point.