Using the AgentD Process for Exporting Data to the Routing Engine
The agent process is a control plane process known as AgentD. This AgentD process interfaces with the Junos OS CLI to configure sensors and streaming servers, and to export profiles that are present in the Packet Forwarding Engine. The data pertaining to sensors is in turn exported as a JRF (Java Required Files format) file at the configured intervals to the streaming servers from Packet Forwarding Engine. AgentD can intercept the data sent out from the Packet Forwarding Engine to prevent the Routing Engine processes or daemons from querying the Packet Forwarding Engine.
This data is exported by AgentD from the Packet Forwarding Engine to the Routing Engine. A historical snapshot of this data collected is maintained in the Routing Engine. A limit on the number of records of the sensor data that is saved in the Routing Engine exists.
The AgentD control plane process was introduced beginning with Junos OS Release 14.2.
The following operations occur during the export of data to the Routing Engine using AgentD:
AgentD listens on port 2000 for messages from the Packet Forwarding Engine. Data can be received at the Routing Engine by configuring the IP address of one of the streaming servers as the Routing Engine IP address fxp0 and port 2000.
The data is sent by Packet Forwarding Engine in JRF format.
AgentD maintains the sensor data history in a Berkeley-format database (
/var/run/agentd.db). AgentD database has tables based on sensor types. Because CPU, NPU, and interface sensor types are supported, a total of three tables are created.
It is possible to maintain a history of maximum 50 records for each table in the database. The number of records is configured using a hidden statement.
We recommend that you use the hidden statement to configure the limit on the number of records of sensor data that is exported by AgentD only with the assistance of a Juniper Technical Assistance Center representative.
After the sensor data arrives at the Routing Engine, AgentD decodes the header to find sensor type to write the data into the respective table. It determines the sensor ID, FPC slot, Packet Forwarding Engine ID, and retrieves the current timestamp. This 4-tuple value becomes the key for the table. The entire message along with the header is written to the database table.
When a fresh record needs to be written to the table, the maximum limit for number of records, if configured, is examined. If the limit is exceeded, the oldest entry is purged from the table to insert the fresh record.