This KB is a Basic Guide to build a CABI-Replacement type of Dashboard in DX UIM Operator Console BI Dashboards using a SQL-Based Data source.
Guidance
To create a BI Dashboard with a SQL-Based widget in DX UIM Operator Console, follow these steps:
⚠️ Review this command with your DBA or administrator before running it. The query can be modified to adjust to the required set of metrics.
WITH S_QOS_DATA_UNIQUE AS(SELECTSQD.source,SQD.target,SQD.probe,SQD.qos,SQD.origin,SQD.robot,SQD.table_id,SQD.ci_metric_id,ROW_NUMBER() OVER(PARTITION BYSQD.origin,SQD.robot,SQD.source,SQD.target,SQD.probe,SQD.qosORDER BY SQD.table_id DESC) AS rnFROM S_QOS_DATA SQD WITH (NOLOCK)WHERE SQD.probe IN ('cdm', 'hub')AND SQD.qos IN('QOS_CPU_USAGE','QOS_MEMORY_PERC_USAGE','QOS_NETWORK_INBOUND_TRAFFIC','QOS_NETWORK_OUTBOUND_TRAFFIC','QOS_DISK_USAGE','QOS_DISK_FREE','QOS_POWER_STATE')AND SQD.target NOT IN ('Idle', 'System', 'User', 'Wait')),LATEST_SNAPSHOT AS(SELECTSQS.table_id,SQS.sampletime,SQS.samplevalue,ROW_NUMBER() OVER(PARTITION BY SQS.table_idORDER BY SQS.sampletime DESC) AS rnFROM S_QOS_SNAPSHOT SQS WITH (NOLOCK)WHERE SQS.sampletime >= DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) - 1, 0)AND SQS.sampletime < DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0))SELECTCS_ID,NAME,IP,QOS_CPU_USAGE,QOS_MEMORY_PERC_USAGE,QOS_NETWORK_INBOUND_TRAFFIC,QOS_NETWORK_OUTBOUND_TRAFFIC,QOS_DISK_USAGE,QOS_DISK_FREE,CAST((ISNULL(QOS_DISK_USAGE, 0) * 100.0) /NULLIF(ISNULL(QOS_DISK_USAGE, 0) +ISNULL(QOS_DISK_FREE, 0),0)AS DECIMAL(10,2)) AS AGGREGATE_DISK_USAGE_PERC,QOS_POWER_STATEFROM(SELECTCS.cs_id,CS.name,CS.ip,SQD.qos,LS.samplevalueFROM S_QOS_DATA_UNIQUE SQDINNER JOIN LATEST_SNAPSHOT LSON SQD.table_id = LS.table_idAND LS.rn = 1INNER JOIN CM_CONFIGURATION_ITEM_METRIC CIMON SQD.ci_metric_id = CIM.ci_metric_idINNER JOIN CM_CONFIGURATION_ITEM CION CI.ci_id = CIM.ci_idINNER JOIN CM_DEVICE CDON CI.dev_id = CD.dev_idINNER JOIN CM_COMPUTER_SYSTEM CSON CD.cs_id = CS.cs_idWHERE SQD.rn = 1) SourceTablePIVOT(MAX(samplevalue)FOR qos IN(QOS_CPU_USAGE,QOS_MEMORY_PERC_USAGE,QOS_NETWORK_INBOUND_TRAFFIC,QOS_NETWORK_OUTBOUND_TRAFFIC,QOS_DISK_USAGE,QOS_DISK_FREE,QOS_POWER_STATE)) AS PivotTableORDER BY NAME;