Your InfoHub distribution comes with a GT.M Monitoring Reference Implementation that can monitor GT.M messages in the system log and GT.M databases V6.0-002 and above. It is possible to monitor any GT.M version prior to V6.0-002 with some modifications. Modifications are necessary because the format and content of file header listings, messages, and gleaning techniques vary from release to release. For example, to monitor an earlier release which lacks the $ZPEEK() function, you would have to use other techniques, such as parsing DSE output for example, with a program such as the %DSEWRAP utility.
The following table contains information about the files that are used with the GT.M Monitoring Reference Implementation. These files reside in an InfoHub installation. You can view the configuration files from the samples subdirectory of your InfoHub distribution or download them from the links in the table. You can also click to download all files of the GT.M Monitoring Reference Implementation together or open directly from http://tinco.pair.com/bhaskar/gtm/applications/infohub/GTM_Monitoring_RI.zip.
Component |
Name |
Description |
Download |
---|---|---|---|
InfoHub Configuration File |
|
Configuration file used to configure a server. It includes InfoDict files gtmmessages.conf, gtmfields.conf, gtmdbregions.conf and gtminstances.conf for monitoring database instances. gtmmessages.conf and gtmfields.conf are user created files and are subsets of IHRegionReplInfoDict.conf and IHGtmSyslogMessages.conf respectively. gtmdbregions.conf and gtminstances.conf are created and updated by the routine gtmConfigGenerator, described below. | |
GT.M Sylog Messages InfoDict |
|
Provides the SyslogInstances InfoDict which is used to define GT.M messages to be monitored. Use this file as the basis for gtmmessages.conf. | |
Limited InfoDict of GT.M Sylog Messages |
|
Provides a sample SyslogInstances InfoDict that defines a small subset of GT.M messages to be monitored. This is a simple starting point for testing InfoHub's syslog monitoring capabilities. | |
Full Region and Replication InfoDict |
|
Defines region and replication fields of a GT.M region and groups them in the following categories (InfoDict Domains)– | |
Full Region and Replication InfoDict |
|
Defines a subset of region and replication fields of a GT.M region and groups them in the following categories (InfoDict Domains)– | |
Syslog FileLine Gleaner |
|
A gleaner whose InfoExpr function reads /var/log/messages line-by-line and converts GT.M only messages in the form of key:value pairs and files them in the InfoHub Database. A set of GT.M version specific routines are provided (in the plugins subdirectory of the distribution) that assist the gleaner, e.g., messages60002.m. | |
GT.M Application Instance Configuration Extraction Script |
|
Use this script to source your GT.M application configuration and output the relevant pieces of information to monitor the GT.M application. The output file is processed by gtmConfGenerator (described below) to generate an publisher configuration and InfoDict entries for the GT.M instance to be monitored. This standalone script does not require any part of the InfoHub to be present. The script will not extract GT.M encryption settings. Those must be defined after gtmConfGenerator generates the Publisher configuration for the GT.M application. | |
InfoHub Configuration generator for GT.M application instances |
|
Creates and/or updates InfoHub configuration files, gtmdbregions.conf and gtminstances.conf, and instance specific gleaners named IdMapFor<PublisherNameHere>.m. dbinstances.conf includes gtmdbregions.conf and gtminstances.conf. You should not need to edit these files by hand. After each execution of this routine, be sure to reload the InfoHub configuration file. gtmdbregions.conf contains unique InfoDict entries for each newly discovered GT.M database region and replication instance. gtminstances.conf contains the publisher configuration for the to be monitored GT.M application instance. IdMapFor<PublisherNameHere>.m gleaners should be placed in $ihsrcdir by default. If the routine cannot find that directory, the user will be directed to copy the files there. | |
SNMP daemon sample configuration |
|
A sample configuration for the Net-SNMP daemon | |
SNMP trap daemon sample configuration |
|
A sample configuration for the Net-SNMP trap daemon |
To install the GT.M Monitoring Reference Implementation, perform the following steps:
Install InfoHub and create an InfoHub database. For more information, refer to Installing InfoHub.
Install the FIS GT.M SNMP Plugin. For installation instructions and prerequisites, refer to Installing the SNMP Plugin.
Change to the InfoHub configs directory.
Open a new terminal session and execute gather_instance_info.sh passing it as a parameter the environment configuration of the GT.M database you want to monitor.
/path/to/inofhub/samples/gather_instance_info.sh /path/to/gtm/instance/env_file > someinstance1.out
Please ensure that you generate only one file per instance. Do not concatentate these files into one.
Open a new terminal session and source environment of the InfoHub and configure the new instance using the output file from above
$gtm_dist/mumps -run gtmConfGenerator someinstance1.out
Follow the prompts to create a new configuration, modify an existing configuration or create a new configuration as a copy of another configuration. Copies will acquire the Publisher configuration of the original configuration will all of the InfoDict IDs changed for the new configuration.
Copy all desired files from samples/IHRegionReplInfoDict.conf into configs/gtmfields.conf
Copy all desired files from samples/IHGtmSyslogMessages.conf into configs/gtmmessages.conf or remove the "Include" directive from dbinstances.conf
Copy all desired files from samples/IHRegionReplInfoDict.conf into configs gtmfields.conf
Review the new configuration files as there may be some editing needed (use your favorite editor). If the global directory uses environment variables, add Env: directives for them. In the gather_instance_info.sh output file, e.g. someinstance1.out, look under the "GlobalDirectory" section for environment variables. If all of the environment variables share a common prefix, for example, "SCAU_DB_", then running env|grep SCAU_DB_*|sort may be helpful in gathering the environment variables and their corresponding values. If the global directory uses relative paths when referencing the database file(s), add an Env:IHCD directive containing the path to the start of the relative paths. Make sure that the gtmroutines entry includes InfoHub's PipeCmd directory.
After each execution og gtmConfGenerator, load dbinstances.conf. This loads all newly generated IDs into the InfoHub so that subsequent executions of gtmConfGenerator can avoid re-using them.
$gtm_dist/mumps -run InfoHub --action=configure --file=dbinstances.conf
The next several steps are based upon using dbinstances.conf with the generated configuration files and port 161 for the port where the SNMP daemon listens (see the agentAddress line in snmpd.conf). Please adjust accordingly.
Execute the following command to and start InfoHub.
$gtm_dist/mumps -run InfoHub --action=start
For more information, refer to Loading a Configuration File and Starting an InfoHub.
Execute the following command to generate the MIB.
$gtm_dist/mumps -run generatemib >INFOHUB-1-MIB
Execute the following command to start the M SNMP Plugin using Subscriber Id 9. Note that the SNMP Subscriber Descriptor (entry starting with
Subscriber:
) in server1.conf specifies 9 as the Subscriber Id.$gtm_dist/mumps -run IHsnmp --action=start --plugin=9
For more information, refer to Starting the SNMP Plugin.
Execute the following command to see the most recent GT.M SysLog message.
snmpget -v2c -c $communitystring -M +$PWD -m INFOHUB-1-MIB -Oaq 127.0.0.1:161 infohubtestserver1syslogSyslogGTMcurr.0
Execute the following command to see the next ten most recent GT.M SysLog messages in reverse chronological order.
snmpbulkget -v2c -c $communitystring -M +$PWD -m INFOHUB-1-MIB -Oaq 127.0.0.1:161 infohubtestserver1syslogSyslogGTMhist.0
Execute the following command to see the most recent values for the first ten items from database "db1"'s "UBG" region.
snmpbulkget -v2c -c $communitystring -M +$PWD -m INFOHUB-1-MIB -Oaq 127.0.0.1:161 infohubtestdb1RegReplFetchUBGGdregRnamecurr.0
Execute the following commands to check the status of InfoHub and the SNMP Plugin:
$gtm_dist/mumps -run InfoHub --action=status
$gtm_dist/mumps -run IHsnmp --action=status --plugin=9
For more information, refer to Monitoring an InfoHub and Monitoring the SNMP Plugin.
Congratulations! Your GT.M Monitoring Reference Implementation is now installed .
The following illustration shows how the GT.M Monitoring Reference Implementation sets up an InfoHub framework for monitoring your GT.M database.