Of course you could run your critical IT and business systems without any way to know whether they're currently running or not. In modern business if 'critical' doesn't mean 'needs to be working 24/7', what does it mean? Read on to find out why you need to monitor your critical systems, the main approaches to monitoring, and the benefits of monitoring once you've set it in motion.
Not every computer is up and running 24/7. Most laptops for example are only turned on while they're being used. What would happen if some important program stopped working?
Well, since most likely there would be someone sitting right in front of it using it, they'd obviously notice if the program they were using crashed, or the battery was about to die.
If that happened, the worst case is you'd have to reboot that laptop, or recover a few files. You wouldn't really need to do anything special to check that it's currently working or not: you're sitting in front of it, so you can just look at the screen.
Imagine instead though we're not talking laptops or PCs, but about servers, virtual machines, or a set of web services. These are business-critical systems, probably either somewhere in a room in the back or in the cloud, and almost assuredly without a physical screen or keyboard for someone to sit in front of.
And imagine this system isn't running PowerPoint or browsing the web. Instead it's the server for an e-commerce site that grosses $2 million dollars a week. Systems like that don't even have to go down completely to cause problems; slowdowns or increased waiting times can decrease the productivity of every user or the services' usefulness for customers, making them decide to go somewhere else.
But imagine for a moment that it does go down. To restore everything we're not talking a 2 minute reboot, or loading a couple of files from backup. It's a huge difference: in this case recovery is going to be critical and complex, and it'll take a while to restore everything properly. We really need to know the moment a critical system goes down, to help us minimize that downtime and thus minimize how much money you might lose because of it.
It doesn't even have to be for sales. It could be a computer checking hospital patient vital signs, servers handling internet access for an entire city, logistics systems that need to get packages out the next day, or just lots of average users, including your own employees, who can't log in to run their remote applications. If the task is critical, whether financially or for some other reason, you need IT monitoring to ensure important systems are working all the time.
The simplest solution to knowing when your apps or systems fail is just to have someone sit there checking one computer after another, over and over. Think of it as...
]]>Alyvix Server and previous versions have helped us create a usable visual monitoring system focused not just on individual checks, but orchestrating groups of checks to regularly monitor multiple, distributed applications.
With the introduction of Alyvix Service, that task has become even easier. Why is that, and why should you migrate from Alyvix Server to Alyvix Service? Read on to find out!
Alyvix Service is a great way to regularly monitor the performance of your critical applications. And the latest versions of Alyvix Service have some really great features.
But Alyvix Service didn't just come out of nowhere. For almost a decade we've been on a long evolutionary path to get here.
So today I want to show you how we've improved visual monitoring with Alyvix over time, why you should keep up with the latest features, and the simple steps needed to migrate from Alyvix Server to Alyvix Service.
In the beginning (we're talking the 1990's here) there were simple monitoring systems, and most were based on Nagios.
Nagios was so early and thus influential that even if you wanted to build your own monitoring system, you would still follow the Nagios protocols so you could also use all of its many, many community plugins.
Our first version of the nuts and bolts of visual monitoring with Alyvix, let's call it Alyvix Check, was no exception: we wrote a simple command check for NetEye 3 that used Nagios format to call NSClient++ on a Windows machine.
But configuring anything this way except the simplest workflow of Alyvix test cases was slow and difficult, and it scaled badly for both multiple agents and complex applications.
There were also a number of missing features, like on-demand report generation and scheduling across multiple servers.
And that leads us to the next evolutionary step of Alyvix and visual monitoring: Alyvix Server, a standalone webapp enabling complex visual monitoring workflow tests to measure application performance.
Paired with a modernized version of the core Alyvix software, Alyvix Server expanded from running single test cases to running sessions, where multiple test cases could be scheduled together.
Alyvix Server ensures those sessions run on time, and that the connections between Windows machines remain alive.
As each test case runs in its session, Alyvix Server also collects the data they generate, stores it, and makes it available over a modern, REST-based API with a well-documented interface.
Finally, Alyvix Server introduced visual reports created from that collected data, allowing you to see dashboards and graphs, and compare side-by-side screenshots of the expected versus the actual results.
But Alyvix Server isn't perfect: it's missing full authentication and didn't include a permissions-based authorization system. In addition, nodes still had to be configured and accessed one by one, not the most scalable solution.
While Alyvix Server was a huge step forward for orchestrating large numbers of test cases over multiple machines, so was the next evolutionary step:...
]]>Office, Home Office, what about Beach Office? It doesn't matter how remote your workers are, they need to be able to connect securely to the Main Office so they can access all their files and data as if they were in the Office. And VPNs are the main way this gets down.
As an IT administrator, how can you ensure that the VPN server is always up so people can get their work done? Use Alyvix and Alyvix Service to continually check the state of your VPN from outside your company, where your remote workers are. Read on to see how.
Imagine you're in "Beach Office". It's like home office: working regular hours in a lounge chair with WiFi from the nearby beach bar. Nice and relaxing, isn't it? And nice of your company to let you work remotely several days a week.
You settle down at the same time as everyone else is arriving at the office, and just like working remotely at home, you fire up your VPN to connect.
Only, it doesn't connect. Your WiFi is fine, and you can see your company's web site, but no VPN.
A VPN doesn't just give you a secure connection, it lets you see all your computing and network resources almost as if you were physically at work. So when it's down, it's almost as though you aren't really working. The firewall isn't going to reply "Okay, just this once."
Now imagine yourself as an IT administrator who has to manage the VPN server along with all the other company infrastructure. Just think how bad it would be if all of your remote workers can't connect through the VPN.
Now, you already have internal monitoring checks to tell you if the VPN server goes down for whatever reason. There's still a problem, though.
Those checks are from inside your company, but your remote workers aren't. So you can't just check the hardware and operating system: users don't see hardware or software infrastructure. They see their applications and their services.
You need something that looks at apps from an external user's point of view, but that you can still use just like any other monitoring check.
So here's an idea: go beyond traditional montoring checks and give visual monitoring a try. A visual monitoring system like Alyvix uses the GUI itself as a monitoring check, pointing, clicking and typing just like real people do.
So if a user clicks on the "VPN connect" button and nothing happens, then visual monitoring will also click on the exact same button and see nothing happening. That's when an alert is raised and you fix it, often before any real users even notice.
And just like any monitoring check, Alyvix really shines when you ask it to check the exact same critical task a thousand times a day. So stop treating your colleagues as guinea pigs, for VPN...
]]>Visual monitoring is an exciting complement to traditional monitoring that allows for full, end-to-end monitoring. Beyond monitoring just your hardware, it checks that your apps and services are always as responsive as your users and customers expect them to be. Alyvix Service and Alyvix work together to monitor your apps, delivering reports and historical data that you can use to both diagnose specific problems with your apps, and to help foresee IT problems before they affect your users. Let's see how.
Do you work in IT? And by that, I mean down there in the nuts and bolts of IT. If you do, I bet you know what monitoring is.
It's how we keep our systems up and running all the time. After all, it's not like your average IT company has a small army of people doing nothing but checking 24/7 that all their hardware and software is working. With your monitoring system you usually add checks and alerts so you can find out when your devices have problems and instantly restart any device that goes down.
But that's your hardware. What if your hardware's doing fine, but your apps or services seem to keep going down anyway? How is CPU load going to tell you if for example Microsoft's Dynamics 365 displays your existing orders, but stops taking new ones?
That's what visual monitoring is for. A visual monitoring system like Alyvix and Alyvix Service runs its checks against the graphical user interface of a computer rather than checking its hardware. And so it can tell you when something critical that your users or customers need isn't working. And what's even better is that it can tell you before they even notice any problems.
You see, visual monitoring doesn't repeatedly ask your hardware how it's doing like regular monitoring does. Instead, you create what's called a bot, which pretends it's one of your users, someone who's trying to run one of your critical tasks. Basically, the kind of business services you need to ensure your business remains successful.
So what do I mean when I say "Alyvix runs your critical tasks"? Well, at the beginning you show it how a person goes through that very task: what they look for, what they click on, and what they type in, for each step in the interface. You can think of setting up Alyvix kind of like you would teach a trainee employee to do that same critical task.
But rather than a trainee you'll have an Alyvix software bot that will run through the task all by itself, making sure each step works, and pressing buttons to go on to the next step, until the task is done. And it does that task over and over, every 2 minutes, 3 minutes 5 minutes, whatever interval you think is right.
And with Alyvix Service, you can set your own schedule for your Alyvix bot. Run it often on workdays, less on weekends if...
]]>Today we take a look at the entire Alyvix Service lifecycle when it's used together with a monitoring system. We build a complete test case from scratch that uses Remote Desktop (RDC) to log in to a remote server, run an application there, and receive and review reports that include timing data and screenshots of each measured task step.
We recently posted some videos in our YouTube channel about how you can integrate Alyvix Service with the NetEye monitoring system via the Alyvix Service API. Here I'd like to look at the complete Alyvix lifecycle when you integrate with any monitoring system, using NetEye as an example. The plan is to create a full Alyvix test case from scratch, add it to an Alyvix Session on NetEye, and then view a report stored on NetEye .
The test case we'll build is a typical but critical task often seen in business settings: running an application on a remote machine. If the ability to quickly and easily do this comes to a halt, your business processes and thus your business will suffer severe problems until the issue can be fixed.
That's the advantage of having Alyvix work with your monitoring system: Together they'll let you know when things slow down or stop so you can quickly fix the problem.
In today's example, we'll show Alyvix how to use Microsoft's Remote Desktop (RDC) to log in to a remote server and run an application on that server, with the display visible on the local machine. We'll record the time elapsed at critical points in the process, which will let us know not just whether the process tested is working or not, but if it's taking more time than it should.
From the point of view of the monitoring system, an Alyvix test case is just like any other active check, so it will run the test case on the remote machine repeatedly (say every 5 minutes), report back results, and potentially raise an alert if the test case reports a critical value.
Often remote applications run at the operating system level via programs like Microsoft's RDC. When an operator needs to access a remote machine to configure something, perform maintenance, change system parameters, or even just run Excel on a virtual machine, they'll start RDC, and launch the desired program from the remote desktop shown on their local machine. When they're done, they exit both the target program and RDC.
An Alyvix test case needs to reproduce this same behavior: log in to the remote machine via RDC with its own monitoring credentials, launch and time the remote application, reports back its results, then close the application and RDC, leaving everything just like it was at the beginning.
We're going to build an Alyvix test case to do this by making a script with 7 main steps and 1 extra shutdown step. Because for RDC you need to type in credentials and confirm by clicking on buttons, logging...
]]>These days who has time to check out new software? You could easily spend half a day figuring things out reading the website. Well, we've got you covered with our 2 minute video that explains it simply: what Alyvix is and what Alyvix does. In fact it takes less time to watch than it does to read this article!
Put simply, Alyvix lets you automate Windows applications. That means you could use Alyvix to type data into particular cells of an Excel spreadsheet, pull customer records from your CRM suite, or even navigate a website.
Alyvix has three main facets:
The first two are the heart of Alyvix automation. It lets you take a task that you typically do, separate it out into a series of recognition and interaction steps, show Alyvix with your mouse how to do each step, and then replay the entire task as many times as you want.
The third part turns Alyvix from an automated bot into a monitoring tool by timing each step down to the millisecond.
Alyvix Editor is the part of Alyvix that lets you create the interaction steps. It uses a point-and-click interface that lets you tell Alyvix which areas of the screen need to be present, should be clicked on, or can have information typed in. In this website example, Alyvix will say "I can recognize this screen" if it can find the logo at the top left and the button to click on at the bottom:
When the automated task actually does run, if Alyvix finds those two elements, it will click on the button and take us to the next task step.
The Alyvix Editor interface is clean and modern, making it easy to show Alyvix the steps in your task:
Alyvix Editor lets you set up the entire task by detailing each step, one after another. So for a travel reservation website, the steps might be to find the location text box and type in "Venice", click on the "Sort by price" button, select the hotel at the top of the list, insert dates, and confirm the choice.
Since this is the kind of task your users do, and which keeps the purchases on your website coming in, wouldn't it be great to know that it's always working, or if not that your staff can get an alert to immediately get it up and running again?
If you know how long each step in your task takes from start to finish, you can:
Just like private enterprises, government agencies operate web services running vital services that need to be monitored for availability and responsiveness. Today we'll talk with Gabriele Cecco, who created a visual monitoring test case for a regional government. We'll get his insights into both some important features, as well as how to diagnose what's going on when you're building a test case and it doesn't work the way you expected.
Private companies aren't the only organizations that need web services. Governments are also fully on board with both internal and public services over the internet. Regardless of how local they are, they need their employees distributed across their territory to have fast access to necessary services, while still guaranteeing the privacy of their citizens.
Because these services depend on networks, they can be slowed down or even completely blocked by network problems. But how can you tell when any one of these hundreds or thousands of services go down? Even a group of people can't constantly check that all those services are working. But a software robot can.
Alyvix is just that software robot. It's a software tool that let's you automate tasks on whatever Windows application you want, by using the same keyboard and mouse. But it also watches the application interface to see how it reacts, and how long it takes, which makes it perfect for monitoring application availability and performance.
Here's a screenshot of just such a bot, checking that a single service is running, by clicking on the application's interface just like a person would.
You can't tell from the screenshot that it's a computer rather than a person using the interface? Congratulations, the application can't tell the difference either! And that's the point here: Alyvix lets you build a bot that runs typical user tasks, and reports back on whether the application is working, as well as how quickly it's working.
(If you'd like to see Alyvix Robot run this test case live, check out the following video version of this interview.)
Now, if you have a lot of users and thus a lot of servers, imagine this bot running not just once a day, but hundreds of times a day, and then lots of other bots also running hundreds of times a day, each one continuously checking that all those web services are also working properly.
Because it runs just like everyday users, then if the bot runs successfully each time, your users are also able to use that app without problems at that time. This approach to visual monitoring is called automated assessment, and it's a type of monitoring that checks human tasks rather than the hardware parameters like RAM and CPU that more traditional monitoring checks.
Building a visual monitoring check is what Gabriele Cecco does. Gabriele implemented a series of test cases for the IT systems of a regional government in Italy. Each test case checks a specific...
]]>If you've worked with Alyvix for a few years, perhaps you've noticed every so often that your test cases stop working for no apparent reason. If the underlying problem isn't an actual system fault (congratulations, your monitoring is working as intended!) then the cause is almost always a change in the interface that you're monitoring.
While some large "breaking" changes will obviously require you to create a new Alyvix test case, more often it's just a minor change, for instance Alyvix can't find a button that's been moved due to a software update, or a multi-user system has persistent window properties. In this best practices blog, I'll show you how you can build more robust test cases so that these minor interface changes won't interrupt your monitoring and keep you from rebuilding your test cases.
Have you ever had an Alyvix test case stop working, and not because the system being monitored was actually down? The culprit is almost always because the interface you're matching against and interacting with has changed in some way.
Obviously if an interface you're monitoring changes drastically, you'll probably have to make a completely new test case. But what usually happens is that an interface will change gradually, a little bit here and there over time. If you do just the bare minimum when building your test cases, you'll likely have to rebuild them each time there's a small change.
So how can you make your Alyvix test cases more robust, so that they won't break just because a software update moved a button a bit to the left? Well, it turns out that there's a right way and a wrong way to build your test cases. And learning the right way now means you won't have to spend as much time later on fixing them.
Real quick let's review some concepts you may have already picked up from reading our Alyvix user manual or watching our Alyvix operations videos...
To get Alyvix to recognize and interact with an image or a box or a piece of text, you draw a selection rectangle around that target. A selection can be any size, and you can have up to four of them in a group, where you can tell which group it is by the color of the selection (red, green or blue). Each selection also has a larger rectangle around it called the region of interest.
What Alyvix does is it tries to match the selection anywhere within its own region of interest, where the regions in a group must be in the same position relative to each other, but only within that group, not the regions in other groups. Groups are independent of each other in terms of position, but they're matched in the order they're listed in the component tree.
Alyvix also gives you a few helpful options you can use to expand the region of interest, like dragging its edges, or right-clicking on an edge to expand it...
]]>Many IT administrators already have a fully configured monitoring system that they've invested a significant amount of time in, including setting up contacts for notifications and alerts, learning the data analysis tools they're now familiar with, and more.
This conceptual exploration (and the accompanying video) illustrates how an Alyvix Service can be integrated into the NetEye 4 monitoring system with a potential implementation. It also describes the Alyvix Service API that will enable full, native integration with any monitoring system via a RESTful approach.
Today the subject is integration, and the two objects are Alyvix Service and NetEye 4.
Whenever you log in to your NetEye installation, wouldn't it be great if all your Alyvix data and settings were immediately available at your fingertips, without having to ever leave NetEye?
No more having two separate web pages open, logging in multiple times, or juggling different user permissions. Plus you could take advantage of NetEye's data visualization tools and raise alerts and notifications based on KPIs identified by Alyvix.
So how would that work? Well, it's still a work in progress, but also in this article I'll show you a preview of the API that's being used to build it all out.
Let's start with NetEye's dashboard to see how this integration can make things easier for you. Alyvix lets you monitor the availability and responsiveness of applications, and each individual Alyvix test case is shown as a separate service within NetEye.
So suppose we see a monitored Alyvix Service that's critical, like the service in the screen below called generic-alyvix3. As with all services in NetEye, we can click on the service's name to go to the details panel for more in-depth information.
Once this detail panel appears, we can explore any problems with the full array of NetEye's tools. But first, let's take the opportunity to see how we can use the Alyvix Service API to configure both global Alyvix Service settings within NetEye 4 as well as the parameters of a specific Alyvix Service, its sessions, test cases, etc.
From the Alyvix Service tab in the configuration section you can view which servers have been set up, where they're located, and how active they are. Just click on a server name to modify or delete it.
Similarly, changing global parameters is just one click away: the private key for encrypting session credentials, and the retention periods (in days) for records of successful test cases, failed test cases, and user annotation logs:
From the configuration page you can also add, edit or remove sessions, which are groups of test cases that are monitored on a particular machine and user account. Each session is viewable under the server it is registered with:
And in turn the aliased test cases scheduled to run in those sessions are also viewable. Each test case you've created with Alyvix can be fully configured with any parameters needed to customize how they run...
]]>You know that visual monitoring can be essential when monitoring the end user experience, but maybe you've thought it's too hard to implement by yourself. Well then, join Mirko and me as he gives us some tips on how he builds his application checks in the real IT world, in this case for a CRM application on Microsoft's Dynamics 365.
We all know that a lot of times, nothing can replace seeing how someone else puts together the nuts and bolts of a sophisticated IT implementation, and configuring visual monitoring is no exception. So we at Alyvix love giving you a good mix of videos and articles showing both how the Alyvix interface works as well as how Alyvix is used out in the real world.
So today let's look at how a CRM visual monitoring check was built by Mirko, who has extensive experience in both building Alyvix checks and making sure that the applications being monitored by those checks are properly responsive.
In particular we'll look at a check for a CRM application running on Microsoft's Dynamics 365 over RDWeb at a typical company -- after all, what company doesn't have clients and make sales? And the larger the company, the more people are engaged in this activity.
Because this kind of application has a lot of end users at our company, and Dynamics 365 applications are network-dependent, any system or application down time will translate into a lot people sitting there twiddling their thumbs.
What you'd really like is for those applications to be up 24/7, and fast enough that staff can do their jobs efficiently.
Along with Mirko we'll look at using the visual monitoring approach to ensuring that you both know when apps are slowing down or failing, and that you have the information available at hand to concretely do something when the inevitable happens. Read on to find out how.
The purpose of monitoring is to make sure IT systems are working and responding quickly. Similarly, the purpose of visual monitoring is to make sure that end user applications are working and responding quickly, where by visual we mean what the user is seeing or experiencing as they sit in front of their computer.
So how can you find out when your users are having trouble with their applications? In general, the best approach is to find out as soon as possible when problems are still small, before they affect all of your end users. So you need to continuously and frequently check that applications are expeditiously responding to user input. But how?
The simplest way to check would be to select someone to pretend to be the user of a wide array of basic application tasks, walking through a series of repetitive workflows, clicking on interface elements just like their coworkers, and ready to tell IT admins as soon as they see a problem. You might already have someone in your organization who does this.
I don't...
]]>