StoreGazer Configuration


Simple StoreGazer 4690 Configuration

The StoreGazer 4690 agent (EDJAgent) requires a configuration file named EDJAgent.cfg (located in the EDJGAZER: directory). This file contains required StoreGazer Server details as well as several Agent-specific options. StoreGazer can also be started from the command line. Listed below is a sample configuration file, followed by the definitions for each parameter:

Note: Users with multiple StoreGazer servers should examine the advanced configuration file sample below.

Simple StoreGazer Configuration File — EDJAgent.cfg


# Required Fields
Address = 1.1.1.1
Port = 1235

# Frequently Used Fields
Heartbeat = 60

LogCount = 10

Audit = true

Debug = off

PipeDebug = off

EnableUserActivity = true

EnableCLL = true

EnableProcessUptime = true

EnableLargeDiskSupport = true

PreferredFTPUser = ftpuser

# Rarely Used Fields

MSGHours = 1

FTPHours = 1

AlertMinutes = 30

ResolveIPsByFile = false

Buffer = 10

Facility = 1

CheckInInterval = 900

MaxLogFileCount = 10

MaxLogFileSize = 20mb

BackupAddress = 1.1.1.2

BackupPort = 1235

Encrypt = Dynamic

CorpID = DFLT

DefineNode CC = st%scc

DefineNode DD = st%sdd

DefinePort CC = 1236

DefinePort DD = 1236

Advanced StoreGazer 4690 Configuration

With the release of StoreGazer 2.3, the 4690 Agent now supports multiple servers. In order to take advantage of this new feature, the configuration file requires multiple sections, similar to an INI file in Windows.

Advanced StoreGazer Configuration File — EDJAgent.cfg


[Configuration] Heartbeat = 60
LogCount = 10
Audit = true
Debug = off
PipeDebug = off
EnableUserActivity = true
EnableCLL = true
EnableProcessUptime = true
EnableLargeDiskSupport = true
PreferredFTPUser = ftpuser
MSGHours = 2
FTPHours = 2
AlertMinutes = 30
ResolveIPsByFile = false
Buffer = 10
Facility = 1
CheckInInterval = 900
DefineNode CC = st%scc
DefineNode DD = st%sdd
DefinePort CC = 1236
DefinePort DD = 1236

[Server #1] Name = EastCoastServer
Address = 1.1.1.1
Port = 1235
BackupAddress = 1.1.1.2
BackupPort = 1235
Encrypt = Dynamic
CorpID = DFLT
SendAlert = true
SendChain = true
SendCheckin = true
SendEmail = true
SendFTP = true
SendLog = true
SendMonitoredFiles = true
SendSNMP = true
SendUser = true
SendVPD = true

[Server #2] Name = WestCoastServer
Address = 2.1.1.1
Port = 1235
BackupAddress = 2.1.1.2
BackupPort = 1235
Encrypt =Dynamic
CorpID = DFLT
SendAlert = true
SendChain = true
SendCheckin = true
SendEmail = true
SendFTP = true
SendLog = true
SendMonitoredFiles = true
SendSNMP = true
SendUser = true
SendVPD = true

Address The IP address or host name of the StoreGazer Server that EDJAgent will communicate with. In order for a host name to be used and accepted, it must be defined in the 4690 hosts file.

Alert Minutes (Default Value: 30) The default interval (in minutes) between sending multiple copies of the same alert. This value can be overridden in the alert file, using the ‘Interval’ option.

Audit (Default Value: false) If this option is set to ‘true’, EDJAgent will log all controller-initiated actions to file (EDJGazer:SGAudit.dat). By default, all auditing information will be sent to the StoreGazer Server and made available within the application database. This option may come in useful if you experience transmission problems between the controller and another machine.

BackupAddress The IP address or host name of the backup StoreGazer Server (if available) that EDJAgent will communicate with. If EDJAgent is unable to communicate with the primary server (see Address), it will attempt to communicate with the server located at the backup address.

BackupPort The port of the backup StoreGazer Server (if available) that EDJAgent will communicate with.

Buffer (Default Value: (Disabled)) If this option is provided, EDJAgent will write all 4690 messages to file (EDJGazer:PipeMsgs.dat). This parameter takes a numeric value that indicates the number of messages to buffer before writing to file. For example, when set to 1, all 4690 messages will be written to the file immediately (inefficient, but accurate). Likewise, if Buffer is set to 10, the EDJAgent process will collect 10 messages before writing to the file (efficient, but possibly inaccurate).

CheckInInterval (Default Value: (900)) The EDJAgent process regularly sends a check-in message to the StoreGazer Server, reporting various statistics including the average CPU, memory, and disk utilizations.  This message is also used to verify that the EDJAgent process is still able to communicate with the StoreGazer Server.  Normally, this check-in message is sent every 15 minutes.  The ‘CheckInInterval’ option allows the user to configure the number of seconds to wait between each check-in.

CorpID (Default Value: (DFLT)) The corporate identifier used to represent the company that owns this controller. This field may be used if a single StoreGazer database is used to house multiple companies.

Debug (Default Value: Off) This option determines what type of program state information is written to the debug file (EDJGazer:EDJAgent.log). The following values are recognized:

  • Off – Do not write any debug information to file.
  • Min – Write minimum debug information to file. This includes brief program status details. EDJAgent performance should not be impacted by this setting.
  • Max – Write maximum debug information to file. This option should only be used when an easily reproducable problem is detected. Unless requested by EDJ, you should not enable the ‘Max’ debug option. EDJAgent performance will be impacted by this setting.

DefineNode This command can be used multiple times to map node IDs to IP addresses. Alternatively, the node may map to a hostname that is defined in the hosts file. This should be done when the store already has a hostname defined for each controller. There are two symbols you can place in the hostname definition to designate store and node-specific variables:

  • %s = Store Number (Default length – 4)
  • %n = Store Node ID (Default length – 2)

The default lengths for each wildcard symbol are displayed above. However, if the percent sign is immediately followed by a number (which will precede the wildcard symbol), that length can be changed. For instance, ‘%3s’ will only display the right-most three digits of the store number.

For the example above,

DefineNode CC = st%sCC
DefineNode DD = st%sDD

Assuming we are in store ’0001′, the CC controller will be mapped to hostname ‘st0001CC’. The DD controller will be mapped to hostname ‘st0001DD’.

DefinePort This command can be used multiple times to configure the EDJServr listening port for each node ID. During a typical StoreGazer installation, each controller will be configured to listen on port 1236. However, in some cases, your router/firewall configuration may require each controller to use a unique port. When using a port other than 1236, the DefinePort command should be used. This will allow EDJAgent to properly register with the StoreGazer Server and communicate with other controllers. Example:

DefinePort CC = 1236
DefinePort DD = 1237

EnableLargeDiskSupport (Default Value: true) If this option is set to ‘true’, EDJAgent will report the correct size of disks larger than 4GB. Note that there is an issue reporting the available free space. This issue should be fixed in future 4690 OS updates.

EnableProcessUptime (Default Value: true) If this option is set to ‘true’, EDJAgent will track and report process uptime information. The StoreGazer Client Controller Monitor can display all currently running processes. When this option is enabled, the ‘Uptime’ column will display the time since the program was started.

EnableUserActivity (Default Value: false) If this option is set to ‘true’, EDJAgent will send user activity (controller login/logout) details to the StoreGazer Server. Note: The StoreGazer COPS optional feature must be installed to collect user activity.

EnableCLL (Default Value: false) If this option is set to ‘true’, EDJAgent will send command line logging (CLL) details to the StoreGazer Server. The ADXCMDLG logical file name must be defined in order for the OS to build CLL files in the ADX_CLOG directory. Refer to the OSv5r1 User’s Guide for more information on CLL. Note: The StoreGazer COPS optional feature must be installed to collect CLL data.

Encrypt (Default Value: Dynamic) The type of encryption to use when communicating with a StoreGazer Client or Server. StoreGazer uses the Blowfish encryption algorithm. The following values are recognized:

  • None – Do not use encryption.
  • Dynamic – Use a initialization vector (IV) built from the local/remote ports.
  • Constant – Use a constant/fixed initialization vector (IV).

Facility (Default Value: 23) The default facility to use for a SYSLOG action type.  This value will only be used when the facility value is not specified in a SYSLOG action.  For more information about facility levels, consult the syslog RFC document at https://tools.ietf.org/html/rfc5424#section-6.2.1

FTPHours (Default Value: 1) The number of hours that the Agent will retain FTP requests when unable to communicate with the FTP server.

Heartbeat (Default Value: 60) The EDJAgent process frequently requests a heartbeat of the 4690 controller. This includes capturing real-time CPU, Memory, and Disk utilization. The ‘Heartbeat’ option allows the user to configure the number of seconds to wait between each heartbeat.

LogCount (Default Value: 10) The number of heartbeats that are taken before EDJAgent logs controller statistics to file. EDJAgent updates this file so that vital details are retained between separate instances of the application (program restart, controller IPL, etc).

MaxLogFileCount (Default Value: 10) The maximum number of EDJAgent log files retained in the EDJGAZER:LOG directory.

MaxLogFileSize (Default Value: 20mb) The maximum size of each EDJAgent log file retained in the EDJGAZER:LOG directory (kb/mb/gb are supported; e.g. 500kb, 50mb, 1gb).

MSGHours (Default Value: 1) The number of hours that the Agent will retain messages when unable to communicate with the StoreGazer Server.

Name The local name assigned to a StoreGazer Server. This value should be unique within the configuration file. The name field is used internally by EDJAgent.

PipeDebug (Default Value: false) This option determines what type of program state information is written to the debug pipe. The EDJAgent process can write to the debug pipe much faster than writing to the debug file. However, this is a typical time/space tradeoff, as there is limited space available on the debug pipe. EDJAgent will overwrite old data when the pipe is full.

  • Off – Do not write any debug information to pipe.
  • Min – Write minimum debug information to pipe. This includes brief program status details. EDJAgent performance should not be impacted by this setting.
  • Max – Write maximum debug information to pipe. This option should only be used when an easily reproducable problem is detected. Unless requested by EDJ, you should not enable the ‘Max’ debug option. EDJAgent performance may be impacted by this setting.

Port The port of the StoreGazer Server that EDJAgent will communicate with. In a typical StoreGazer environment, the port should be set to 1235.

PreferredFTPUser (Default Value: None) The preferred FTP user for the StoreGazer Client to use when initiating file transfers to/from the 4690. The ‘*’ and ‘?’ wildcards are accepted (i.e. “ftp*” will match “ftpuser”). If this user is not provided (or defined), StoreGazer will use the most-privileged user.

ResolveIPsByFile (Default Value: false) If this option is set to ‘true’, EDJAgent will parse the 4690 IP configuration files when performing controller-to-controller actions. This option is primarily used for 4690 configurations with dynamic IP addressing via a BOOTP server. If using static IP addresses, we recommend using the 4690 hosts file and/or the DefineNode command.

SendAlert (Default Value: true) If this option is set to ‘true’, alerts are enabled and a message will be sent to the StoreGazer server whenever an alert is raised.

SendChain (Default Value: true) If this option is set to ‘true’, a daily status report will be sent to the StoreGazer Server at the end of each day.

SendCheckin (Default Value: true) If this option is set to ‘true’, a checkin message will be sent to the StoreGazer Server every 15 minutes.

SendEmail (Default Value: true) If this option is set to ‘true’, email actions are enabled and a message will be sent to the StoreGazer server whenever an email is performed.

SendFTP (Default Value: true) If this option is set to ‘true’, FTP user/password information will be sent to the StoreGazer Server upon startup.

SendLog (Default Value: true) If this option is set to ‘true’, log actions are enabled and a message will be sent to the StoreGazer server whenever a log is performed.

SendMonitoredFiles (Default Value: true) If this option is set to ‘true’, the Agent will retrieve a list of files to monitor from the StoreGazer Server each day. The size/timestamp/checksum of the file(s) will then be sent to the StoreGazer Server.

SendSNMP (Default Value: true) If this option is set to ‘true’, SNMP actions are enabled and a message will be sent to the StoreGazer server whenever an SNMP action is performed.

SendUser (Default Value: true) If this option is set to ‘true’ and user activity logging is enabled, user activity details will be sent to the StoreGazer server.

SendVPD (Default Value: true) If this option is set to ‘true’, a daily VPD (vital product data) report will be sent to the StoreGazer Server at the end of each day.


Running EDJAgent From the Command Line

Although we recommend that EDJAgent runs as a 4690 background application, it is capable of running from the command line (mainly for debugging purposes). All arguments provided from the command line will override any corresponding options defined in the configuration file. Listed below are the optional arguments that may be provided:

EDJAgent.286 [-h HearbeatInterval] [-c LogCount] [-d/-D] [-s]

[-h HeartbeatInterval] The EDJAgent process frequently requests a heartbeat of the 4690 controller. This includes capturing real-time CPU, Memory, and Disk utilization. The ‘HeartbeatInterval’ option allows the user to configure the number of seconds to wait between each heartbeat.

[-c LogCount] The number of heartbeats that are taken before EDJAgent logs controller statistics to file. EDJAgent updates this file so that vital details are retained between separate instances of the application (program restart, controller IPL, etc).

[-d/-D] This parameter turns on debugging mode for EDJAgent. If the ‘-d’ parameter is used, the debugging will be minimal, logging messages such as connection timeouts, system pipe messages, and status messages. If the ‘-D’ parameter is used, nearly every step taken by EDJAgent is logged.

[-s] If this parameter is used, all logging will be done to the screen. Otherwise, logging will be written to the log file (EDJGazer:EDJAgent.log). recorded to the specified log file.