Effective organizational monitoring spans infrastructure, security, user experience, and business metrics, each requiring specialized tools and approaches. This content walks through a realistic SaaS environment to illustrate the full monitoring stack a modern IT team needs to manage.
Organizational Monitoring Overview
For our example, we're going to say that we have an application. It's a SaaS application that our users are connecting to via the web, so they're using the web to access our software. On the back end of our software we have a database. This is a common setup for a lot of SaaS companies — software as a service companies.
We're going to want to monitor a lot of our infrastructure and our systems. What are some of the systems that we might set up as we're setting out our monitoring? One of the most basic ones actually is network monitoring. We're going to want to monitor our network to see what's happening on it. One of the tools I've used in the past is PRTG. PRTG is a great tool that will set up and monitor all of our switches and routers and all of our equipment within our network, but it can also be set up to monitor things like our servers and the performance of our servers — what's the CPU doing, what's the disk space doing, what's the database doing, what's the CPU on the database and the memory on the database. So it could be set up to monitor all of this.
There are some special needs when it comes to databases, so I've set up separate monitoring for the database. Let's say on the back end here this is a Microsoft SQL database. One of the tools I've used for that is Redgate. Redgate has some SQL monitoring tools that I used to monitor SQL and be able to really understand what SQL is doing at any given time.
Sometimes we're running these services up in the cloud. In this case, whatever cloud you're running this in, whether it's Google or whether it's Azure or maybe it's AWS — let's use AWS as an example. If these are running up in AWS, they have their own monitoring services, and I would want to be able to monitor that as well, so it kind of sees an overall picture of what these systems are doing.
Not only do we have system statistics, like what's happening on the CPU or the RAM or the storage space on the servers, but we also have logs happening on these different devices. Logs are events that are happening: when something happens on the machine, then it will log an event, and we might want to be able to see what those events are.
So maybe we have some sort of log aggregator. A log aggregator would take those logs and make a central place where we could manage those logs and see all of the logs together, so we can see what's happening across our network and not have to get on individual machines to monitor individual machines and the logs of those individual machines.
There are also a lot of security aspects that we're going to want to monitor. From a security standpoint, we like to keep that separate from the rest of our monitoring. So maybe we've rolled out a SIEM, or a data loss prevention program, or file integrity monitoring. Maybe these are the different systems we want to monitor across our network, and so we set this up to monitor security within our infrastructure.
For log aggregation, I've used something like ELK, and ELK is a way that we can aggregate those logs. Then for the security aspect I've used something like Rapid7, and Rapid7 is a SIEM that also does some file integrity monitoring and does other aspects to monitor the security aspects of our whole network and our infrastructure.
It's great to monitor our systems, but it doesn't always give you an example of what the user is experiencing, so we'll want to monitor what the user is experiencing as well. For instance, maybe our application and our databases and our internal infrastructure like our network switches and routers are all running just fine, except there's some sort of delay. Maybe it's a bandwidth delay going out to the rest of the world, or something that we don't see, that's not in our regular purview of what we're monitoring. So we want to see what the user is experiencing.
There are several different ways that we could do that. For instance, we have uptime. One thing we could do is employ a service that checks our web page to see if it's up and running — that's uptime monitoring. Uptime is not always the best measurement of how our system is doing, because our systems could be up and running and responding fairly quickly, however we could be having a problem with the user interacting with certain components of our system. So we may want to understand what the user is experiencing.
There is real user monitoring, or RUM, that we can employ for this. What this would look like is that we would install code within our application, so that way when the user hits our site that code is actually running on their computer and testing out to see what the connection is. It's within the HTML, where it just does, okay, what's our response time, and then that can report back to us. A lot of times the uptime monitoring service we're using — for instance, I've used Pingdom in the past, and Pingdom allowed us to install that HTML code in there that gave us that feedback. So this is some extra feedback that can be reported to us.
Along a similar note, there are a lot of analytics programs. For instance, I've used Google Analytics. Google Analytics also had some code that you would slip into your HTML code, and then that would be essentially running on the end user and give you a lot of stats, like how many people were connected, what were they viewing when they hit your site, how long did they stay on each of the pages. So Google Analytics and these other analytics programs can give you some great insight into your application, how it's responding, and where users are gravitating towards.
Sometimes within our application we want to get feedback from our customers, and a common feedback that we get is net promoter score. A net promoter score is essentially a way of measuring what is the likelihood of a user promoting our services to others, that they would recommend our services to others — an NPS score. One of the things that I've done in the past is I've used Pendo to measure the net promoter score. Essentially it's a rating from the end user. There may be a little popup that says how likely are you to recommend our services, and then depending on how likely they are to recommend our services, that's a general determination of how happy they are with our services.
Sometimes these users need to call in and get support from our customer service. Now, we probably have some sort of survey that we send to them that says, how well did we help you out, did we answer your questions. That is a customer satisfaction rating: how satisfied are the customers with our services. One of the services that I use to measure this is SurveyMonkey.
Depending on what the user interacts with, we may get different elements of what the response time is, and it might not always be consistent. So if we want to measure things over time but we want to measure them consistently, one thing we can consider is synthetic monitoring. I've used a program like catcho to monitor the synthetic monitoring.
Essentially what it is, is the program is doing more than just uptime. It's doing more than just saying, hey, are you up. Maybe it's logging into the system and then going to a certain aspect of our software and measuring the response time that it takes to hit the website, be able to log in, and also go to whatever specific element that we're trying to measure. So we would set it up, and it's more of an automated process to monitor, and we can consistently do that. So maybe we check it every minute, maybe we check it every five minutes, maybe we check it every 10 minutes, just to see what's going on within our application.
This by no means is an exhaustive list of everything that we could be monitoring within our company, and there are a lot of other aspects that we'd monitor as well. Maybe we are measuring sales, and we'll want to measure sales or our financial stability and what's happening with our finances. There are a bunch of different business analytics that we would want to analyze as well, and then there's a bunch of competitor analysis that we may want to do. In all these aspects we might set up some sort of monitoring to monitor all of this.
Ultimately, to create a robust monitoring system, we're going to have to look at a lot of different aspects — a lot of different aspects of the organization, of our infrastructure, of our different systems. We're going to take that and probably use a lot of different software and applications and different monitoring systems in order to monitor all of our infrastructure and all of what we want to monitor within our organization.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →