This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

SAM File Monitor - Custom alert based on rate of growth?

I'm currently using the built in SAM File Size Monitor component to, well, monitor the size of a file on a handful of servers. The tricky deliverable I'm running into is that I need to alert on a rate of change and not the normal static size threshold.

For example I need to alert when the file grows 40-kb over the course of 10-minutes.  

I think custom SQL (or SWQL) alert logic may be my only option but I'm struggling to come up with the correct syntax. Has anyone ever done this that could hopefully point me in the right direction?  

Note: 

-NPM 12.2

-SAM 6.6.0

  • Yeah you'll need to do it with a custom alert, this is a very old example I had laying around of doing a disk alert based on jumping 5% across 3 polling intervals, you could probably rework this to your situation. There are DEFINITELY more elegant SQL solutions to the problem but this is the kind of thing that I knew how to do on the day the request came up.

    -- volumes filling by at least 5% over 3 consecutive polling intervals
    SELECT volumes.[VolumeID]
    ,volumes.[Caption]
    ,volumes.StatCollection
    ,volumes.[VolumeType]
    ,volumes.LastSync
    ,volumes.[VolumePercentUsed]
    ,previous.DateTime
    ,previous.PercentDiskUsed
    ,oldest.DateTime
    ,oldest.PercentDiskUsed
    FROM [NetPerfMon].[dbo].[Volumes]
    join (select volumes.volumeid, vd.PercentDiskUsed, vd.[DateTime] from
    [NetPerfMon].[dbo].[Volumes]
    join [NetPerfMon].[dbo].[VolumeUsage_Detail] vd on vd.volumeid=volumes.VolumeID
    where datediff(mi,vd.datetime,getdate())>14 and
    datediff(mi,vd.datetime,getdate())<30 and
    volumes.volumetype like 'Fixed%') previous on previous.volumeid=volumes.VolumeID
    join (select volumes.volumeid, vd.PercentDiskUsed, vd.[DateTime] from
    [NetPerfMon].[dbo].[Volumes]
    join [NetPerfMon].[dbo].[VolumeUsage_Detail] vd on vd.volumeid=volumes.VolumeID
    where datediff(mi,vd.datetime,getdate())>29 and
    datediff(mi,vd.datetime,getdate())<45 and
    volumes.volumetype like 'Fixed%') oldest on oldest.volumeid=volumes.VolumeID
    where volumes.VolumeType like 'Fixed%' and
    (volumes.[VolumePercentUsed]-previous.PercentDiskUsed)>5 and
    (previous.PercentDiskUsed-oldest.PercentDiskUsed)>5

    order by VolumeID