Installation and basic setup

QueueMonitor consists of two components:

  • Agent service - a Windows service which permanently runs in the background and runs tasks.
  • Admin console - a GUI for configuring and overview of one or more Agent services.

During installation you can choose to install one or both of these components. Both Agent service and Admin console can be installed on same machine.

Configuring Agent service

Agent runs as a Windows service. Since agent connects to MSMQ, SQL Server, file system, etc. it’s important to configure service to use user account which has appropriate access rights to these resources. That has to be configured from Computer Management console. All other configuration is performed using Admin console.

Single Agent setup

Single agent service is the simplest kind of setup. You connect Admin console to it, locally or remote, and use it to configure and monitor Agent service.

Multiple Agents

Agents on separate machines run independently of each other. Each of them runs its own tasks and raises alerts if needed. Single Admin console can connect to multiple agents, you don’t have to run separate console for each Agent.

Master Agent service

In setups with multiple Agents on multiple machines, one of them should be Master Agent. Which problem does the Master Agent solve? When you have multiple Agents and multiple Admin consoles, problem is how to share list of all agents and synchronize changes to them. Purpose of Master Agent is to contain shared list of all agents. When you connect any Admin console to that Master Agent, it will download that list and immediately know to connect to all Agents. For example if you have two admin consoles and add new agent from first one, it will be available in second console as well. Also Master Agent contains global settings. When you configure a global setting from File/Settings menu, it will be sent to all Agents. Agents don’t communicate with each other directly. Whenever you make make a change that applies to multiple Agents - Admin console is the one which will contact all Agents and send them that setting or task. Any Agent can be Master Agent, there’s no separate installation procedure for it, only difference from Admin console point of view, i.e. first machine where all of them connect to.

Monitoring group and shared tasks

When multiple Agents are installed, and Admin console connects to Master agent, it will show list of Agents in left panel. It will also display “Shared tasks” node there. Each task created there will be sent to all agents in a group. Thus, it’s important to avoid absolute machine names in task definitions, unless all agents should use that same resource. I.e. localhost, or for MSMQ ”.” instead of machine name. Shared tasks can be copied or imported from regular tasks. When you go to individual agent you’ll see these tasks are marked as “shared” and you can’t delete or edit them there, they’re only editable from “shared” node. However you need to go to specific agent to see execution history for shared tasks, since it’s local to each agent - each agent runs its tasks and handles failures and recoveries independently. If agent is not online when changes are made, it will not receive latest copy of settings and shared tasks. One way around this is to remove and add agent. Another is to perform some edit, which will resend that task/settings to all agents. Easiest way to edit shared tasks is to just copy/paste them.

Agent port

By default Agents run on port 39000. At this point, there’s no authentication/authorization for connection between Admin console and Agents. I.e. each Admin console can freely connect to each Agent, including Master Agent.

First time setup

First time someone connects to an Agent which was not configured before, a window will be opened to complete initial configuration. It can always be changed later from File/Settings. Also, QueueMonitor will offer to create some of default tasks for you. They can also be created later from File/Create default tasks.