Database Monitoring with HostTracker

Published: 2017-09-03 all articles | Glossary | FAQ

We’re happy to introduce our newest monitoring feature - Database Check – that is easy to use, crystal-clear to understand and designed to get you through your website ‘critical hours’ as smoothly as possible.

There is a wealth of different collector services for gathering and analyzing performance information from, for example, the number of visitors, disk usage to the duration of a database session and geographical distribution of the audience that visits the website. In the real world, it is very common to find two or more of these metrics presented together. Anyway, the problem is that you should not only assess these numbers but also somehow examine and compare them.

All that made HostTracker team eventually develop a Database Check – a perfect tool for deep database monitoring and successful troubleshooting database performance problems.

Task Configuration Concepts

Generally speaking, adding a new Database Check won't take long to set up. Once it is enabled, you’ll get the chance to adjust the check to suit your overall strategy. Now let’s look at some of the available options to better understand how they can be effectively applied.

First and foremost, this feature has an option to include a specific database query every time you run the check, whilst still having the opportunity to manage the processing data. If you don’t want to specify any query – the service will verify the ability to connect to the database. In addition, the Database Check tool supports a deferred execution option, which allows you to specify the point of query declaration and track its results.

Besides that, you can use any command - from a simple Select statement to a more complex procedure, - as a database query. However, the specified request should be executed in 30 seconds or less, otherwise, the error message will be generated. Basically, you’ll get the 408 Request Timeout or related error.

Please note: When enabling a new DB monitoring check, there are a couple of things to consider. Use an SQL statement that returns a single value. Furthermore, this value should be returned in the first column of the first row. This step is vital for further performance analysis of the monitored system.  

At the same time, in case of using a DML command as a statement, you’ll also get the total number of rows being affected.

The following example shows the graphical interpretation of the results from executing DELETE statement, according to the specified condition:

For the record, the collected results are not only displayed in a real-time graph, but also stored for later analysis. Besides, such a solution can really help to get valuable insights into how to optimize your database performance.

Moreover, at this stage, you can specify the type of selection criteria. You can choose from no, equal/not equal, greater/less than, in/out of range.

Once the system finds some deviation in records from the expected results - you will receive a notification. To boot, you can control which events you want to receive alerts for and which ways (Skype, Viber, Telegram, Slack etc.).

First Steps In Starting Successful Performance Troubleshooting

This example shows how to create a check for both tracking the growth of all the database log and data files and getting alerts when critical database size is reached. It implies, the following example contains information about the file data/log file size, the total space used, free space details etc. So what you need to do:

  1. Create a new query that displays how much free space you have in your tablespace.

          SELECT
          convert(DECIMAL(12,2),round(sysfile.size/128.000,2)) AS 'FileSize/mb'
          , convert(DECIMAL(12,2),round(fileproperty(sysfile.name,'SpaceUsed')/128.000,2))
          AS 'Used/mb'
          , convert(DECIMAL(12,2),round((sysfile.size-fileproperty(sysfile.name,'SpaceUsed'))/128.000,2))
          AS 'Free/mb'
          , filegroup.groupname AS 'File-group'
          , sysfile.[name],sysfile.[filename]
          FROM dbo.sysfiles sysfile (NOLOCK)
          inner join dbo.sysfilegroups filegroup (NOLOCK) ON filegroup.groupid =
          sysfile.groupid
          UNION ALL 
          SELECT
          convert(DECIMAL(12,2),round(sysfile.size/128.000,2)) AS 'FileSize/mb'
          , convert(DECIMAL(12,2),round(fileproperty(sysfile.name,'SpaceUsed')/128.000,2))
          AS 'Used/mb'
          , convert(DECIMAL(12,2),round((sysfile.size-fileproperty(sysfile.name,'SpaceUsed'))/128.000,2))
         AS 'Free/mb'
         , (CASE WHEN sysfile.groupid = 0 THEN 'Log' END) AS 'File-group'
         , sysfile.[name],sysfile.[filename]
         FROM dbo.sysfiles sysfile (NOLOCK) WHERE groupid = 0
         ORDER BY [File-group],sysfile.[name]         

      2.  After execution, you should get the following results:

     3.  Add a condition of selection:

  • Query result - select "value in the first column of the first row (mainly for SELECT)".
  • Result verification - choose "less than" and add "1000"  as the max value.

Finally, you’ll get the following result once all the previous stages have been successfully completed: if the log file size exceeds 1 GB, you’ll receive a notification.

Please keep in mind all data collection history information is saved and always available to view. It means you can easily identify the cause of this or that problems, for instance, the reason for rapid tablespace growth.

Adding a New Database Monitoring Task

To activate a new Database Check you need:

      1.  Fill in the following fields:

  • Server – enter your server name;

  • Port -  add your port number;

  • Database – add your database name;

  • User ID- enter the login name under which the check should be executed;

  • Password – add the password that corresponds to your login.

For this task only, it is recommended to create a new user account with limited rights.

       2.  Provide access to your database. For this, add the IP addresses of the HostTracker agents to a Firewall Whitelist and your server list.

Note that, the IP addresses of our agents are permanent.

       3.  When ready, click on Save.

If you have any questions about this feature, well, just send us a message. We’re always ready to help!

Tags: guide