Today I am going to discuss about Heartbeat setting, Discovery Data, Other sorts of Discovery impacting Client Activity making client Inactive / Active and how to define the settings. And this is going to impact the discovered data to be deleted using “Delete Aged Discovery Data” maintenance Task.
Lets take an example from a Lab Setup, where I have set Heartbeat Discovery as every 1 Day.
By Setting up Heartbeat Discovery as 1 day, Client will send DDR (Data Discovery Record) to management point. DDR can manually be sent by initiating “Discovery Data Collection Cycle” under Actions tab through “Configuration Manager” Icon under Control Panel.
To mark the client Active / Inactive based upon Discovery data, is based upon setting specified under Monitoring > Client Status > Client Activity. Right click the “Client Activity” and select “Client Status Settings”. Hence your client will become inactive if they are not able to send request back to SCCM Server through:
- Client Policy Request
- Heartbeat discovery
- Hardware discovery
- Hardware Inventory
- Software Inventory
If client is unable to send status message based upon above 5 settings, then it will be marked as inactive.
This means, even though the Heartbeat discovery is set to 1 day, client will not become inactive after 1 day. Above mentioned client Status settings are responsible to mark it as inactive.
Impact of System Discovery / System Group Discovery along with Heartbeat Discovery
As you are aware that Heartbeat discovery is actually a DDR (Data discovery record) which is set to 1 day (in our example). However, to mark it as aged record, system discovery /system group discovery settings are the ones responsible for this.
We used to set System Discovery & System Group Discovery as well in majority of cases in our environment. Lets take example by showing you screenshots to understand this:
- System Discovery set to 60 days: This will discover the systems which has logged on to the domain in last 60 days.
- Group Discovery set to 90 days: This will discover the systems with system group properties which has logged on to domain in last 90 days.
Even though Heartbeat Discovery is set to 1 day, systems will still be discovered for 60 days because of System Discovery been set to 60. Furthermore, systems will still be discovered for 90 days because of Group Discovery, as system would be part of multiple Security group, this will impact discovery the object for 90 days. When the system is not discovered for 90 days (which includes Heartbeat,System,Group Discovery), this will marked as Aged record. And this aged record will be used with maintenance task to clean the aged record.
Client activity can be seen under: Monitoring > Client Status > Client Activity
We can see 2 clients are showing as inactive as they were not been discovered by group discovery (which was set to maximum out of all other discoveries).
Deletion of Aged Discovery Data.
As we came to know the clients are marked as Inactive after a certain period of time (in this case it is 90), these clients are not Inactive and can be called as Aged Discovery data. SCCM performs maintenance task to delete this Aged data. This setting can be seen under: Administration > Site configuration > Sites & clicking on “Site Maintenance” on the ribbon:
Delete Aged Discovery Data has been set to 90 days, which means that data will be deleted from SCCM database after 90 days. We can also say, systems will be deleted after 180 days (90 days constitutes of marking as Inactive through discoveries + 90 days using maintenance task).
I cannot say what is best for every environment, but as a best practice, we must need to align the settings which may reduce the maintenance task time and to avoid confusion. Heartbeat Discovery can be set to 1 day or 7 days ( keeping in mind about sending the status messages on daily basis for every client).
System & Group discovery should be set to same number of days, there is no point of defining 2 different days, because whatever is the maximum date, systems will keep on discovering.
We must keep in mind when do we want to mark client is Inactive & to mark client as Aged record and how long should it take to delete this Aged record (through maintenance task)