Monioring of Network Services

Do you know how well do your services work when you are not monitoring them yourself? Are you disturbed about reports from customers in the middle of the night, and can not confirm that they are correct?

In this situation you would like to monitor your network service. In this case a network service can be anything from your website, webshop or some other kind of service you provide.

In this guide you will see how the most common network monitoring functions work.

Automatic monitoring

Software is generally good at doing tedous things repeatedly. Monitoring network services 24 hours a day, 365 days a year is such a tedious task. There are a few things that the software must be able to perform to be a good monitoring software.

  • Repeated tasks. Can simply be done using cron, even though there are better alternatives.
  • Scheduling the checks so that they are distributed as evenly as possible over time.
  • Overview page(s) so that the current status of all monitored services can be seen.
  • Notification system so that an email, SMS or some other message can be sent to the person that can recover the service.
  • Statistics and trend information is also good to have to see how well the services work over time.

On the market there are a number of software prducts that can do this. Wikipedia have a good list of the known products on the market. If you find it a bit too complicated to set it all up, that can be solved with help from Inguza Technology AB. You can either subscribe for a monitoring service or get support to set it up for you.

In general any service can be monitored automatically if you can find some way to do it manually. However a number of services has been automated in the most common monitoring softwares. In many of the softwares you can also create your own custom monitoring functions if one of the ones available do not suite you.

Examples of already available monitoring functions:

  • HTTP, HTTPS (web services)
  • SMTP, IMAP, POP3 (mail services)
  • MySQL, PSQL (databases)
  • PING (simple connectivity test)
  • DNS (domains)
  • TCP or UDP ports (general network service check)
  • SNMP (switches, routers and similar)

and much much more.

Web service monitoring

Websites, webshops, wikis and similar can be summarized as web services. The service contains of a number of components that can either be monitored individually or as a whole by simply checking that the response from an URL is correct.

For the service parts, see below on port and domain monitoring.

Example of how a web service network monitoring function work:

  1. Request is sent to the doman name and port number, like www.remotehost.com port 80.
  2. Response is received from the remote host.
  3. The response is checked and if it is correct the service is working as it should.

Email service monitoring

Email is slightly more complex to monitor fully. It is rather easy to check that mail can be sent and that it is possible to login to the mail server. These kind of checks work similarly as the web service monitor described above.

To monitor the email service fully what you need to check is that email can be sent from one address to the recipients mailbox and then check that the email is there by logging in to the mailbox and fetch it.

Database monitoring

MySQL, PostgreSQL (or some other databases) is monitored in a similar way. The problem with databases is that they are generally not available outside the web server that have access to it.

This means that a software agent needs to be installed to the server that have access to the database to do proper monitoring.

Example how database monitoring works:

  1. Request is sent to the monitor agent
  2. The monitor agent sends a request to the database.
  3. The response is received from the database to the monitoring agent.
  4. The monitoring agent check the result from the database to see how well it worked.
  5. The monitoring agent responds back with the result.

And more...

The above examples give you a good understanding on