Agents

Installation

The Directorate agent is installed on all desktops and servers that you need to manage. It installs simply by unpacking the zip file at any location you wish to place the agent. You then run one command to activate it.

The installation will also be available as a standard MSI package that can be deployed via Active Directory.

Finding a server

On the first startup, the agent is designed to search out and find the Directorate server by trying a few different methods.

  • Searching DNS for the name sdserver.
  • Searching the Active Directory for any computer with an LDAP attribute of name, title, or comment set to “sdserver” or “sdserver=http://fqdn/sdapi”.
  • A pre-configured registry setting on the managed computer at HKLM\Software\Directorate\DefaultServerUrl.
  • As a parameter set during activation.
  • Other agents on the same subnet (not developed yet).

Once found, the server or servers are stored in the settings file. The first time the agent runs it will use one of those servers to contact the framework. The initial policy download will provide the updated and correct list of servers to use for the agent’s location.

Policy

The agent downloads its instructions or policy once per hour or day. The policy contains all the information the agent needs to do its job. The agent decides on its own which target groups it belongs to and then uses that to determine which data collections, packages, or monitors to run. This reduces the load required on the Directorate Servers.

Communication

The agent communicates with the Directorate server over standard HTTP or HTTPS depending on the server URL that was detected. The types of communication are:

  • Downloads policy from the server
  • Uploads computer information and current target group memberships
  • Downloads software package definitions and binary files
  • Uploads event messages, inventory, and performance data

Configuration data being passed to and from the agent is in standard XML format which allows an agent to continue working even if the server might be a newer version with more data. Uploaded data files however are sent as simple tab delimited CSV files. This allows a user to load and view the data openly in a text editor or Excel. Files are in UTF8 format so multiple regions and languages are supported within the data.

The agent can also talk to local peers to obtain software packages. As part of the package definition the server provides a list of other agents on the same subnet that already have a copy of a file. The agent can then retrieve that file from its peer. Each agent will accept requests from up to 5 other agents at a time and may be providing one file while download another itself. This greatly speeds up software delivery and limits WAN connections to hopefully only one agent per file.

Auto updates

The agent will have the ability to update itself based on a set of agent files on the Directorate server. This allows an administrator to update their entire enterprise by just updating their management servers.

Actions

As a result of monitoring, actions can be performed by the local agent. Each monitored element can trigger one or more actions ranging from :

  • Sending an event message to the server
  • Running a tool which can be an external program, batch, PowerShell, or custom python script
  • Sending an email or notification
  • Stopping or starting a process
  • Stopping or starting a service
  • Restarting the computer
  • Alert the local user via the system tray app. (not available yet)

System tray application

Not developed yet. The system tray application is the interface to the local user. It will allow these features.

  • Notification to the user of issues.
  • Prompting the user for information in the form of a data input form.
  • Extend the data collection module to read HKLU keys.
  • Allow the user to select software packages to install on their computer from the available choices for his or her computer.