Jackie Gilmour Frequent Contributor.
Frequent Contributor.

(UCMDB Support Tip) Discovery not updating CI attributes - Last Access Time and Last Discovered Time


Why are the Last Access Time and Last Discovered Time not updated when a job runs for the 2nd time and there are no changes?


If there are no changes to the CI then these values are not updated until the Touch process runs. The sendTouchToServer job by default only runs once per day.

You can change appilog.agent.probe.sendTouchToServer.interval in DataFlowProbe.properties files, which has a default of 1 day (86400000) and restart the probe if you need the touch time to be updated more regularly. Beware that this will have a performance impact.

The touch mechanism is executed for all CIs at the same time for the probe. The Last Access Time and Last Discovery Time are not identical. The Last Discovery Time is the actual time of the last discovery. The Last Access Time can be can be updated by many different processes such as enrichment, integrations etc... The time here is the time the process updated it.

General Information about the Touch Process:

The very first touch time on a probe when it is installed is by default 0 o'clock UTC.

From then on there are potentially two formulas at play:

(1) If there is no start and end interval only Formula 1 is used:
Formula 1: System.currentTimeMillis() > lastTouchTime + tIntervalForTouchingResult;
e.g. default tIntervalForTouchingResult = 24h

(2) Example below when a start and end time are used and the interval is changed to 12h:

appilog.agent.probe.touchWindowMechanism.startTime = 00:59
appilog.agent.probe.touchWindowMechanism.endTime = 05:59
appilog.agent.probe.sendTouchToServer.interval = 43200000(12h)

Let's say that the lastTouchTime = '2019-06-16 01:30'.

We decide whether the touch should work by the following two Formulas:
Formula1: as above

currentTime(mm:ss) is greater than startTime (e.g. 00:59) and currentTime(mm:ss) is less than endTime (e.g. 05:59)

So given the example times above here are 3 scenarios.

(a) When the currentTime is '2019-06-16:13:30',Formula1 is true But Formula2 is false so the touch does not run.
(b) When the currentTime is '2019-06-17 00:59', though the lastTouchTime is 2019-06-16 01:30' but the tIntervalForTouchingResult is 12h.So Formula1 is true and Formula2 is also true. So the touch starts on schedule without any time shifted. We set the lastTouchTime to '2019-06-17 00:59'.
(c) When the currentTime is '2019-06-17 12:59' though Formula1 is ture, But Formula2 is false so the touch will not run.

If you have more than one probe then it is probably best that you set the start and end time to avoid the server becoming overloaded - here is the documentation - https://docs.microfocus.com/itomw/Universal_CMDB:2019.08/DfpPrvtTouchInfo
Note: The times in the DataFlowProbe.properties are UTC. If the touch fails and is tried again then this can cause the time to move.
Labels (3)
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.