You see some device for which there is current data (last sample value) however the device appears with "is monitored = no".
These objects for which there is current data, should appear in the list when selecting "Show Monitored Devices Only" but they are not. Instead, they show in the full list with an red cross in "Is monitored."
Why is this happening?
If the qos_processor probe is deactivated, it can cause this issue.
The qos_processor probe is needed for QOS Objects to be inserted in the database with a vali "Samplerate" value in the S_QOS_DATA Table. If qos_processor probe is deactivated the samplerate is not registered.
Documentation states:
"If there is a gap in the data collection interval for two consecutive data points plus five minutes for a QoS, then the QoS is tagged as inactive and not monitored. When the QoS data collection starts again the QoS is monitored and is displayed in the report."
In this scenario there is a last sample value, but the UI still tags it as non-active.
Below is the query used by the Monitoring Governance to show the devices:
SELECT ccs.cs_id, ccs.name, monitoring_info.* FROM CM_COMPUTER_SYSTEM ccs LEFT JOIN ( SELECT qd.table_id, d.cs_id as devCsId, qd.r_table, qd.qos qosDataQos, qd.source qosDataSource, qd.target qosDataTarget, qd.robot qosDataRobot, qd.origin qosDataOrigin, qd.probe qosDataProbe, qd.samplerate ,sqs.sampletime, sqs.samplevalue, (CASE WHEN (DATEDIFF(second,sqs.sampletime, CURRENT_TIMESTAMP)) <= (2*qd.samplerate + 300) THEN 1 ELSE 0 end) as isMonitored, ci.ci_name AS ciName FROM CM_DEVICE d WITH(NOLOCK) JOIN CM_CONFIGURATION_ITEM ci WITH(NOLOCK) ON ci.dev_id = d.dev_id JOIN CM_CONFIGURATION_ITEM_METRIC cim WITH(NOLOCK) ON cim.ci_id = ci.ci_id JOIN S_QOS_DATA qd WITH(NOLOCK) ON qd.ci_metric_id = cim.ci_metric_id LEFT JOIN S_QOS_SNAPSHOT sqs WITH(NOLOCK) ON sqs.table_id = qd.table_id ) monitoring_info ON ccs.cs_id = monitoring_info.devCsId WHERE 1=1 and ccs.cs_id IN (SELECT cs_id from CM_GROUP_MEMBER) and monitoring_info.isMonitored=1 and ( lower(monitoring_info.qosDataSource) = '<server_name>') order by monitoring_info.sampletime desc OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY
This includes a calculation made using the "samplerate".
If the sample rate is NULL it affects the result of this query, hence the device will appear as non-monitored.