Section: ISTI.com Manual Page (l)
Updated: May 23, 2000


dlogagent - feeds the NSI server with dynamic data from datalog files  


dlogagent -ORBconfig orb.config collection.ini  


The TriNetWatch system uses collection agents (CA) that can be distributed across a network to collect data from seismic data acquisition middleware. One of the middleware products that is used in the TriNet network is COMSERV (developed by Quanterra et. al). Datalog is a client of COMSERV which writes data files to a UNIX system. dlogagent is a collection agent designed to collect data from the datalog files.

The data gathered by this agent is specific to datalog and is only dynamic data at this time. That is, the dlogagent will only provide Dynamic Parameters (DP) to the NSI regarding the parameters it looks for. The dlogagent provides up to 3 different types of parameters: Clock Quality, Mass Position, or Data Latency. Each parameter is obtained from the datalog "active" file for the station/channel specified in the collection.ini and station.ini files (see the datalog documentation for details). The agent obtains which channels to interrogate and the datalog archiving directory from the COMSERV station.ini files for the stations it operates on. The specifics of the channels specification are detailed below in the section titled STATION.INI DIRECTIVES.

dlogagent requires an initialization file containing parametric information to specify how the agent will operate. Most of the information in this file, known as collection.ini, are operational timeouts, locations of stations, and logging levels. See the COLLECTION.INI section below for specification of the details of this file.  


The TriNetWatch system is a three tiered structure of agents, server, and front-end client. The communications between the agents and the TriNetWatch server (NSIserver) are accomplished using the CORBA Event Service as implemented by Orbacus (www.ooc.com). One event channel is used by dlogagent to transmit data to the NSI. This event channel must be up and running before any data can be transmitted from the agent. See the NSI server for details on how these should be started (they are usually started on the NSI server's host). If the agents are started BEFORE the event channel is running, they will wait indefinitely for them to start. If for any reason the event channels, should die, then the agents will exit. Thus, agents need to be started in an shell script with an infinite loop of running agents. The agents pass ASCII messages through the event channel following a strict protocol (See TSOI-protocol in the design documents).  


-ORBconfig orb.config
The orb.config file holds the ORBACUS specific information about the event channel used by this agent. The orb.config file for this agent must have services for the following service name: DynAgentEventService
The collection.ini file contains all of the running and logging parameters needed by the agent.


The collection.ini file holds ASCII parameters used by the agent to initialize and run. There are two sections to the file, [TIMEOUTS] and [STATIONS], that each must be specified in the first character of data on a line and be all in upper case enclosed by []s. Within the TIMEOUTS section are listed the timeouts used for transmitting data and failovers. Within the STATIONS section there are directives that describe the stations operated on and the level of logging. Each of the sections directives are described below.

Specifies N, where N is how many usecs to wait before each Dynamic Parameter Messsage (DP_MSG) is sent. The purpose of this timeout is to be able to slow transmission of messages if the event channel is being flooded at a rate greater than the NSI can handle. A default value is 250 usecs.
N is the number of seconds to wait before gathering Dynamic Parameters from the data aquisition system being observed by this agent (COMSERV). Once the parameters have been gathered, they are sent one at a time (with a short DPTimeout interval between each) to the NSI. This is probably the most important time out of the bunch as it governs how frequently the agent collects information. The default value for this timeout is 60 seconds.
The list of stations this agent operates on is specified by this parameter. The list should be comma separated with NO WHITESPACE between station names. If all stations in the initialization file are desired, then a * may be used. The station names should NOT have network codes here because COMSERV does not use netcodes yet! To specify the network codes, use the NetworkCode parameter.
The init file in most cases for TriNetWatch agents is /etc/stations.ini. However, this provides a mechanism to point to other stations.ini files if necessary.
The name of the agent should be specified here. This is used to write a UNIQUE log file (if DebugMode=2 is used) AND also to uniquely tag messages sent from this agent. This is a required directive.
The SEED network code for the stations being monitored by this agent should be specified with this directive. This is a required directive.
The DebugMode specifies where log messages are sent. 0=turned off, 1=to stderr, 2=to a file. If DebugMode is set to 2, then the file is named after the AgentName appended with a .log.
The Debug Level is an integer which represents the level of logging messages that the end-user wishes to see. There are 4 levels of logging currently available: 0= show only system related error messages, 1= show run level error messages, 2= show init level error messages, and 3 = show everything. The lower the number, the less verbose and vice-versa. It is recommended that the first runs of the agent use level=3 and then tone it down to level = 1 once the agents are tuned.
The DebugLogDir parameter is used to specify where the log file should be written if DebugMode=2. The filename for the log will be the agent name with .log used as the postfix.

An example collection.ini file is shown below:

* a comment
# another comment
* the timeout section begins here.
* the following timeout is an inter message timeout in usecs
* the following timeout is in seconds
* says, collect DP data every hour
* logging Mode 2 sends data to a file named after the AgentName
* level 3 means spill your guts
* this places the log file, if debugmode=2 into a given directory


This agent uses a directive in the comserv station.ini file to specify which Dynamic Parameters will be sent to the NSI and which channels for a given station are requested. This directive is [CADynamicParams] and any data in the station.ini after this directive (until the next bracketed directive) will be sent as dynamic parameters for the station. The channels for each directive should be enclosed in double quotes, be comma separated, and have NO WHITESPACE between channel names.

This directive specifies that the DataLatency should be obtained from the channels listed. The DataLatency is the time observed on the host where the dlogagent is running subtracted from the END TIME of the last packet in the datalog "active" file for a given channel. If the numbers are negative, then this would indicate a potential timing problem with the host system. If this directive is not provided, then no data latency is calculated for any channel.
This directive specifies that the clock quality value from the MSEED blockette 1001 should be obtained for the listed channels. This number is averaged over the last 2 packets from the datalog active file.
The MassPositionChannels directive lists the channels for which Mass Position peak values should be obtained. See the Dynamic Parameters section below for details of the values calculated.

An example station.ini dlogagent directive section is specified below:

* end of the dynamic params section


This agent provides a list of dynamic parameters gathered from the datalog files for the channels specified, in the CADynamicParams directive of the station.ini, for each of the stations it monitors. The list of dynamic parameters that this agent monitors is listed below. The exact spelling of the parameter must be used on the NSI if it is to be used in a ruleset/criteria for establishing performance level:

Time of this DLOG Poll
This parameter indicates the time at which the dlogagent polled the datalog files. This time comes from the host computer running the agent.
Secs of Data Latency CCC
This parameter provides the number of seconds difference between the time of polling a given channel CCC and the end time of data for that channel in the active file at the time the file was openned for reading.
Average Clock Quality CCC
This parameter indicates the average (of the last 2 blocks) of the clock quality value found in the MSEED blockette 1001 for the given channel CCC.
Mass Pos. Start Time CCC
This is the start time of the packet for the given mass position channel CCC.
Mass Pos. End Time CCC
This is the end time of the packet for the given mass position channel CCC.
Mass Pos. (Max V) CCC
This is the maximum Voltage value observed in the mass position channel CCC for the times specified.
Mass Pos. (Min V) CCC
This is the minimum Voltage value observed in the mass position channel CCC for the times specified.
Mass Pos. (Max-Abs V) CCC
This is the maximum absolute Voltage value observed in the mass position channel CCC for the times specified.




Paul Friberg  


Please send bug reports to info@isti.com




This document was created by man2html using the manual pages.
Time: 17:00:03 GMT, May 23, 2000