Solved

Custom QI Time Alert From Commvault Store

  • 30 September 2021
  • 10 replies
  • 398 views

Userlevel 1
Badge +6

This Custom QI Time Alert is not working for me

 

https://cloud.commvault.com/webconsole/softwarestore/store.do#!/137/681/12839

 

 

I change the MMCONFIG_AVG_QI_TIME_LIMIT_CRITICAL_EVENT_PERCENT to trigger alert 

 

 

the alert returns 

 

Alert Rule Name : Not Applicable 

               SIDBStoreId : Not Applicable 

               SIDBStoreName : Not Applicable 

               StoragePolicy : Not Applicable 

               CopyName : Not Applicable 

               MediaAgent : Not Applicable 

               DDBPath : Not Applicable 

               QITimeInMilliseconds : Not Applicable 

               Condition Cleared: : Not Applicable

 

<?xml version="1.0" encoding="UTF-8"?>
<App_SetCustomRuleRequest>
    <queryDetail doesQuerySupportOutputFilter="1" frequency="86400"
        isDisabled="0" isOverwriteAssociationAtAlertAllowed="1"
        isPrimaryKeyPresent="0" isQueryModifyEnabled="1"
        isSystemCreated="0" queryCriteriaName="Custom QI Time Alert"
        queryDescription="Custom QI Time Alert"
        sqlQuery="DECLARE @avgQITimeLimitCriticalEventPercent INT = 0 SET @avgQITimeLimitCriticalEventPercent = ISNULL((SELECT  TOP 1 value FROM    MMConfigs with (readuncommitted) WHERE   name = 'MMCONFIG_AVG_QI_TIME_LIMIT_CRITICAL_EVENT_PERCENT'), 90)&#xa;&#xa;&#xa;DECLARE @avgQITimeThreshold INT = 0&#xa;SET @avgQITimeThreshold = ISNULL((SELECT value FROM MMConfigs WITH (READUNCOMMITTED) WHERE name = 'MMCONFIG_MAX_AVGQITIME_FOR_SIDB'), 2000)&#xa;&#xa;DECLARE @avgQITimeThresholdCriticalEventLimit INT = ((@avgQITimeThreshold * @avgQITimeLimitCriticalEventPercent) / 100) -- calculate @avgQITimeLimitCriticalEventPercent percent&#xa;&#xa;&#xa;  &#xa;DECLARE @tblLatestStoreInfo TABLE (&#xa;        SIDBStoreId INT, SubStoreId INT, SIDBStoreName VARCHAR(256), archGroupName NVARCHAR(288), archGroupCopyName NVARCHAR(128), clientId INT, clientName NVARCHAR(510), path VARCHAR(1024), CommCellId INT, latestUpdateTime INT, avgQITime INT)&#xa;    &#xa;--Get most recent modified time for each Dedupe Store partition&#xa;INSERT INTO @tblLatestStoreInfo&#xa;SELECT U.SIDBStoreId, U.SubStoreId, '', '', '', 0, '', '', U.CommCellId, max(U.ModifiedTime), 0&#xa;FROM IdxSIDBUsageHistory U WITH (READUNCOMMITTED)&#xa;    INNER JOIN archCopySIDBStore agcStore WITH (READUNCOMMITTED) ON U.SIDBStoreId = agcStore.SIDBStoreId&#xa;WHERE U.HistoryType &lt;> 2 &#xa;GROUP BY U.SIDBStoreId, U.SubStoreId, U.CommCellId&#xa;&#xa;&#xa;UPDATE @tblLatestStoreInfo&#xa;SET avgQITime = dbo.GetCurrentAvgQITimeMedian(SIDBStoreId, SubStoreId , commcellId , 0)&#xa;    &#xa;DELETE FROM @tblLatestStoreInfo&#xa;WHERE avgQITime &lt; @avgQITimeThresholdCriticalEventLimit&#xa;&#xa;UPDATE T&#xa;SET SIDBStoreName = I.SIDBStoreName,&#xa;clientId = S.clientId,&#xa;path = A.path&#xa;FROM @tblLatestStoreInfo T, IdxSIDBStore I WITH (READUNCOMMITTED), IdxSIDBSubStore S WITH (READUNCOMMITTED), IdxAccessPath A WITH (READUNCOMMITTED)&#xa;WHERE T.SIDBStoreId = I.SIDBStoreId&#xa;    AND I.SIDBStoreId = S.SIDBStoreId&#xa;    AND T.SubStoreId = S.SubStoreId&#xa;    AND S.IdxAccessPathId = A.IdxAccessPathId&#xa;&#xa;UPDATE T&#xa;SET clientName = A.name&#xa;FROM @tblLatestStoreInfo T, APP_Client A&#xa;WHERE T.clientId = A.id&#xa;&#xa;UPDATE T&#xa;SET archGroupName = AG.name,&#xa;archGroupCopyName = AGC.name&#xa;FROM @tblLatestStoreInfo T, archGroup AG WITH (READUNCOMMITTED), archGroupCopy AGC WITH (READUNCOMMITTED)&#xa;WHERE T.SIDBStoreId = AGC.SIDBStoreId&#xa;AND AGC.archGroupId = AG.id&#xa;AND AGC.dedupeFlags &amp; 134217728 = 0&#xa;&#xa;SELECT SIDBStoreId, SIDBStoreName, archGroupName as StoragePolicy, archGroupCopyName as CopyName, clientName as MediaAgent, path as DDBPath, avgQITime as QITimeInMilliseconds&#xa;FROM @tblLatestStoreInfo&#xa;&#xa;"
        taskInfoXml="&lt;?xml version='1.0' encoding='UTF-8'?>&lt;TMMsg_TaskInfo>&lt;task GUID=&quot;3d164962-c892-43d2-adb7-1cb2e747fdfa&quot; description=&quot;&quot; ownerId=&quot;1&quot; runUserId=&quot;1&quot; taskType=&quot;2&quot; ownerName=&quot;Administrator&quot; policyType=&quot;10&quot; associatedObjects=&quot;0&quot; taskName=&quot;&quot; alertId=&quot;0&quot; taskId=&quot;0&quot;>&lt;securityAssociations>&lt;ownerAssociations />&lt;/securityAssociations>&lt;taskFlags isEdgeDrive=&quot;0&quot; isEZOperation=&quot;0&quot; forDDB=&quot;0&quot; uninstalled=&quot;0&quot; isSystem=&quot;0&quot; disabled=&quot;0&quot; />&lt;originalCC commCellId=&quot;2&quot; />&lt;taskSecurity>&lt;associatedUserGroups userGroupId=&quot;1&quot; _type_=&quot;15&quot; userGroupName=&quot;master&quot; />&lt;associatedUserGroups userGroupId=&quot;3&quot; _type_=&quot;15&quot; userGroupName=&quot;View All&quot; />&lt;ownerCapabilities />&lt;/taskSecurity>&lt;task taskName=&quot;&quot; taskId=&quot;8401&quot; />&lt;/task>&lt;appGroup />&lt;subTasks>&lt;subTask subTaskOrder=&quot;0&quot; subTaskName=&quot;&quot; subTaskType=&quot;1&quot; flags=&quot;0&quot; operationType=&quot;5014&quot; subTaskId=&quot;0&quot;>&lt;subTask subtaskId=&quot;8402&quot; subtaskName=&quot;&quot; />&lt;/subTask>&lt;pattern active_end_occurence=&quot;0&quot; freq_subday_interval=&quot;0&quot; freq_type=&quot;4&quot; patternId=&quot;18&quot; flags=&quot;0&quot; description=&quot;Every day at 12:00 AM starting February 1, 2017 &quot; active_end_time=&quot;0&quot; active_end_date=&quot;0&quot; skipOccurence=&quot;0&quot; skipDayNumber=&quot;0&quot; active_start_time=&quot;0&quot; freq_restart_interval=&quot;0&quot; active_start_date=&quot;1485907200&quot; freq_interval=&quot;1&quot; freq_relative_interval=&quot;0&quot; name=&quot;&quot; freq_recurrence_factor=&quot;1&quot;>&lt;calendar calendarName=&quot;Standard&quot; calendarId=&quot;1&quot; />&lt;timeZone TimeZoneID=&quot;31&quot; />&lt;/pattern>&lt;options>&lt;backupOpts>&lt;dataOpt autoCopy=&quot;0&quot; />&lt;/backupOpts>&lt;/options>&lt;/subTasks>&lt;/TMMsg_TaskInfo>" visibility="0">
        <creator userId="1" userName="Admin"/>
        <securityAssociations>
            <ownerAssociations/>
        </securityAssociations>
        <commcellAssociation>
            <entity _type_="124" commCellId="2" srmReportSet="0"
                srmReportType="0" type="0"/>
        </commcellAssociation>
        <additionalQueryDetails querySeverity="1">
            <scriptDescription description="Custom QI Time Alert"
                guid="165AB4C6-1DD8-4350-B2E4-5303E566DED0" reportName="Custom QI Time Alert"/>
        </additionalQueryDetails>
        <queryEntity queryId="0" queryName="Custom QI Time Alert"/>
        <queryOutputColumns columnFriendlyName="SIDBStoreId"
            columnName="SIDBStoreId" isColumnFilterable="0"
            isPrimaryKey="0" lmDataType="0">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
        <queryOutputColumns columnFriendlyName="SIDBStoreName"
            columnName="SIDBStoreName" isColumnFilterable="0"
            isPrimaryKey="0" lmDataType="1">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
        <queryOutputColumns columnFriendlyName="StoragePolicy"
            columnName="StoragePolicy" isColumnFilterable="0"
            isPrimaryKey="0" lmDataType="1">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
        <queryOutputColumns columnFriendlyName="CopyName"
            columnName="CopyName" isColumnFilterable="0"
            isPrimaryKey="0" lmDataType="1">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
        <queryOutputColumns columnFriendlyName="MediaAgent"
            columnName="MediaAgent" isColumnFilterable="0"
            isPrimaryKey="0" lmDataType="1">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
        <queryOutputColumns columnFriendlyName="DDBPath"
            columnName="DDBPath" isColumnFilterable="0" isPrimaryKey="0" lmDataType="1">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
        <queryOutputColumns columnFriendlyName="QITimeInMilliseconds"
            columnName="QITimeInMilliseconds" isColumnFilterable="0"
            isPrimaryKey="0" lmDataType="0">
            <columnAdditionalDetails includeInAlertOutput="1"/>
        </queryOutputColumns>
    </queryDetail>
</App_SetCustomRuleRequest>
 


 

icon

Best answer by MaxJamakovic 1 October 2021, 00:18

View original

10 replies

Userlevel 7
Badge +23

Hi @MaxJamakovic , appreciate the post!

I’m going to reach out to some internal contacts and see if we can get some eyes on this for you.

Thanks!

Userlevel 7
Badge +23

@MaxJamakovic , while I am working ona  resource, can you clarify what you expect to see?  Are you sure you have a DDB within 90% of the threshold (assuming you changed it)?

From the docs:

Custom QI Time Alert

Custom Alert

This alert notifies the user when the average (Q&I) time of the DDB exceeds 1800 microseconds.

  1. You must download the Custom QI Time Alert from the software store. For more information, see Alerts and Notifications - Installing Alert Rules from Commvault Store.
  2. You must enable the alert after downloading it. For more information, see Enabling or Disabling an Alert Rule.

 

https://docs.commvault.com/commvault/v11/article?p=12620.htm

Userlevel 1
Badge +6

 

Hi Mike like for example I want to trigger test alert for DDB at 29% to make sure that is working 

 

yes I did change MMCONFIG_AVG_QI_TIME_LIMIT_CRITICAL_EVENT_PERCENT'), 90) to 29

 

 

Userlevel 4
Badge +6

@MaxJamakovic  Do you have horizontal scaling of DDB feature enabled?

Userlevel 1
Badge +6

Hi Prasad I’m not sure how do I check that 

Userlevel 7
Badge +23

@MaxJamakovic , check the parameter list here.  I have the main one pasted below, though there are many related settings in the full link:

https://documentation.commvault.com/commvault/v11/article?p=11020.htm

Enable horizontal scaling of DDBs

Definition: When you enable horizontal scaling, the software regularly monitors the deduplication databases (DDBs) that exist before and after enabling the horizontal scaling. The software marks a DDB as full upon reaching the system threshold limits, and then stops association of any new subclients to the DDB. However, the existing subclients still back up to the current DDB.

When you create a storage policy or a storage policy copy, the software creates new DDBs for three different data types - virtual machines, databases, and file system agents. Any new subclients are associated to a DDB based on their data type.

When a DDB of a data type is marked full upon reaching the system threshold limits, the software automatically creates a new DDB for the data type, and associates any new subclients of the data type to the new DDB.

Default Value: 1

Range: 0 (disabled) or 1 (enabled)

Usage: With the creation of separate deduplication databases for three different data types—virtual machines, databases, and file system agents—when you create a storage policy copy, you can achieve maximum deduplication efficiency. Horizontal scaling improves deduplication efficiency because similar data types deduplicate more efficiently than dissimilar data types.

When you create a storage policy copy, if one of the following conditions is true, then horizontal scaling does not apply for the copy and the Commvault software does not create the three deduplication databases:

  • You select a library that is associated with a MediaAgent that is on Service Pack 14 or an earlier version.
  • The deduplication database or a deduplication database partition is hosted on a MediaAgent that is on Service Pack 14 or an earlier version.

When you enable the horizontal scaling of deduplication databases, the auxiliary copy operation uses the Use Scalable Resource Allocation option by default, and you cannot turn off the option. For more information, see Performing an Auxiliary Copy Operation.

When you enable horizontal scaling of deduplication databases, you can update values for the DDB horizontal scaling threshold free space percentage and DDB horizontal scaling threshold number of subclients per DDB parameters in the current Deduplication tab.

Note:

  • Any new subclients from the client computers with Service Pack 14 and more recent service packs associate to the new deduplication databases created with horizontal scaling for backups.
  • The existing subclients from the client computers with Service Pack 14 and more recent service packs continue to use the earlier deduplication database for backups.
  • The existing and any new subclients from the client computers with Service Pack 13 and earlier service packs continue to use the earlier deduplication database for backups.
  • The software performs a periodic weekly check on the full DDB. When the number of records in the full DDB exceed the system threshold, the software starts associating few subclients to the new DDB.
  • You can use the Move Clients to New DDB workflow to move the subclients of a client computer from the previous full deduplication database (DDB) to a new DDB created for their data type. For instructions, see Moving Clients from a Full DDB.
Userlevel 1
Badge +6

@Prasad Nara is this additional Enable horizontal scaling of DDBs setting on CommServ, it’s not available 

 

I was able to create the alert from this health report 

I wish I can export this alert and add to commcell alerts 

 

from health page the DDB Performance alert is working 

 

 

 

Userlevel 7
Badge +23

@MaxJamakovic , just heard back from our developer who said it worked fine for them. He suggested that he’d need to analyze your database to ascertain the issue. 
 

can you open a support case and share the incident number so I can follow accordingly?

Userlevel 1
Badge +6

Hi Mike I’m actually using the webconsole alert from health page. The support case was closed on Friday 

Userlevel 7
Badge +23

Oh, I misunderstood :joy:

Thanks for clarifying!

Reply