Microsoft

Decision Support: Automate network administration tasks with OpalisRobot

Describes how OpalisRobot removes some of the routine tasks often associated with Network Administration


One of the toughest parts of managing any network is basic day-to-day support. The tasks involved tend to be simple but repetitive, and they can consume a lot of expensive time. Over the years, several products have attempted to solve these and other common network management problems. However, these products tend to be so difficult to configure and maintain that it’s usually easier just to do the work yourself. However, a company named Opalis has taken a unique approach to the issue with a product called OpalisRobot, which can automate those dreary, repetitive, and time-consuming network administration chores. In this article, I’ll introduce you to OpalisRobot and show you why it’s such an appealing network management solution.

OpalisRobot
OpalisRobot is a client/server solution that helps you automate frequent administrative tasks. Using a graphical Web client, OpalisRobot lets you quickly build automated tasks that can do things like identify and react to system errors, schedule batch files or backups, delete or copy files, and monitor access to your server. The graphical Web client works in conjunction with a back-end automation service on your server.

The automation service runs on Windows NT 4.0 running Service Pack 6, Windows 2000 running Service Pack 2 or later, and Windows XP. The Web client runs on these same platforms, as long as you’re also running Internet Explorer 5.0 or later. Opalis recommends the following minimum configuration:
  • 128 MB RAM
  • 80 MB free disk space
  • 266 MHz CPU
  • TCP/IP

Depending on what you want OpalisRobot to do, you may need additional hardware and software. For example, if you want OpalisRobot to make pager notifications, you’ll need a modem. Or, if you want it to check databases via OBDC, you’ll need to have OBDC installed on your server.

You can obtain OpalisRobot by visiting the Opalis Web site, where you can download a fully functional 30-day demo. You can also register the demo and obtain a key to activate it. You won’t need to uninstall the demo; just enter the key and go.

Opalis licenses OpalisRobot on a server and client basis. The actual amount you’ll pay depends on the number of servers and clients you’ll be automating. Prices begin at $795 for a single client and server license.

The demo is a little over 22 MB in size, so it’ll take some time to download. You’ll use the downloaded executable, OPR404.2.EXE, to install OpalisRobot. When you double-click the file on your server, the OpalisRobot Setup program will begin. OpalisRobot’s Setup program works like almost every other Setup program you’ve run in Windows.

Begin by clicking Next past the usual Welcome and Software License Agreement screens. Make the selections you want as Setup progresses. You won’t encounter any problems until you reach the Setup Type screen. Here you’ll have two choices. You can either select Client Only or Full Install (Client And Service).

When you’re installing OpalisRobot on your server, select Full Install (Client And Service). The only time you’ll select Client Only is if you’re going to install OpalisRobot on your administration workstation to schedule tasks on your server remotely.

After making your selection on the Setup Type screen, click Next. Setup will then display the Enter User Name screen. On this screen, you’ll enter a user ID and password for an account that OpalisRobot can use to run its service. You can use a system account, but Opalis doesn’t recommend it for security reasons. Instead, create a special user on your server with rights to run system services.

After that, just click through the rest of the screens in Setup until you finish. After that, OpalisRobot is set up and ready to go to work.

How OpalisRobot works
You’ve probably seen various rules-based management products. The problem with rules-based management is that it tends to be very limited. OpalisRobot takes the concept of rules a few steps further. Rather than just using standard rules, OpalisRobot makes the rules object based. There are two general classes of objects—event objects and task objects. OpalisRobot makes rules by combining events with tasks.

Other programs do this; for example, you could argue that creating a rule in Microsoft Outlook to delete messages from your mother-in-law also combines events and actions. However, what makes OpalisRobot really different is that you can link just about any combination of objects.

You aren’t limited to linking a single event to a single action, either. Your events and actions can be as elaborate and complex as necessary. Drag-and-drop technology further simplifies the entire process.

To get a feel for what’s involved in setting up a management task, let’s look at a really simple situation. Start OpalisRobot by clicking Start | Programs | Opalis4. When you do, you’ll see the Opalis 4.0 client start, as shown in Figure A.

Figure A
You manage OpalisRobot from the Opalis 4.0 client.


As you can see, the Opalis 4.0 client screen is broken into the following six different areas:
  • Workspace—This is the drag-and-drop area where you’ll build your jobs.
  • Objects—This area contains the objects you can use when constructing jobs.
  • Computers—This tree contains all of the computers you can control using OpalisRobot.
  • Properties—This window contains some links you can use to quickly start building your tasks.
  • Log—You can use this window to track events as your jobs run.
  • Alerts—You can track alerts created by Opalis here.

Imagine that you want to run a particular script at 9:00 PM. To set the system up, you’d begin by dragging the appropriate event object from the Objects window to the Workspace window. In this particular case, you’d be using a Date Time Event.

Dragging the event to the Workspace calls up the event’s properties sheet, as shown in Figure B. The contents of the properties sheet vary depending on the type of object. In this particular case, we’re dealing with a Date Time object, so the properties sheet’s options would relate to the date and time. There are many options associated with a Date Time event, but in this particular case, the most relevant options are those pertaining to what triggers the event. You can set a specific time, a specific time on a daily basis, or a specific interval, such as every few seconds, hours, days, and so on. Since our purpose is to run a script at 9:00 PM, you’d set the event up so that it’s triggered at 9:00 PM and won’t be repeated on the next day.

Figure B
When you drag and drop an object in the Workspace window, a properties sheet appears for the object.


Once you’ve set up the event, you must associate one or more actions with it. In this case you’d use the Run Program Task action. Simply drag the Run Program Task icon from the Task object window to the Workspace window. This will open the Run Program Task and associate some parameters with the task, as shown in Figure C. In this case, you’d probably supply such information as the script name, the program path, and any necessary parameters.

Figure C
Enter the programs or scripts you want to run.


Linking events and tasks
You’ve created an event and a task, but you haven’t yet linked the two together. Remember that OpalisRobot is designed to link multiple actions together, but it doesn’t make any presumptions about the relationships between events and tasks. It’s up to you to tell the software how the events and tasks should be linked together.

The linkage process is extremely simple. Icons represent events and tasks. Each task icon contains a small arrow on its right side. The arrow points to the right. Likewise, each task icon contains two arrows, one on the left and one on the right. Both of these arrows point to the right.

To link an event and a task, simply click on the event’s arrow and drag your mouse to the arrow on the left side of the task icon. This will draw a line between the event and the task, completing the linkage, as shown in Figure D. If you need to link the task to another task, draw a line between the arrow on the right side of the first task and the arrow on the left side of the second task.

Figure D
To link events and tasks, just draw a line connecting them.


As an example of linking multiple tasks, let’s suppose you wanted to be notified by e-mail when a script finishes running. Rather than adding complexity to your script by building in the necessary code, you could simply create an e-mail task to send you a specific message when the task is triggered. Then, at the specified time, the script would run. When the script completes, the next task in the series will run, and you’ll receive an e-mail message stating that the script has completed.

Branched series
My example of linking tasks together to wait until a specified time, run a script, and then send an e-mail message represents a series of event and task objects strung together in a linear fashion. However, you aren’t limited to working with linear strings of events and tasks. OpalisRobot is capable of running tasks that require branching and nesting. Generally speaking, any programming that can be represented with a flow chart can be automated through OpalisRobot.

To illustrate the concept of a branched series of tasks, let’s take a look at a real-life situation. A few years back, I worked for an organization that had to back up an accounting database each night. The database was proprietary, and it required stopping about a dozen services prior to the backup. Those same services then had to be restarted when the backup completed or no one in the office would be able to use the application the next morning.

In order to make this process run smoothly, I ultimately had to create a separate batch file to shut down each individual service, and another separate batch file to start them up again. This meant that I had roughly two-dozen batch files, and about two-dozen scheduled events designed to execute those batch files. Most of the time, my elaborate system of batch files and scheduled events got the job done, but it still wasn’t a good solution. The batch files relied on timing and on a little bit of luck to complete successfully without colliding with each other.

Scheduling a complex series of actions
Now let’s take a look at how OpalisRobot could have solved my problem.

There are many different ways to accomplish the task I’ve described using OpalisRobot. You’d begin by setting up a scheduled event. For example, if the nightly backup began at midnight, you might begin shutting down databases at 11:00 PM. Therefore, the process would start with a time-based event. Next you’d use a process status object to check the status of the first service that needed to be shut down. If the service were already stopped for some reason, OpalisRobot would do a process status on the next service, but if the service were running, a Stop Service object would shut the service down. Next, an Event Log entry object would detect when the service had shut down. When the service had shut down, OpalisRobot would do a process check on the next service, shut it down, check the event log, and so on, until all of the specified services had been shut down.

To start the services back up, you’d use an event log entry-based event to start the ball rolling again. For example, you could schedule the database startup process to begin the instant the backup completed. Then it would be a matter of process checking, starting services, and checking the event logs.

Of course, you can use OpalisRobot for a lot more than just stopping and starting services. The only limit to what you can automate is your imagination.

User-defined parameters
To give you a better idea of how the entire automation process works, let’s look at some of the behind-the-scenes components that go into automating a task.

Obviously, the automation process involves linking a task to an event, but there are many parameters that you can set on task and event objects to make them even more useful. For example, you can set a trigger that starts an event or task any time that an event occurs, a task completes, or a task fails; or when a task finishes, regardless of whether it completed or failed.

Other user-defined parameters you can set to help OpalisRobot determine what it needs to do next are:
  • A task return value
  • A task return message
  • An event output
  • A task output

A task return value could be greater than, less than, or equal to another value. The value could also fall in a range of numbers, or you could test to make sure that the returned value is not equal to a specific value. The return value is very helpful for error checking.

When error checking, you can also test for a task return message. These are string-based messages, while the task return values are number based. You can test to see if a string exists, doesn’t exist, starts with a particular string, ends with a particular string, matches a pattern, or doesn’t match a pattern. The values that you can test for in the Event/Task Output are nearly identical to those that you can test for in the Task Return Message.

Finally, since objects are the building blocks behind everything that OpalisRobot can do, you may be curious as to what types of objects are available to you. OpalisRobot has over 70 different types of objects to help you administer your network. Some of the objects include:
  • Date Time Event
  • Run Program Task
  • Event Log Event
  • Performance Event
  • Disk Space Status
  • Write to Database Task
  • E-mail Task
  • Popup Message Task
  • Alerts Window Task
  • Run Program Task
  • Start/Stop Service Task
  • End Process Task

You can see a complete list of available objects at the OpalisRobot Web site.

Your own personal robot
OpalisRobot is a versatile and easy-to-use software package. With its object-oriented architecture and drag-and-drop interface, OpalisRobot lets you automate everything from simple tasks, such as running a backup or a virus check, to very elaborate functions, such as checking the system’s status and making adjustments to the server if any threshold values are too high or too low.

Just like Rosie, the housekeeping robot from “The Jetsons,” you can configure OpalisRobot as your own personal robot to help take the dreariness out of your day-to-day network administration chores.

Editor's Picks

Free Newsletters, In your Inbox