Version 1


    This alert can be used with IgniteVM data (assuming you have the Ignite8 Performance product where alerts are defined) and will watch the VM Disk Usage Rate VMware metric. This specific example is limited to between 7:30 am and 5:00 pm (defined within the T-SQL) with the theory being that backups and other batch jobs run at night and can send the VM Disk Usage Rate up normally. This alert is designed to catch high disk usage during the day when end users are using the system. Based on the default thresholds below, it will send emails when the value exceeds 10MB / sec (10,000 KB / sec) for the most recent 10 minute timeframe.


    This alert also only allows the alert to run between 7:30 am and 5:00 pm. If that is not needed you can modify or remove the "IF @TIME BETWEEN 730 AND 1700" code.


    The example below uses the "vmDiskUsageRate" metric, but a very similar query can be used for other metrics as well. For a list of all metric names, you can run these queries in the Ignite repository database:


    select metric_key from conv_metrics order by metric_key;



    To create the alert, click on Alerts > Manage Alerts tab and create a Custom Alert of type Custom SQL Alert - Single Numeric Return. Configure the alert with values similar to these:


    Alert Name: VM Disk Usage Rate


    Execution Interval: 10 minutes


    Notification Text: The following VMs are experiencing high disk usage


    SQL Statement:

    declare @DBID int,

            @VMID int,

            @TIME int,

            @SQL varchar(1000)


    -- #DBID# is passed in by the Ignite alert

    set @DBID = #DBID#


    -- get the current time in integer format, i.e. 7:30 am = 730 and 5:00 pm = 1700




    -- only run the following code between 7:30 am and 5:00 pm, otherwise return 0 for vmDiskUsageRate

    IF @TIME BETWEEN 730 AND 1700


       -- get the VMID for this instance


       from cond d

       inner join CONV_VM vm on vm.ID = d.VMID

       where d.ID = @DBID


       set @SQL = 'select AVG(md.V) '+

                  'from CONV_METRICS m '+

                  'inner join CONV_METRIC_DETAIL_'+convert(varchar,@VMID)+' md on md.METRIC_ID = m.ID '+

                  'where m.METRIC_KEY = ''vmDiskUsageRate'' '+

                  'and md.D >= DATEADD(MINUTE, -10, CURRENT_TIMESTAMP)'

       exec (@SQL)



       SELECT 0


    Execute Against: Repository


    Units: Disk Throughput


    High Threshold: Min <depends on environment>, Max empty