bg

Online help | SNMP Data Logger

About SNMP Data Logger

SNMP is a network management protocol based on the TCP/IP architecture. This technology is used to provide management and control over devices and applications on the network by means of management information exchange between agents located on network devices and managers located on control stations. Usually, SNMP agents send management information to control systems in the form of variables (such as "free memory", "system name", "the number of running processes"). Our program allows you to receive a list of variables and their values and log them for further analysis. Depending on the values of these variables, you can generate signals and warnings.

 

SNMP Data Logger custom processes the data to your needs, aggregates and writes real-time data to a text or binary file, MSSQL, MySQL, Access, Oracle or ODBC compatible database, DDE, Excel or to other targets.

 

What problems can be solved with SNMP Data Logger?

 

SNMP Data Logger comes with built-in notification or even scripting capabilities. In the case that anything remarkable is found in any of SNMP variable values that the program is currently monitoring, it could simply send off an email or even execute another action. This saves administrators a lot of tedious labor in monitoring many network devices.

 

Key features of SNMP Data Logger are:

 

Multiple SNMP agents. Capability to log data from multiple SNMP agents at the same time. You may use fully different connection and data export settings for each agent;

SNMPv1. Our software supports all data types of the Abstract Syntax Notation One (ASN.1) and uses GetRequest, GetNextRequest requests to retrieve data;

MIB-II support. Can retrieve variable name list from a remote device;

Extended logging features. Can output received data to formatted log files. Supports date/time stamping;

Fast multi-threaded, optimized and efficient architecture;

Data filters. Allow you filter, format, aggregate your data. You may define simple rules or use powerful regular expressions;

Real-time export capabilities. SNMP Data Logger can run as a DDE server export OPC data to old applications;

MS Excel. Data export to ready-to-use MS Excel files;

Databases support. Exporting data to MSSQL, MySQL, ODBC-compatible database (MS SQL, Oracle, MS Access, dBase and others);

Plugins. Many free plugin modules that are extending program features;

Simple, dialog-driven step by step set-up Programming is not required to configure the software to collect data;

It supports various operating systems. The logger runs on all versions starting from Windows 2000, including 32 and 64-bit systems.

Windows service mode. Unlike most other serial logging applications, SNMP Data Logger can run as a service so that it starts as soon as the operating system starts and doesn't require a user to log in and run it. It will continue to run even as users logon and logoff the workstation.

 

It is extremely easy to use! The configuration process is fully menu-driven and has complete, context-sensitive, online help. You can easily customize all input to your exact specifications. Once you see how easy it is to use SNMP Data Logger, you will never again take data readings by hand!

 

Company home page: https://www.aggsoft.com/

Software home page: https://www.aggsoft.com/snmp-data-logger/

Glossary

ASCII - An acronym for American Standard Code for Information Interchange. ASCII files are plain, unformatted text files that are understood by virtually any computer. Windows Notepad and virtually any word processor can read and create ASCII files. ASCII files usually have the ".TXT" extension (e.g., README.TXT).

 

Binary File - A file that contains data or program instructions written in ASCII and extended ASCII characters.

 

Bit - A binary digit in the binary numbering system. Its value can be 0 or 1. In an 8-bit character scheme, it takes 8 bits to make a byte (character) of data.

 

Bytes - A collection of eight bits that represent a character, letter or punctuation mark.

 

Cable - Transmission medium of copper wire or optical fiber wrapped in a protective cover.

 

Client/Server - A networking system in which one or more file servers (Server) provide services; such as network management, application, and centralized data storage for workstations (Clients).

 

 

PC - abbreviation for a Personal Computer.

 

Ports - is a connection point for a cable.

 

Protocol - is a formal description of a set of rules and conventions that govern how devices on a network exchange information.

 

System requirements

Windows 2000 Professional - Windows 10 (2019), including x64 and x86 OS, Workstation, and Server OS.

 

Installation process

If any beta-version was installed on your computer, remove it.

 

Quit of the working SNMP Data Logger on installation time.

 

Run an installation file.

 

By default, the installation wizard installs SNMP Data Logger in the "C:\Programs Files\SNMP Data Logger" or "C:\Programs Files (x86)\SNMP Data Logger" directory of your system disk, but you can change this path.

 

In the standard distributive of SNMP Data Logger are no additional modules files, which you can download from our site.

Getting started

After you have successfully installed SNMP Data Logger, use the following simple steps to configure and run it.

 

Open the SNMP Data Logger program from the Start Menu.

 

At program run, you get into the main program window (fig. 1), main elements of which are the main menu, the data window, the program messages list, and the status bar.

-The data window shows incoming data before or after processing. You can configure the data view mode in the settings

-The drop-down box at the bottom shows all logged program info, warning, and error messages.

-The status bar shows the current state of the selected data source, errors on the data interface, and how many bytes were sent or received.

-The toolbar above the data window provides fast access to the configuration.

-The main menu above the toolbar allows you to edit the program settings ("Options - Program settings..."), manage configurations, open the current logfile from the "File" menu (fig. 2).

 

 

Main program window

Fig. 1. Main program window

 

 

File menu item

Fig. 2. "File" menu item

 

By default (after installation), the program has not any data sources configured. If the list of data sources on the toolbar is empty, then the program will ask you to add a new configuration. Otherwise, the program will fill in the list of data sources and try to start logging of data sources configured. Yes, of course, all your settings are being saved while exiting from the program and loaded during the program start.

 

Set-Up is as Easy as 1-2-3

 

Step 1. Configure one or more data sources.

 

Click the "Add configuration" button on the toolbar with a big green plus and choose . The  "SNMP" tab of the "Configuration options" dialog lets you configure your settings.

 

Step 2. Configure log file.

Select the "Log file" header in the configuration dialog window and enable logging for a necessary data direction.

 

Step 3. Define how you want the SNMPyour data to be filtered and exported .

 

The "Plugin" button on the toolbar in the main window or "Modules" tab in the dialog window lets you specify how to parse, filter and format your data to the fit the exact format required by your application. It also lets you pre-define automatic output strings to be sent to an external device.

 

Now, the program process and exports data from one or multiple data sources.

Introduction

 

SNMP Data Logger can save data to a log file(s) without any changes (i.e., create raw binary log files) or write to log files depending on the parser module selected. In the first case, you can view the log file with any hex editor and use this data for further analysis and remaking. In the second case, you can view data with any text editor. You can find more information about log files in the "Log rotation" chapter.

 

You can watch the data in the data window (fig. 1). The data view is fully customizable. You can watch data in decimal, hexadecimal, or your format. How to customize data view you can read in the "Data view" chapter and how to customize program view you can read in the "Window view" chapter.

 

The data can be exported or transferred to one or more targets. The simplest way is to configure the log file rotation. However, it is small a part of all features of SNMP Data Logger. SNMP Data Logger has many additional modules (so-called plugins) that are appreciably extending possibilities of the logging software. You can download and install any module supported. Most modules are free of charge for our customers. How to install and configure modules you can read in the "Modules" chapter.

 

The program and their plugins generate many messages and write them to the list in the main window (fig. 1) and a protocol file that you can use for administration of the software. You can also configure types of system messages. More information about it you can read in the "Protocol and errors handling" chapter.

Data flow diagram

This diagram may help you to understand the flow of data within our software and a place of each module. The following chapters describe all plugin types.

 

Data flow diagram

Fig. 3. Data flow diagram

 

History:

 

       - The flow of binary data (RAW, unformatted data).

 

       - The parsed data (formatted data). The data flow is separated into data packets and variables. Each data packet can be interpreted as a row, and each variable can be interpreted as a column.

 

Wires with other colors mark other relations with the unstructured data flow.

Work complete

The program saves all settings to the Windows registry when it stops working. All opened data sources will be automatically closed (unlocked, unallocated, or fried).

Useful advices

1. Look through hint helps on all window elements - it may help you to get a picture of this element's function.

 

2. You can change all program settings without restarting the program. To transfer settings to another computer, you can do the following:

 

1.Create a configuration backup from the "File" menu and restore it using the same menu.

2.Alternatively, export the registry node with all program settings. Start regedit.exe and export the following registry node:

 

on Windows x64

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AGG Software\SNMP Data Logger

 

on Windows x32

HKEY_LOCAL_MACHINE\SOFTWARE\AGG Software\SNMP Data Logger

 

3. On another computer import settings to the Windows registry.

 

Many main window elements have "hot" keys for quick access to its functions.

Ctrl+S - analogs to click on "Start/Pause" button on the toolbar.

Ctrl+C - analogs to click on "Clear" button on the toolbar.

Ctrl+P - opens the window with the configuration settings.

Ctrl+L - opens the window with the log file settings.

Ctrl+W - allows you to configure the data view mode.

Ctrl+R - shows the window with the program settings.

Ctrl+E - shows the Windows 2000+ service settings.

Ctrl+M - here you can configure data query plugins, data parser, and other plugins.

 

4. You can look at the summary statistic that contains summary about sent and received data, created files, etc. (View - Statistics)

 

5. You can save program settings to an INI file. It may help to install and use several copies of the program. You can make your choice from the "Options" menu.

 

6. The program window can display only the last 10 messages. The full program log file (if activated) you can open using the "File - View program protocol file" menu item.

SNMP data source

After the program is started, its configuration is analyzed and the list of active groups is formed. After that, the program is switched into the mode of reading variables from remote devices via the SNMP protocol. The following operations are carried out for every group:

 

1.If it is time to read variables, the program switches to step 2. Otherwise, the program waits for a time to start a data query;

2.The program receives the value for every variable in the group. If the value is not received, an error message is written to the log file;

3.If "Wait till all items are updated" is enabled the program checks if the values of the variables have changed. If the values of all variables have not changed, the program moves on to step 1. Otherwise, it moves to step 4;

4.Variables are exported depend on the group properties.

Group and variable tree

Group and variable tree

Fig. 4. Group and variable tree

 

You can see the group and variable tree in fig. 4. The program uses this information to query data. You can create any number of groups and any number of variables in each group. Note that you should add groups and variables with names that are not in the list yet.

 

Data source name – the name shown in the program. The name must be unique; otherwise, you will not be able to save the settings. Specify any number of ASCII characters in this field. The default is Data source #<Number>.

 

Group and variable tree – the tree contains groups with variables included in them which the program operates. The tree is empty by default.

 

Action – actions with the group and variable tree. A click on this button opens the menu shown in fig. 5 (a similar menu will appear if you right-click the tree).

 

Actions with groups and variables

Fig. 5. Actions with groups and variables

 

Add group... – add a new group. If you select this item, you will see the dialog box with the default group properties. Fill out the necessary fields in this dialog box and click "OK". If a group with this name already exists, you will see a warning on the screen and will not be able to save the group.

 

Add variable... – add a new variable to the current group. If you select this item, you will see the dialog box with the default item properties. Specify the necessary values in this dialog box and click "OK." If the new variable is unique, it will be saved and appear in the tree. Otherwise, you will see a warning on the screen, and you will not be able to save the variable.

 

Delete – delete the current group of variables. If you select a group or several groups, you will see the deletion confirmation dialog box on the screen. If you click "Yes," the selected groups, together with variables included in them, will be permanently deleted. If you select one or several variables, you will also see the deletion confirmation dialog box on the screen.

 

Edit... – edit the selected group or item (variable). Depending on what is currently selected in the tree, you will see the Group properties or Item properties dialog box. After you edit the necessary fields, click "OK," and the properties will be saved.

 

Clone... – copy the selected variable (item). You will see the same item properties dialog box as in the edit mode.

 

Info... – show information about the selected group or variable. If you select this item, you will see the same dialog box as the "Add group" or "Add item" dialog box. However, you will not be able to edit any of the fields. It is used to view the properties and to protect them against accidental change. It is unavailable if the tree is empty.

 

Up – move the current group or variable one position up. It is unavailable if the current group or variable is at the beginning.

 

Down – move the current group or variable one position down. It is unavailable if the current group or variable is at the end.

 

Note: The program checks if this variable exists on the server when you launch the program. If the variable does not exist, it will be marked in the tree with the help of a red exclamation mark.

Group properties

Group properties

Fig. 6. Group properties

 

Name – a set of characters serving as the name of the group. ATTENTION: The group name must be unique, or the properties will not be saved. The default is Group <Number>.

 

Update rate (msec) – this property defines how often the variables will be read from the SNMP device. The default is 1000, i.e., 1 second.

 

Active - enable/disable reading the values of the variable from the SNMP device. It is enabled by default.

 

Wait till all items are updated – if it is enabled, the program will export the variables from the group only if the values of all variables in the group have been updated since the data was read last time. For example, if there are two variables in the group, the program will read the values of the variables until the values of both variables change as compared to their previous value. In this case, the program exports the last received value (for example, if the value of the first variable changes at once but the program has to wait several seconds or minutes for the value of the second one to change and the value of the first variable changes several times during this period). It is enabled by default.

 

Export all items at once – if this option is enabled, all variables are exported as one string of data. If this option is disabled, each value is exported in a separate string. With this option disabled, it is convenient to export a large number of values defined in the group.

 

Add server name to item name – if it is enabled, the server name is added to the variable name being exported. It is enabled by default.

 

Don't export NULL or empty values – the checkbox allows you not to export variables with null values. If it is enabled, variables that have null values in this group will not be exported. If it is disabled, the null value of a variable is not taken into account. It is enabled by default.

 

Export one row for all changed items – if this option is disabled, the names and values being exported will be sent to a data export plugins in the form of the following strings: ITEM_NAME[<String type>]="<Variable name>"; ITEM_VALUE[<Value type>] = "<Value>". It is disabled by default (the checkbox is set).

 

Example:

ITEM_NAME[256]=".iso.org.dod.internet.private.enterprises.2162.1.2.0";ITEM_VALUE[8]="computerName"

ITEM_NAME[256]=".iso.org.dod.internet.private.enterprises.2162.1.3.0";ITEM_VALUE[8]="1"

 

This export method is convenient when you need to export a large number of values. For example, two columns in the database are enough to save the values of all variables in this case.

 

Export date/time stamp – if this option is enabled, the date and time are added before the string being exported as it is described in the previous property. It is unavailable if the previous option is not enabled. It is disabled by default.

 

Example:

ITEM_DATETIME_STAMP[7]=01.03.2010 15:52:00;ITEM_NAME[256]=".iso.org.dod.internet.private.enterprises.2162.1.2.0";ITEM_VALUE[8]="computerName"

ITEM_DATETIME_STAMP[7]=01.03.2010 15:52:00;ITEM_NAME[256]=".iso.org.dod.internet.private.enterprises.2162.1.3.0";ITEM_VALUE[8]="1"

 

Export at fixed interval – if this checkbox enabled then the program will export all variables in the group periodically, even if a tag value isn't changed. You may export data by fixed interval, at a fixed time or define a flexible schedule using the "Cron" time format.

Item properties

Item properties

Fig. 7. Item properties

 

Host (name or IP) – the name or IP address of the device the values of the variables are read from. You can enter either URL (for example, www.aggsoft.com) or the IP address (for example, 192.168.1.1). The field stores the last 10 entered values, so if the name is the same for different variables, you can select it from the list. The default is localhost.

 

Port – the port the program uses to connect to the device (previous property). The default is 161.

 

Community – the group of variables on the remote SNMP device. The default is public. Note: The community with the "public" name is set on the remote device by default. The network administrator can change this name for any other name for security reasons. The field stores the last 10 entered values as well.

 

Get variables – refresh the variables in the "Variable" drop-down list (see below). If the remote device does not exist, if you enter an invalid port, or if you specify a non-existing community, you will see a warning on the screen.

 

Base OID – the base group of SNMP variables on the remote device. The program will start getting variable names for the "Variable" list from this group and below. The default is ".1.3.6.1.2.1". All MIB-II variable names begin with this value. More detailed information about MIB (Management Information Base) you can find here. If you specify an invalid value here, then the program will return an empty list of variables.

 

Name – the name of the variable on the remote device. You can type it manually or select it from the list. To fill the list with variables, click the "Get variables" button. The field is empty by default. You can see sample variables in fig. 7. You can enter either a numeric path or a symbolic path for the standard (.iso.org.dod.internet.private.enterprises) variable location. You can also combine symbolic and numeric methods. The name should always begin with a dot symbol.

 

Data type – the type of data in the variable being read. If the "Variable" list is filled and you select a variable from the list, the data type of the selected variable will automatically appear in this field. The default is Null.

 

Export name – if you specify any name in this field, this value will be used during export instead of the variable name. By default, the string is empty.

SNMP traps

We recommend adding a new group to capture SNMP traps because it allows you to define different settings (fig. 8).

 

Please, configure the group settings as shown below. The program will process and export all received traps.

 

Group properties for SNMP traps

Fig. 8. Group properties for SNMP traps

 

The configuration group for SNMP traps must include at least one item with a special masked OID ".*" (without quotes). This OID instructs the program to export all available values from a received SNMP trap (fig. 9).

 

Host - the IP address of your computer. The IP address "0.0.0.0" means that the program will automatically detect the IP address.

 

Port - it is the IP port to receive traps. The default value is 162.

 

Community - SNMP community.

 

Version - select "SNMPv2 Trap" here. This option enables receiving of SNMP traps.

 

Data type - you can leave the "Undefined" data type for the masked OID.

 

Export name - the name does not matter for the masked OID, and the program will always use the full OID as an export name.

 

Item properties for SNMP traps

Fig. 9. Item properties for SNMP traps

 

If you need to export only selected values, specify an export name or a data type, you can add one or more items to the group with a full OID of necessary values.

 

All items in the group should have an identical host address, port number, and community.

 

The program automatically adds the following export variables for every V2 trap:

 

DATE_TIME_STAMP - date and time stamp when the program received a trap.

TRAP_ID - Trap ID.

TRAP_ERROR_STATUS - Error status code (device dependent).

TRAP_ERROR_INDEX - Error index (device dependent).

 

The program automatically adds the following export variables for every old-style V1 trap:

 

DATE_TIME_STAMP - date and time stamp when the program received a trap.

TRAP_GENERIC - Generic trap type.

TRAP_SPECIFIC - Specific trap type.

TRAP_TICKS - Device sends a trap timestamp.

TRAP_HOST - Device sends a host name.

Substitute characters

We added support for substitute characters to make it easier for you to configure data reading from multiple identical devices or multiple table rows. You can use the substitute characters in a group name, an OID, an IP address, or a variable description (export name).

 

Say, your router contains the routing table “Mgmt/MIB-2/Interfaces/Table” with the OID “.1.3.6.1.2.1.2.2”; each row in the table corresponds to a network interface of the router (which may have 1, 2, 3, or more network interfaces.).

 

For example, the first table column is an interface description field with the name “Mgmt/MIB-2/Interfaces/Table/Entry/Descr” and the OID “.1.3.6.1.2.1.2.2.1.2.X”

 

The OID of the first table row is “.1.3.6.1.2.1.2.2.1.2.1”; the last digit in the OID is the row number in the data array, that is, the index. You can replace the index with a substitute character to specify which rows you want to get:

 

Example 1: .1.3.6.1.2.1.2.2.1.2.{ENTRY:1-7}

 

In this case, the program will read the table rows from 1 to 7.

 

Example 2: .1.3.6.1.2.1.2.2.1.2.{ENTRY:1,3,5,7}

 

In this case, the program will read the table rows 1, 3, 5, and 7.

 

Similarly, you can use substitute characters in the IP address of the server from which you are reading data. Say, you have three identical devices with the IP addresses 192.168.1.10, 192.168.1.11, and 192.168.1.12 in your network, and want to get identical data from all of them. You can create a single group of variables, add the necessary variables to it, and specify the IP address in the form 192.168.1.{SUBNET:10-12}.

 

Using substitute characters in variable properties

Fig. 10. Using substitute characters in variable properties

 

If you want to use substitute characters in a variable description or a group name, it will be slightly different. In this case, you should only specify the substitute character name, without any additional indexes. The substitute character will be replaced by the index from the corresponding substitute character in the “IP address” or “OID” field.

 

Say, if the group name is Group 192.168.1.{SUBNET} - Entry {ENTRY}, it will become 192.168.1.10 - Entry 1 when the data are exported.

 

If the variable description (export name) is Descr{ENTRY}, it will become Descr1 when the data are exported.

 

Using substitute characters in group properties

Fig. 11. Using substitute characters in group properties

 

Please note that if you use substitute characters in group names, new groups will be automatically created for each unique group name when the data are read. The data for the new groups will be read concurrently with the data for the other groups. This approach speeds up the data polling but requires more computer resources.

Cron time format

The CRON format is a simple yet powerful way to describe time and operation periodicity. The traditional (inherited from the Unix world) CRON format consists of five fields separated with spaces:

 

<Second> <Minutes> <Hours> <Month days> <Months> <Weekdays>

 

Any of the five fields can contain the * (asterisk) character as its value. It stands for the entire range of possible values. For example, every minute, every hour and so on. In the first four fields, you can also use the proprietary "?" (w/o quotes) character. See its description below.

 

Any field can contain a list of comma-separated values (for example, 1,3,7) or an interval (subrange) of values defined by a hyphen (for example, 1-5).

 

You can use the / character after the asterisk (*) or after an interval to specify the value increment. For example, you can use 0-23/2 in the "Hours" field to specify that the operation should be carried out every two hours (old version analog: 0,2,4,6,8,10,12,14,16,18,20,22). The value */4 in the "Minutes" field means that the operations must be carried out every four minutes. 1-30/3 is the same as 1,4,7,10,13,16,19,22,25,28.

 

You can use three-word abbreviations in the "Months" (Jan, Feb, ..., Dec) and "Weekdays" (Mon, Tue, ..., Sun) fields instead of numbers.

 

Examples

 

Note: the <Second> field equal 0 in all examples

 

Format

Description

* * * * *

every minute

59 23 31 12 5

one minute before the end of the year if the last day in the year is Friday

59 23 31 Dec Fri

one minute before the end of the year if the last day in the year is Friday (one more variant)

45 17 7 6 *

every year on the 7th of June at 17:45

0,15,30,45 0,6,12,18 1,15,31 * 1-5 *

00:00, 00:15, 00:30, 00:45, 06:00, 06:15, 06:30, 06:45, 12:00, 12:15, 12:30, 12:45, 18:00, 18:15, 18:30, 18:45, if it is the 1st, 15th or 31st of any month and only on workdays

*/15 */6 1,15,31 * 1-5

00:00, 00:15, 00:30, 00:45, 06:00, 06:15, 06:30, 06:45, 12:00, 12:15, 12:30, 12:45, 18:00, 18:15, 18:30, 18:45, if it is the 1st, 15th or 31st of any month and only on workdays (one more variant)

0 12 * * 1-5 (0 12 * * Mon-Fri)

at noon on workdays

* * * 1,3,5,7,9,11 *

every minute in January, March, May, July, September, and November

1,2,3,5,20-25,30-35,59 23 31 12 *

on the last day of the year at 23:01, 23:02, 23:03, 23:05, 23:20, 23:21, 23:22, 23:23, 23:24, 23:25, 23:30, 23:31, 23:32, 23:33, 23:34, 23:35, 23:59

0 9 1-7 * 1

on the first Monday of every month at 9 in the morning

0 0 1 * *

at midnight on the 1st of every month

* 0-11 * *

every minute till noon

* * * 1,2,3 *

every minute in January, February, and March

* * * Jan,Feb,Mar *

every minute in January, February, and March

0 0 * * *

every day at midnight

0 0 * * 3

every Wednesday at midnight

 

You can use the proprietary "?" character in the first four fields of the CRON format. It stands for the start time, i.e., the question mark will be replaced with the start time during the field processing: minute for the minute field, hour for the "Hours" field, month day for the month day field, and month for the month field.

 

For example, if you specify:

 

? ? * * *

 

The task will be run at the moment of startup and will continue being run simultaneously (if the user does not restart the program again, of course) – the question marks are replaced with the time the program was started at. For example, if you start the program at 8:25, the questions marks will be replaced like this:

 

25 8 * * * *

 

Here are some more examples:

 

? ? ? ? * - run _only_ at startup;

? * * * * - run at startup (for example, at 10:15) and continue being run in exactly one hour: at 11:15, 12:15, 13:15 and so on;

* ? * * * - run every minute during the startup hour;

*/5 ? * * * - run on the next day (if CRON is not restarted) at the same hour every minute and so on every day, once in five minutes, during the startup hour.

Data view change

 

options-data-view-mode

Fig. 12. Data view

 

Data view settings, that can be configured on the "Data view" tab:

 

1.View characters with code - the program can interpret and decode bytes as characters. You can select decoding mode for each range of character codes. If the range doesn't have the corresponding character, that's why these data can be displayed only in hexadecimal and decimal code.

2.You can set up the user's format to display a data byte. The directive %d shows to display a decimal code, the directive %x - hex code. You can set any framing characters before/after the user format.

3.Highlight data sent on screen - a string with sent data will be highlighted by the selected color.

4.Character set - allows you to define the character set of incoming data. Windows - Windows ANSI character set, DOS - OEM character set.

5.Data source custom color - if you've created several configurations then you can define a custom color for each data source that allows you to distinguish data flows on the "All data" page in the main window.

6.Split strings by data timeout - this option allows visually splitting data packets in the program window. Data packets that will be received after the specified interval will be shown on a new line. If this value is set to 0, then data packets will not be split.

7.Split continuous data blocks large than - this option allows visually splitting continuous data flow in the program window. The program will show data on a new line if continuous data is longer than the specified number of bytes.

8.Split by characters - this option allows to visually splitting continuous data flow in the program window using the specified symbols. For example (fig. 12), the program will use a character with the 0Ah hexadecimal code that is equal to the "LF" ASCII code.

Date/time configuration

This group of options (fig. 13) allows you to configure how timestamps appear in the log file and on the screen. You can configure the stamp format in the program options.

 

Time stamp configuration

Fig. 13. Time stamp configuration

 

Add to display output for data sent - the time stamp will be added for the sent data displayed on the screen. The stamp will be added according to the timeout (if the data flow is uninterrupted) or when a data packet is sent.

 

Add to display output for data received - the same but for the received data.

 

Add if data direction has been changed - if the program is sending and receiving data, the time stamp will be also added when the data transfer direction changes (sending/receiving).

 

Add for data packets - if the data is displayed after it is processed, the stamp will be added to each processed data packet.

 

Add at begin of file - the stamp will be added at the beginning of every new log file.

 

Stamp timeout - if the data flow is uninterrupted, the stamp will be added regularly at the interval specified in milliseconds.

 

File prefix/postfix character(s) - the program will use these characters instead of those specified in the program options while writing data to a file. For example, it allows you to add the new line character or another sequence of characters before or after the stamp. Example: >#0D#0A

Name and security

This group of options (fig. 14) allows you to configure the following parameters:

 

Friendly name - this name will be added before the port number or the data source in the drop-down list in the main window of the program. It allows you to describe the data source.

 

Start logging automatically - if this option is enabled the program will start receiving and logging data automatically when it is launched.

 

The "Security" option group allows you to protect user operations in this particular configuration with a password. You can specify advanced security options applied to the entire program in the program options.

 

Ask password before start and stop - the password will be required when the user clicks the "Start/Pause" button in the main window of the program.

 

Ask password before configuration edit - the password will be required when the user tries to open the Configuration options dialog box.

 

Name and security

Fig. 14. Name and security

Log rotation

The main function of SNMP Data Logger is logging data to a file (so-called, log file). The "Log rotation" tab has a rich set of options for it. (fig. 15).

 

Log-file forming modes

Fig. 15. Log-file forming modes

 

First of all, select log file what you can configure:

 

Log file for data received - all data received will be saved using these settings.

Log file for data sent - these settings will be used to save sent data. If you want to save data to the same file, as data received, then select the "Log file rotation for data sent" option from the list and enable two options: "Create log files on disk" and "Write to log for data received." Of course, you should configure a log rotation for data received before.

 

Set the "Create log file on disk" option to the checked state. Then you can set path to a folder, where files will be created with the help of a dialog window, which will be showed up after clicking a button with the "Folder" picture. You should select a necessary folder in the dialog window and click the "OK" button.

 

Log file path - the full path to a local or network folder, where the program will create new log files. The network path should be specified as: \\COMPUTER NAME\Folder\

 

Note: If the program works with network files, it greatly increases data flow through your network and decreases writing speed. Please, consider creating small log files. If your incoming data flow is fast, you may create log files locally. Later, you may sync a local folder with a remote folder using any 3rd party utility.

 

A log file name can be stamped with date and time. In this case, a new log file is created periodically. The format of a timestamp depends on the selected period. For instance, if the "File name prefix" field is set to "sample," the "File extension" field to "log," and the "File name format" option is "Daily," then each log file created will have the format "sampleYYYYMMDD.log". On March 21st, 2003, the log file will be "sample20030321.log". Please, note, that the final extension (after the final period), remains at the end of the file name.

 

Write to log - the option allows you to select when the program writes data to a log file. This feature is disabled in some loggers, and if the parser plugin is not available.

 

Before parsing - the program saves all incoming data without any modifications. If an external device sends binary data, the logger will create binary files.

After parsing - the program saves data after parsing. Generally, it is a parsed data packet.

After filtering - the program saves data after all filter plugins. The logger saves the content of the "FULL_DATA_PACKET" variable. A filter plugin may transform or fully change the variable. If you do not use any filter plugin, then this mode works as the previous.

Screen content - the program saves data to a log file as you see it in the main window. Generally, it is text content; therefore, the program creates a text log file.

 

The log rotation mode is defined by the following key parameters:

 

File name prefix - the text string, which will be added at file name beginning. The prefix may contain special placeholders like {NAME}. If you create log files before parsing the NAME can be any date formatting values below. For example: "data{YYYY}_{MM}_{DD}" returns a prefix like "data2019_01_01". If you create log files after parsing or filtering, you may use any parser variable. Then the file name may depend on some value in your incoming data.

File name extension - the text string, which will be a file extension (characters after the dot).

 

Limit size - the "Limit size" field specifies the maximum size in kilobytes of any log file. If you specify the zero file size, then the file size is not limited.

 

You may select from the following modes:

 

1.Clear file - if the log file size will exceed the limit specified, then the log file content will be deleted, and file filling will start from the beginning.

2.Rename old - if the log file size will exceed the limit specified, then the existing log file will be renamed.

3.Shift (no threshold) - the older data over the limit specified will be removed from the log file.

4.Shift (with threshold) - in this mode the program will wait when the file size will exceed the limit specified + the threshold value. After this, the older data over the limit specified will be removed from the log file.

 

If the program continuously works for a long time, it is possible that the log file will have a large size and this file will be inconvenient for looking and analyzing. Therefore, there is the possibility to create files in dependence with the time on a computer. You can select one variant predefined or set up a new one:

 

Daily - the file will be created with a name containing a prefix, and date in format DDMMYYYY, where DD is two-digit day sign, MM is two-digit month sign, and YYYY is four digits of the current year. The filename extension will be added at the end of the file.

Monthly - the file will be created with a name containing a prefix, and date in MMYYYY format. The filename extension will be added at the end of the file.

Each data packet in different file - in this mode, the program splits data flow to a different file. In this mode you should configure the parser or the program will split a data by timeout about 300 milliseconds.

Don't create new file - in this mode, the program will write all data to one file. It is recommended for a small data flow. Otherwise, your log file will be too big, and a performance of the program will fall down.

User's format - a file will be created with a name containing a prefix and date in showed by you format (for example, DDMMYYYY). The filename extension will be added at the end of the file. The file may not contain format signs, then file name will be constant. You should not use characters, that the OS doesn't allow in a file name, such as "/,\.*,?" and some others.

Weekly - create a new file every week. The file name will contain a week number.

After data timeout - the program will create a new file if the program didn't receive any data at the specified interval.

Hourly - the file will be created with a name containing a prefix, and date in format YYYYMMDDHH, where HH is two-digit hour sign, DD is two-digit day sign, MM is two-digit month sign and YYYY is four digits of the current year. The filename extension will be added at the end of the file.

Constantly named file - the current log file will have a constant name. When creating a new file, the existing log file will be saved using the new file name that will contain a date and time stamp.

 

If you need to create a new log file under more complex conditions, then you can try the additional "Scheduler & Hotkeys" plugin. You should download and install it separately.

 

Date and time formatting codes:

 

D        - a day number (1-31).

DD        - a day number with a leading zero (01-31).

DDD        - a day of the week in the text form (Mon-Sat), according to the regional settings on this computer.

DDDD        - a day of the week in the full text form (Monday-Saturday), according to the regional settings on this computer.

M        - a month number (1-12).

MM        - a month with a leading zero (01-12).

MMM        - a month name in the text form (Jan-Dec), according to the regional settings on this computer.

MMMM        - the full month name (January- December).

YY        - last two digits of the year (00-99).

YYYY        - the full year number (0000-9999).

H        - the hour number (0-23).

HH        - the hour number with a leading zero (00-23).

N        - minutes (0-59)

NN        - minutes with a leading zero (00-59).

S        - seconds (0-59).

SS        - seconds with a leading zero (00-59).

W        - ISO week number (Monday is the start of the week).

WW        - week number (the start of the week is defined in System - Regional settings).

 

To insert arbitrary text or a symbol into a date or time format, and to prevent it from being accidentally replaced with some value, you need to use quotes:

 

YYYY"/"MM"/"DD - 2023/01/01

YYYY"/"MM"/"DD"T"HH:NN:SS - 2023/01/01THH:NN:SS

 

Addinal parameters

CLIENTID - the unique client or data source ID (in some data loggers).

CLIENTNAME - the unique client or data source name (in some data loggers).

 

Example: You want to create a log file every hour. It is desired that file name starts from "sample_log" and the file extension "txt".

 

Answer: set file prefix = sample_log_, file extension= txt (without dot!). In file name format show HHDDMMYYYY. Now the file will be created every hour. Naturally, you can set any formatting characters combination, described higher.

 

If you want to access to a log file while the program work, then you should configure access mode settings for the log file in the next chapter.

 

Add date/time stamp to file name - this option is available for modes #4 and #7 and allows adding date and time to the file name.

 

Add data source ID to file name - if this option is activated, then the program will append the data source name at the beginning of the file name, for example, COM1-sample20030321.log.

 

Write data/time stamp to file before writing data - if this option is activated, then the program will write a date/time stamp to a file before each data portion.

 

Overwrite existing files - this option is available for modes #4 and #7 and allows you to delete an existing log file before creating a new log file.

Log file access

During work can be such situations, when it is necessary to get access to a file with current data (current log file) from other applications (for example, for data processing). However, while you are accessing the current log file SNMP Data Logger can't write data to a log file and all data at this moment will be lost. We recommend using a temporary file for data storage. It is the safest way. (fig. 16).

 

File access mode

Fig. 16. File access mode.

 

You can select one from the following variants:

 

Ignore and not write - in this mode, the program stop writing to a log file until it is locked. Therefore, data will be lost.

Write to a temporary file, then append - a temporary file will be created, to which writing will be done. After access to the current file will be got, temporary file content will be added to the end of the main file. However, mind that if file has a timestamp in the name, there can be a situation when the program copies the content of a temporary file to a new log file, for the next time.

Display a message and stop work - data will be lost until the dialog window is closed.

 

You can define your message text, which will be displayed at writing error to a log file. The sound signal can be on for an additional indication. You can also enable writing a message to a protocol file.

Log deletion

The deletion of files (fig. 17) will help you to avoid stuffing your hard disk with needless information. Log files can be deleted either depending on the time of storing or when the maximal number of files is exceeded.

 

When deleting files by the time of their storage, the files that were modified last time before the specified period are deleted.

 

When controlling the number of files, the files with the oldest modification dates are deleted first.

 

You can select both variants of file deletion. In that case, files will be deleted when either of the conditions is true.

 

Log deletion

Fig. 17. Log deletion

Introduction & setup

To extend program functionality, we implemented plugin modules. The module structure lets you to reduce your program size and purchase costs (you pay only functionality, which you need).

 

SNMP Data Logger supports a few types of modules (fig. 18 - 20):

 

Data filter - data filters allow you to filter your data and modify a value of parser variables.

Data export (fig. 20) - SNMP Data Logger has many modules and method for passing data to other applications, for example, there are modules for various databases, file formats (CSV, XML), data interfaces (OPC, DDE, MQTT), and many others.

Events handling (fig. 21) - these plugins are used to handle events generated by the SNMP Data Logger software. Once an event occurs (for example, "Data source is opened" or "Configuration changed"), the plugin creates a text message using the specified template, sends a notification, does some actions, executes a program or a script, etc. The form of the notification or actions depends on the plugin settings.

 

Activating filter plugins

Fig. 18. Activating plugins

 

Activating data export plugins

Fig. 19. Activating data export plugins

 

Activating events handling plugins

Fig. 20. Activating events handling plugins

 

Installation

You can easily install a new module. Usually, you should start the installation file and click the "Next" button for a few times. The installation wizard will detect a place of your SNMP Data Logger software and place a plugin module and all distributive files to the "Plugins" folder, which is in the program folder (by default X:\\Program Files\SNMP Data Logger\Plugins).

 

After the program restart, a module will be loaded and initialized. If the module is supported by our software, the module name will appear in the modules list. Most modules require additional settings. If you want to configure the plugin module, click the "Setup" button near it. If you selected the module and the "Setup" button is not active, then the module doesn't have additional settings and can work without additional settings. Please, read a user's manual of the corresponding plugin for additional information.

 

Configuration steps

1.Select and configure a query module. You may use a module of this type if you need to send some data to your device (for example, initialization strings or request strings).

2.Select and configure a parser module. This step is necessary because filter and export modules can use parsed data only. If you didn't select the parser module, then you can't configure the data filter and data export modules.

3.Activate and configure data export modules. You can select one or more modules simultaneously. The program will use selected modules simultaneously. Please, note, the program can' use the data export module, if you didn't configure the parser module.

4.Activate and configure event modules. You can select one or more modules simultaneously.

OPC server

SNMP Data Logger has an internal OPC server. It means that any OPC compatible client application can get data from SNMP Data Logger without any additional software. To connect to the OPC server, you need the server ID and name (fig. 21). Before using the OPC server on your computer, you should download and install the OPC Core Components Redistributable from www.opcfoundation.org (registration required).

 

OPC server parameters

Fig. 21. OPC server parameters

 

SNMP Data Logger parses all incoming data to one or more variables, and an OPC client gets it (fig. 22). After connecting to the OPC server, you will get a list of all variables.

 

OPC server active items

Fig. 22. OPC server active items

 

Clients activity is showed on the "Active clients" tab. The top node is client, below is a group of items and connected items. By double-clicking, you can get detailed information about each node.

 

OPC server clients

Fig. 23. OPC server clients

 

SNMP Data Logger creates new variables at "on-the-fly" mode. The SNMP Data Logger starts without any variables and gets it only after first data had been received. If your client OPC will connect to the OPC server before than data had been processed, then it will get an empty list of variables, and your OPC client should poll the OPC server for updating list of variables. If your OPC client doesn't allow it, then you can predefine all variables (fig. 24). In this case, the OPC server will create these variables with empty values, immediate after starting, and your OPC client will get these names while connecting.

 

OPC server pre-declaration

Fig. 24. OPC server pre-declaration

Window view

This tab in program options (fig. 25) allows you to customize the appearance of the main window of the program (fig.1). You can access this tab through the "Options → Program options" menu item in the main window.

 

Window view setting

Fig. 25. Window view setting

 

You can set the following parameters:

 

Start in minimized state - at start SNMP Data Logger will automatically minimize the program window to the taskbar or to the Systray (fig. 26).

Minimize to Systray - while the main window of SNMP Data Logger minimizes, the program will automatically put its icon to the system panel near the clock.

Show data window - if you specify this option, then the program will display all data in the main window. You may disable this option if you log data from many ports on a slow computer. It reduces the computer's CPU usage.

Output data on screen in minimized state - if you'll enable this option, then the program will display processed data in minimized state. If you are logging many data sources on a slow computer, then you can decrease computer central processor load rate with disabling of this option.

Font type - the data will be displayed with this font type in the main window. We recommend using mono-spaced fonts in this field, such as Terminal, Courier, or System.

Screen buffer - when the number of lines in the main window exceeds the specified value, the program deletes old lines from the screen buffer.

Window view - this option group lets you configure data window view mode (a font color, a font type, a background color).

Transparency - in modern OS, it lets you set the transparency of the main window. The most left position is the normal window view, and the most right position is maximum transparency.

Wrap words - if you didn't configure a parser module or your data flow doesn't contain a blocks separator, then your data without this option enabled will be displayed as one long string in the data window.

 

Systray - panel near clock

Fig. 26. Systray - panel near clock

Date/time stamp view

This group of options (fig. 27) allows configuring the format of date/time stamps that will be used in the main program window and log files.

 

Configuring data/stamp view

Fig. 27. Configuring data/stamp view

 

Prefix/Postfix characters for display output - these options allow you to define the beginning and ending characters of a date/time stamp that will be shown in the program window. When outputting data to a log file, the program uses individual characters for each configuration.

 

View mode - allows you to select the standard or define the custom format of the date/time stamp.

 

Font - this group allows you to define the color and font of date/time stamp.

 

Add data direction sign to a stamp - if this option is activated, then the program will append TX or RX to the end of the stamp.

 

Add data source ID to a stamp - if this option is activated then the program will data append data source ID at the beginning of the stamp, for example, COM1.

Protocol and errors handling

While the program is running, it may generate many messages about errors or events. All these messages are being registered in a protocol file. The protocol file may contain messages from the main program and all working plugins. On this tab, you can define the kind of messages, which you want to put a protocol file (fig. 28). Here you can set the maximum protocol file size and the formatting mode.

 

Usually, the protocol file is in the "AppData" folder and has the name of the program with the 'log' extension.

 

On Windows 7 and higher: c:\ProgramData\SNMP Data Logger\

On old OS: c:\Document and Settings\All Users\SNMP Data Logger\

 

You can also open the protocol file from the “File” menu in the main window.

 

Protocol settings

Fig. 28. Protocol settings

 

SNMP Data Logger works with three types of messages:

 

Information messages - this type of messages informs you about current operations.

Warnings - warns you about possible failures or errors. Immediately user reaction is not required.

Errors - the program has detected an error which requires user attention.

 

There is the possibility to log the following events:

 

Program messages - messages about start or stop of the program, etc.

Data query - messages which are generated in a data query module.

Data parser - messages from a data parser module.

Data export - messages issued by a data export module.

Other - other message types.

 

You can write each type of messages to a protocol file or/and to the list in the main window. Please, specify necessary options for each message type at "Window" and "File" fields.

 

If you don't want to allow growing a protocol file size to an unlimited size, then you can enable the "Clean protocol at program start" or limit protocol file size in the "Size" field.

 

Some exceptional (unhandled) messages may occur while the program is running. In most cases, these messages affect the program, and the safest way is to restart the program. Please, specify the "Restart program at exception" option and the program will be restarted automatically.

 

If you want to look all program messages, then you can disable the "Don't display messages at unhandled exceptions" checkbox, and the program will open the exception message window with detailed information.

Configuration

Windows 2000+ services let you:

 

Control service on local and remote computers, including remote computers with Windows 2000+ system.

Setup actions on emergency service restore in case of failure, for example, auto service or computer restart (only on computers with Windows 2000 or later).

Create for services other names and descriptions, to find them easier (only on computers with system Windows 2000 or later).

Run service before user login (password input).

Service can be configured on automatic start after operation system load.

 

Note 1: you must be logged in as an administrator to change the configuration or control the service in any way (start, stop, pause, continue).

 

Note 2: On Windows Vista and later you should start the program with elevated administrator privileges.

 

If you want to use the program as a service application, then, please, go to the "Options → Program options → Windows service" tab (fig. 29), then enable the "Use program as a service" checkbox. Later, please, specify the start-up type of the service. There are the following variants:

 

Service settings

Fig. 29. Service settings

 

1.Automatic - the service starts automatically with Windows, before user login.

2.Manual - you can start the service application from the "Services" control panel (fig. 32).

3.Disabled - the service is disabled, and does not start at all.

 

If you want to change the program settings while the program works in the service mode, you can start a second instance of the program on your desktop, make the necessary changes, and restart the service with the new settings.

 

Old Windows versions (before Windows Vista) allows you to use the service in the interactive mode. In this case, the program places an icon in the system area (fig. 30).

 

Service icon in Systray

Fig. 30. Service icon in Systray

 

If the service should write data a database or use another service on your computer, they should be started before SNMP Data Logger. You can configure a list of these services on the "Program depends on services" tab (fig. 31).

 

Service settings #2

Fig. 31. Service settings #2

 

Sometimes, you may need to start SNMP Data Logger before starting other services. In this case, you should:

 

Switch the start mode of a target service to "Manual."

Start SNMP Data Logger.

Select the necessary service on the "Depending services" tab.

Select the mode when the logger will start the selected service.

Restart SNMP Data Logger.

 

After you configured SNMP Data Logger to work in the service mode, you need to restart a computer or start the service manually from the "Services" control panel (fig. 32).

 

Manual service run (in Windows 2000)

Fig. 32. Manual service run (in Windows 2000)

 

When the service is running, two processes should appear in the Task Manager: snmploggersrv.exe and snmplogger.exe (fig. 33). The 'snmploggersrv.exe' application implements an interface between the service manager and the SNMP Data Logger software. Unlike srvany.exe utility, our service stops safely.

 

Process list

Fig. 33. Process list

 

If you want to configure the program as a service, then you must be logged with administrator rights. The service application can be controlled, stopped, or removed with the help of a command-line. Run snmploggersrv.exe with the following parameters:

 

/? - a short help.

/I - install service for starting in then manual mode.

/A - install service for starting in the automatic mode.

/D - install service in the disabled state.

/R - remove service from the computer.

Windows Vista+ notes

One of the ways Vista's security was improved was by separating system services and user applications into separate 'sessions'. Keeping the system services isolated helps to secure them better, but also makes any interactive interface unavailable to the user. That's where the Interactive Services Detection service comes in. When a service needs to interact with the user, Interactive Services Detection presents a dialog that will switch the user to the session where the service is running so they can interact with the service. For an excellent, detailed description of this, see next paragraph.

 

Many sites recommend disabling this service, but doing so will result in you not being able to interact with any services that require your attention. This service is run manually by default, so there is little point to disabling it unless you don't want to be bothered by important information from the software you may be trying to run.

 

Display Name: Interactive Services Detection

Service Name: UI0Detect

Process Name: UI0Detect.exe

Description: Enables user notification of user input for interactive services, which enables access to dialogs created by interactive services when they appear. If this service is stopped, notifications of new interactive service dialogs will no longer function, and there may no longer be access to interactive service dialogs. If this service is disabled, both notifications of and access to new interactive service dialogs will no longer function.

Path to Executable: %windir%\system32\UI0Detect.exe

Default Start-up:

1.Home Basic: Manual

2.Home Premium: Manual

3.Business: Manual

4.Enterprise: Manual

5.Ultimate: Manual

Restart & Security

Sometimes the program should be restarted. For example, if you've changed the program settings remotely and want to reload program automatically with the new settings. To do that, specify the time for restarting the program on the "Restart & Security" tab in program options "Options - Program options". Just specify the time of day, when the program should be being restarted.

 

Program restart settings

Fig. 34. Program restart settings

 

On this tab, you can also protect some actions with the program by a password. To do that, activate the "Protect by password" option, define a password and select protectable actions.

Program doesn't run or work

It is necessary to make sure in proper time installation on your computer, so as if you put clock after program installation, protection from use after trial period works.

 

Also, the program will not work, if you use a software debugger in your environment like WinDbg. In any other case, please, contact us on support page.