2 Replies Latest reply on Sep 21, 2017 6:13 PM by brentbo

    One High I/O Alert, not Twelve

    brentbo

      Hello everyone,

       

      Implementing the Alert me when my database file disk i/o latency is high (see below) when volume latency rises to 15 milliseconds or above I get 12 alerts, one for each database file. Huh? I'm looking into advanced options for the alert but is this really that hard? I just want one alert. Anyone? Anyone?

       

      Thanks!

       

       

        • Re: One High I/O Alert, not Twelve
          tony.johnson

          Hi,

          As far as i see the alert is working as intended. Each of the 12 alerts you receive is for a specific database file which is on a volume which has a latency greater than or equal to 15ms.

           

          I don't know if there is an easy way to get 1 alert here such as "Alert me when a volume which as AppInsight for SQL database files on it and its latency is greater than or equal to 15ms"

          and provide the list of affected files..

           

          As the volume entity does not have a latency attribute the closest i can get to right now is to use  a custom SQL query to alert on a volume which has AppInsight For SQL database files on it

           

          WHERE VolumeID in (

          SELECT        Distinct(Volumes.VolumeID)

          FROM            dbo.Volumes INNER JOIN

                                   dbo.APM_SqlBbDatabaseFileAlertsData ON dbo.Volumes.VolumeID = dbo.APM_SqlBbDatabaseFileAlertsData.VolumeID

          WHERE dbo.APM_SqlBbDatabaseFileAlertsData.VolumeLatencyInMilliseconds >15

          )

           

           

           

           

          And as an added bonus you can also display the database files on the volume details page - (a little more work needed here on this to add some colors and link to the database details views)

           

          if you browse to any volume in Orion and customize the page. Add a custom Table resource, use SQL as the datasource

           

           

          SELECT        dbo.APM_SqlBbDatabaseFileAlertsData.FileName, dbo.APM_SqlBbDatabaseFileAlertsData.Size,

                                   dbo.APM_SqlBbDatabaseFileAlertsData.VolumeLatencyInMilliseconds

          FROM            dbo.Volumes INNER JOIN

                                   dbo.APM_SqlBbDatabaseFileAlertsData ON dbo.Volumes.VolumeID = dbo.APM_SqlBbDatabaseFileAlertsData.VolumeID

          WHERE volumes.VolumeID= ${volumeid}

          2 of 2 people found this helpful