The External Communication Channel (ECC) Queue is a connection point between an instance and the MID Server. Jobs that the MID Server needs to perform are saved in this queue until the MID Server is ready to handle them.

Links to each of the MID Server sectionsEnsure that the MID Server can connect to elements inside and outside your networkDownload and install the MID Server on a Linux or Windows hostConfigure your MID ServerConfigure MID Server securityEnsure that the MID Server can connect to elements inside and outside your networkDownload and install the MID Server on a Linux or Windows hostConfigure your MID ServerConfigure MID Server security

Asynchronous Message Bus

The MID Server subscribes to messages published by the Asynchronous Message Bus (AMB), which notifies the MID Server that it has pending task records in the ECC Queue. If a task exists in the ECC Queue for that MID Server, the MID Server sets the status to "Processing". When finished working on a requested job, the MID Server reports back to the ECC queue with the results.

The MID Server opens a persistent connection to the instance through the AMB Client and listens on the /mid/server/<mid_sys_id> AMB channel. When an output record is inserted into the Queue [ecc_queue] table, an AMB message is sent to the MID Server's channel. The MID Server receives this message and immediately polls the ecc_queue table for work, unless the MID Server is busy and the message priority level is not Interactive.

The MID Server polls the ECC queue at the maximum regular interval defined in the mid.poll.time configuration parameter (40 seconds by default), regardless of AMB message activity. If the MID is busy and receeives an AMB message witrh a priority level other than Interactive, the queue poll time changes to mid.poll.time.standard (5 seconds by default). This polling of the ECC queue at a regular interval is done in case the AMB connection is dropped.

Figure 1. MID Server ECC queue polling process
MID Server ECC queue polling process
Note: The AMB client on the MID Server does not work in all environments and might need to be disabled to avoid performance issues. To disable AMB in your environment, set the mid.disable_amb parameter to true. When you disable AMB, the MID Server no longer receives notifications for each new ECC queue output record. See  mid.poll.time in  MID Server parameters for more information.

ECC Queue information

You can access the ECC Queue by navigating any of these paths:
  • Discovery > Output and Artifacts > ECC Queue
  • Discovery > Discovery Schedules > {schedule name} > {Discovery status record}
  • ECC > Queue
  • {Discovery Status record} > ECC Queue
An ECC Queue provides the following information:

ECC queue controls

The ECC Queue form contains these related links:
Related link Description
Run again Runs the probe again. You can re-run probes when you encounter a failed discovery or other unexpected results.
Go to CMDB item Open the CI record for the CI that was updated during the discovery.
Go to Sensor Open the record for the associated sensor.

ECC Queue retry policy

The ECC Queue Retry Policy plugin (com.glideapp.ecc_retry_policy) needs to be activated to be able to view the ECC Queue Retry Policy and Queue Retry Activity modules.

Manage ECC Queue content for a MID Server

The ECC Queue allows you to create ECC Queue messages, access MID Server log entries, and retrieve statistics from an individual MID Server record.

Before you begin

Role required: admin, mid_server

Procedure

  1. Send remote commands through a MID Server to a hosting device directly from the ECC Queue without running Discovery.
    1. Navigate to the ECC Queue and click New.
    2. Create a message with these settings:
      • Agent: The name of the MID Server that executes the command.
      • Topic: Command
      • Name: The actual command that you want to process. For Windows, this is expressed in a DOS command line structure. For Linux, the structure could be a bash command line entry.
      • Queue: Output
      • Payload: With proper XML tags, you can specify the command here instead of in the Name field. The advantage to this is that the command is not restricted by the Name field length of 120 characters. Use the following XML format for the command:
      <parameters>
         <parameter name="name" value="ACTUAL_COMMAND_LINE"/>
      </parameters>
  2. Access entries in the ECC Queue that show agent0.log.0 logs and wrapper.log logs for an individual MID Server.
    1. Open a MID Server record.
    2. Under Related Links, click Grab MID logs, files and thread dump.
      ECC queue records appear in the list using the following filter:
      • [Topic] [is] [SystemCommand]
      • [Source] [is] [grabLog]
      • [Agent] [is] [your MID Server]

      Only agent0.log.0 and wrapper.log entries appear. These logs are also accessible in the ~\agent\logs\ file path.

    3. To open a log entry, click the link under the Created column.
  3. Access the queue.stats topic for useful information about individual MID Servers, such as memory and CPU usage data.
    1. Open a MID Server record.
    2. Under Related Links, click MID Statistics.
      ECC queue records appear in the list using the following filter:
      • [Topic] [is] [queue.stats]
      • [Agent] [is] [your MID Server]