TSP Lab Trapper - The SNMP Trap manager Trapper

Trapper - The SNMP Trap manager
("Trapper")

Table of Contents

Features

Basic operation

User interface


The main menu

Menu Menuitem Shortcut(s) Meaning
[Log]      
  Find line containing... (Ctrl-F) Finds text in log window
  Find next matching line (F3) Finds next occurrence of text in log window
  Details   Detail level of logging (Off, Normal, Detailed, or Debug)
  Do a hardware check now!   Does a hardware checking immediately
[Alarms]      
  Check and load input queue (Ctrl-L, or left-side ) Enables reading of the SNMP traps in the input queue
  Generate periodic heart-beat traps (Ctrl-B, or ) Enables the generation of periodic heart-beat traps
  Do periodic hw checking (Ctrl-H, or ) Enables periodic hardware checking
[SNMP traps]      
  Allow sending traps to the SNMP manager (Ctrl-S, or right-side ) Allows sending SNMP traps to the SNMP manager
  Temporarily don't send WAR traps   Disables WAR trap sending
[Zabbix-lines]      
  Do not write any   Zabbix lines will not be written into the Zabbix alarm file
  Write CRI+CEA lines only   Only CRITICAL and CEASING alarms will be written into the Zabbix alarm file
  Write CRI+ERR+CEA lines only   Only CRITICAL, ERROR and CEASING alarms will be written into the Zabbix alarm file
  Write CRI+ERR+WAR+CEA lines only   Only CRITICAL, ERROR, WARNING and CEASING alarms will be written into the Zabbix alarm file
  Write CRI+ERR+WAR+INF+CEA lines (all)   All alarms will be written into the Zabbix alarm file
[Options]      
  Auto scroll (ScrollLock, or ) Allows automatic scrolling of the log screen
  Show log   Switch to the log screen
  Show pending traps   Switch to the pending traps screen
  Save settings   Saves actual settings into the configuration

The bottom status-line

Pending traps


Details of this screen

The popup menu of the "Pending traps" window

Right-click on a connection to access this menu!
  Menuitem Shortcut(s) Meaning
  Cease selected pending alarm(s)   Selected alarms will be ceased.
  Forget selected pending alarm(s)   Selected alarms will be forgotten.
  Sort pending alarms by UID   Listed alarm will be sorted according to "UID" field.
  Sort pending alarms by Date&Time   Listed alarm will be sorted according to "date& time" field.
  Sort pending alarms by Type+UID   Listed alarm will be sorted according to "type" and "UID" fields.
  Sort pending alarms by Text+UID   Listed alarm will be sorted according to "text" and "UID" fields.
  Remove hilite (no selection)   Any selection will be removed.

Zabbix alarms

Optionally the Trapper module can write alarms into a daily CSV file as an input for the Zabbix agent. Each row in this file contains an alarm with the following structure:
   2023-09-07 06:52:27,CANCEL,16132,'Trapper  v1.31' module is started.

SNMP and Zabbix alarm level correlations:

SNMP level Zabbix level
INFO INFO
WARNING WARNING or MINOR (See "Note"!)
ERROR MAJOR
CRITICAL CRITICAL
CEASING CANCEL
Note: According to INI/[Zabbix]/bTranslateWARtoMINOR = "False" or "True"

Zabbix related configurations (Trapper.ini)

Notes:
Section Entry Example Meaning
[Zabbix]      
  sAlarmFile d:\ZabbixFiles\ZabbixAlarmFile.csv Path and name of the CSV containing zabbix-style alarms
  sArchiveFolder d:\ZabbixFiles\Archive Folder for archiving zabbix alarm files
  LowestAlarmLevelIncluded 4 Possible values:
  • 0 = none-at-all
  • 1 = CriticalError
  • 2 = Error
  • 3 = Warning
  • 4 = Info (i.e., all)
  bTranslateWARtoMINOR True Enables translation of WARNING level to MINOR level

Configuration (Trapper.ini) file settings

Section Entry Example Meaning
[Position]      
  iLeft 140 Position of the program module on the display screen
  iTop 72 Position of the program module on the display screen
  iWidth 995 Position of the program module on the display screen
  iHeight 694 Position of the program module on the display screen
[Options]      
  bAutoScroll True (Refer to the [Options]/Auto-query monitors menu item!)
[SNMP Traps]      
  bAllowAutoReadInput True (Refer to the [SNMP traps]/Check and load input queue menu item!)
  bGeneratePeriodicHeartBeats True (Refer to the [SNMP traps]/Generate periodic heart-beat traps menu item!)
  dwHeartBeatIntervalSec 15 The period of generating heart-beat SNMP traps
  bDoPeriodicHwCheck True (Refer to the [SNMP traps]/Do periodic hw checking menu item!)
  dwHwCheckIntervalSec 10 The period of hardware checking
  dwHwCheckNoRepeatSec 60 If a hardware error has already been reported in SNMP trap, and the error exists permanently at the next hardware check, the program sends the next SNMP trap for this error periodically at the specified time.
  bAllowSendToManager True (Refer to the [SNMP traps]/Send traps to SNMP manager menu item!)
[SNMP Traps Advanced]     Note: Entries in this section are checked and loaded on-the-fly at each HW check period (dwHwCheckIntervalSec).
  sManagerIPAddress 40.30.20.10 The IP address of the SNMP manager
Note: This entry is checked and loaded at each trap sending.
  dw_WAR_BelowFreeKBytesOnDriveX 1000000 The X can vary between A and Z. The program sends warning trap, if the free space on the specified drive decreases below this value.
  dw_ERR_BelowFreeKBytesOnDriveX 500000 The X can vary between A and Z. The program sends error trap, if the free space on the specified drive decreases below this value.
  dw_CRI_BelowFreeKBytesOnDriveX 100000 The X can vary between A and Z. The program sends critical error trap, if the free space on the specified drive decreases below this value.
  dw_WAR_BelowFreeKBytesOfPhysicalRAM 25000 The program sends warning trap, if the free physical memory decreases below this value.
  w_ERR_BelowFreeKBytesOfPhysicalRAM 10000 The program sends error trap, if the free physical memory decreases below this value.
  dw_CRI_BelowFreeKBytesOfPhysicalRAM 5000 The program sends critical error trap, if the free physical memory decreases below this value.
  by_WAR_AboveMemoryLoadPercent 70 The program sends warning trap, if the load of memory increases above this value.
  by_ERR_AboveMemoryLoadPercent 80 The program sends error trap, if the load of memory increases above this value.
  by_CRI_AboveMemoryLoadPercent 90 The program sends critical error trap, if the load of memory increases above this value.
[Zabbix]      
  sAlarmFile d:\ZabbixFiles\ZabbixAlarmFile.csv Path and name of the CSV containing zabbix-style alarms
  sArchiveFolder d:\ZabbixFiles\Archive Folder for archiving zabbix alarm files
  LowestAlarmLevelIncluded 4 Possible values:
  • 0 = none-at-all
  • 1 = CriticalError
  • 2 = Error
  • 3 = Warning
  • 4 = Info (i.e., all)
  bTranslateWARtoMINOR True Enables translation of WARNING level to MINOR level
[SNMP Secondary Managers]     Note: Entries in this section are checked and loaded at each trap sending.
  sManagerIPAddressN 127.0.0.1 IP address of Nth secondary SNMP manager, where N can be from 2 to 9
  wRemoteUDPPortN 162 UDP port of Nth SNMP manager, where N can be from 2 to 9
[CheckDir #NN]     Directories can be defined here where count of files and total file size are being checked. NN can run between 00 and 99.
Note: Entries in this section are checked and loaded at each HW check period (dwHwCheckIntervalSec).
  sPath d:\Tmp Path of directory to be checked.
  by_WAR_AboveTotalSizeInKBytes 100000 Total file size limit which triggers a WARNING level alarm.
  by_ERR_AboveTotalSizeInKBytes 200000 Total file size limit which triggers an ERROR level alarm.
  by_CRI_AboveTotalSizeInKBytes 500000 Total file size limit which triggers a CRITICAL level alarm.
  by_WAR_AboveFileCount 100 Threshold for file count which causes a WARNING alarm
  by_ERR_AboveFileCount 200 Threshold for file count which causes an ERROR alarm
  by_CRI_AboveFileCount 500 Threshold for file count which causes a CRITICAL alarm
[Advanced]      
  sLocalIPAddress 10.20.30.40 Specifies the local IP address
  wRemoteUDPPort 163 Specifies the UDP port of the primary SNMP manager
  bCeaseBeforeSwitchingAlertLevel True Send a CEA SNMP trap before switching alert level (e.g., from WAR to CRI) for the very same error
  bAlternateTrapUID False Allows using fixed UIDs in SNMP traps (See SNMP trap list below for details)
  dwFixTrapUIDOffset 0 UID offset if bAlternateTrapUID=True
  wLogDetailLevel 3 (Equals to the listed order; refer to the [Log]/Details menu item!)
  dwMaxLinesInLogWindow 1000 Number of lines in the log window on screen
  sTrapFilesPath d:\TrapFiles Path for the SNMP Trap files to be sent
  sLogFilesPath d:\LogFiles Path for the LOG files (Previously it was sDataPath)
  bBoundParam3IsACounter False Type of ASN.1 tag Bound-param#3 (TrapID) is set to COUNTER if it is set to 'True' and INTEGER otherwise. (Defaults to "False"; actual setting is indicated on start-up.)
  bBoundParam7IsAnUnsigned False Type of ASN.1 tag Bound-param#3 (TrapUniqueID) is set to UNSIGNED32 if it is set to "True" and to INTEGER otherwise. (Defaults to "False"; actual setting is indicated on start-up.)
  bUseCalculatedMemoryLoad True If it is 'True' then calculated memory load is used at memory load checking instead of the Windows provided memory load value providing more precises alarming. (Defaults to "False"; actual setting is indicated on start-up.)
  uiGoodByeTrapUID 23 When bAlternateTrapUID = False then this parameter contains the UID of the CEASING alarm for the next start up of the module

SNMP MIB

The Management Information Base (stored in the Trapper.mib file and should be loaded on the Trap Manager) consists of the following traps:

All traps consist of the following nodes:

SNMP trap list

Type (UID) Text Remarks To Do
If bAlternateTrapUID is set to TRUE
{ WAR(1001) / ERR(1002) / CRI(1003) } /
CEA(1001), (1002), (1003)
Free physical memory has fallen downto [FreeRAMkBytes] kBytes! If [SNMP Traps] / bDoPeriodicHwCheck=True
Try to close some application to free memory, or restart the machine or put in more memory
{ WAR(1004) / ERR(1005) / CRI(1006) } /
CEA(1004), (1005), (1006)
Memory load has risen above [MemoryLoad]%! If [SNMP Traps] / bDoPeriodicHwCheck=True
Try to close some application to free memory, or restart the machine or set more virtual memory
{ WAR(1007) / ERR(1008) / CRI(1009) } /
CEA(1007), (1008), (1009)
Free disk space on drive '[DriveLetter]' has fallen downto [FreeDiskSpace] kBytes! If [SNMP Traps] / bDoPeriodicHwCheck=True Free up disk space for example by deleting logfiles (after necessary archiving)
{ CRI(1010) / ERR(1011) / WAR(1012) } /
CEA(1010), (1011), (1012)
Total file size in '[CheckDir #NN]' has reached [TotalSize] kBytes! If [SNMP Traps] / bDoPeriodicHwCheck=True Check whether files in the concerned directory are necessary.
{ CRI(1013) / ERR(1014) / WAR(1015) } /
CEA(1013), (1014), (1015)
File count in '[CheckDir #NN]' has reached [FileCount]! If [SNMP Traps] / bDoPeriodicHwCheck=True Check the number of files in the concerned directory and delete the unnecessary ones.
INF(0) Another [HeartBeatIntervalSec] seconds of life have elapsed. If [SNMP Traps] / bGeneratePeriodicHeartBeats=True Check if the machine is alive by looking at it
ERR(1) '[MAINCAPTION]' has been shut down by operator.   Start the '[MAINCAPTION]' module
CEA(1) '[MAINCAPTION]' module is started.    
If bAlternateTrapUID is set to FALSE
{ WAR(++N) / ERR(++N) / CRI(++N) } /
CEA(N), (N), (N)
Free physical memory has fallen downto [FreeRAMkBytes] kBytes! If [SNMP Traps] / bDoPeriodicHwCheck=True
If an alert changes its level, its UID won't change
Try to close some application to free memory, or restart the machine or put in more memory
{ WAR(++N) / ERR(++N) / CRI(++N) } /
CEA(N), (N), (N)
Memory load has risen above [MemoryLoad]%! If [SNMP Traps] / bDoPeriodicHwCheck=True
If an alert changes its level, its UID won't change
Try to close some application to free memory, or restart the machine or set more virtual memory
{ WAR(++N) / ERR(++N) / CRI(++N) } /
CEA(N), (N), (N)
Free disk space on drive '[DriveLetter]' has fallen downto [FreeDiskSpace] kBytes! If [SNMP Traps] / bDoPeriodicHwCheck=True
If an alert changes its level, its UID won't change
Free disk space for example by deleting logfiles (after necessary archiving)
{ CRI(++N) / ERR(++N) / WAR(++N) } /
CEA(N), (N), (N)
Total file size in '[CheckDir #NN]' has reached [TotalSize] kBytes! If [SNMP Traps] / bDoPeriodicHwCheck=True Check whether files in the concerned directory are necessary.
{ CRI(++N) / ERR(++N) / WAR(++N) } /
CEA(N), (N), (N)
File count in '[CheckDir #NN]' has reached [FileCount]! If [SNMP Traps] / bDoPeriodicHwCheck=True Check the number of files in the concerned directory and delete the unnecessary ones.
INF(0) Another [HeartBeatIntervalSec] seconds of life have elapsed. If [SNMP Traps] / bGeneratePeriodicHeartBeats=True Check if the machine is alive by looking at it
CRI(N++) '[MAINCAPTION]' has been shut down by operator.   Start the '[MAINCAPTION]' module
CEA(N) '[MAINCAPTION]' module is started.    

Automatic hardware checking feature

Version history

Known bugs