The end of life (EOL) date for this module is on 31 July, 2019.
Component Versions Plug-in - Technical Reference
Introduction
The purpose of the Geneos Component Versions plug-in is to identify the version information for processes / components that write to log files. For example you may have a log file belonging to a background process that contains version information for that process and possibly components that make up that process such as a database logging module.
00:00:00 INFO Product XYZ Version 2.5.1
00:00:00 INFO Product XYZ Database logging component Version 2.5.1
…
The plug-in supports a small set of known components upon which the user can build by adding their own components and replacement definitions for the existing built-in components. Components are identified with a set of signatures which are POSIX regular expressions describing the text containing the version information.
The plug-in supports filename specification with wildcards and date formatting; so should version information not be available within a file the previously seen version information will be displayed. This information will persist while the netprobe is running.
Views
View
The screenshot below shows an example of version information being monitored by the Plug-in.
Headline Legend
Name | Description |
---|---|
MonitoredFileCount | The number of unique log files configured for the plug-in to monitor. |
Table Legend
Name | Description |
---|---|
component | The name of the component. |
descriptions | A description of the component. |
version | The version information contained within the file if available. |
whenSeen | The date and time of the sample this information was discovered. |
logFile | The file in which the information was found. |
Plug-in Configuration
The component-versions plug-in is a gateway2 plug-in with XML configuration. Use of the Active Console setup-editor is encouraged for plug-in configuration.
Example Configuration
files
file
componentType: p1
fileName: /export/logs/gl_logs/p1_*
file
componentType: p2
fileName: /export/logs/gl_logs/p2_20070720.log
file
componentType: p3
fileName: /export/logs/gl_logs/p3_20070720.log
file
componentName: p3 different log
componentType: p3
fileName: /export/logs/gl_logs/p3_%Y%m%d.log
…signatures
componentType
name: P3
description: GL P3 - User Signature
signature
pattern: ^[0-9:]+[[:space:]]+INFO[[:space:]]+:[[:space:]]+\(@\(#\)KIT[[:space:]]+P3 Version +(.+)\)
versionExprNo: 1
signature
pattern: ^[0-9]{2}:[0-9]{2}:[0-9]{2}[[:space:]]+.*\(@\(#\)\)KIT[[:space:]]P3[[:space:]]+MAIN[[:space:]]+(.+)[[:space:]]*$
verionExprNo: 1
componentType
name: SLE
description: GL SLE(user defined)
signature
pattern: ^-[[:space:]]+[0-9]{2}:[0-9]{2}:[0-9]{2}[0-9]{3}[[:space:}]+#[[:space:]]+[Pp]roduct[[:space:]]+:[[:space:]]+SLE[[:space:]].*Version[[:space:]]+:[[:space:]]+V([0-9\.-]+)$
versionExprNo: 1
The following parameters should be configured in the samplers section of the gateway configuration:
- sampler name — The name attribute of the sampler should be set to "component-versions".
- sample Interval — Component version information is not something that will change frequently. A sample interval of 86400 seconds (24 hours) is recommended.
Log file monitoring
files > file > componentName
An optional name used to identify the component being searched for within the file. This is useful if you're looking for the same component in different places and serves to uniquely identify it. If this is not set the component name is defaulted to the component type.
Note: This should uniquely identify what is being searched for. The plug-in will warn in the netprobe log if this is not unique as this could break rules set for the plug-in.
files > file > componentType
The type of component expected to have version information within the file. This should match the name of a known component or a component configured by the user.
Mandatory: Yes
files > file > fileName
This is the path specification for the file to be monitored. The filename may include wildcard characters and date/time specification characters.
Filenames / paths may contain wildcard characters along with date formatting information for files generated with this information in the filename.
The most recent file matching the criteria will be monitored. The following date formatting codes are recognised.
All codes are subject to formatting according to the current locale. Consult your system documentation for details.
Some of these codes may not be available on your system; additionally your system may provide additional codes.
Code | Meaning |
---|---|
%a | The abbreviated weekday. |
%A | The full weekday. |
%b | The abbreviated month name. |
%B | The full month name. |
%c | The preferred date and time representation for the current locale. |
%C | The century as a two digit number. |
%d | The day of the month as a two digit number (01-31). |
%D | Equivalent to %m%d%y. |
%e | The day of the month with a leading space for single digit days. |
%E | Modifier for locale dependant alternate representation. Consult system documentation for this. |
%F | Equivalent to %Y-%m-%d, the ISO 8601 date format. |
%G | The ISO 8601 year. |
%g | As %G with two digit year. |
%h | Equivalent to %b. |
%H | The hour as a decimal number using the 24 hour clock (00 - 23). |
%I | The hour as a decimal number using the 12 hour clock (01 - 12). |
%j | The day of the year as a decimal number (001 - 366). |
%k | The hour as a decimal number using the 24 hour clock (0 - 23). Single digits preceded by a space. |
%l | The hour as a decimal number using the 12 hour clock (0 - 23). Single digits preceded by a space. |
%m | The month as a decimal number (01 - 12). |
%M | The minute as a decimal number (00 - 59). |
%n | A newline. |
%O | Modifier for locale dependant alternate representation. Consult system documentation for this. |
%p | 'AM' or 'PM' or locale equivalent strings. |
%P | 'am' or 'pm' or locale equivalent string. |
%qd | The day of the month without a leading zero. |
%qm | The month as a decimal number without a leading zero. |
%r | The time in a.m. or p.m. notation. |
%R | The time in 24 hour notation (%H:%M). |
%s | The number of seconds since 1970-01-01 00:00:00 UTC. |
%S | The second as a decimal number. |
%t | A tab character. |
%T | The time in 24 hour notation (%H:%M:%S). |
%u | The day of the week as a decimal number (1 - 7) |
%U | The week number of the year as a decimal number (00 - 53). |
%V | The ISO 8601:1988 week number for the year (01 - 53). |
%w | The day of the week as a decimal number (0 - 6). |
%W | The week number of the current year as a decimal (00 - 53). |
%x | The preferred date representation for current locale without the time. |
%X | The preferred time representation for the current locale without the date. |
%y | The year as a decimal number without the century (00 - 99). |
%z | The timezone as an hour offset from GMT. |
%Z | The timezone as an abbreviation. |
Mandatory: [Yes]
User defined component signatures
Signatures
A signature is what identifies a component and the version information. Component signature definitions follow this.
Mandatory: Yes
signatures > componentType
A component type is a definition of a component and it's signatures.
The component version plug-in comes with built-in support for the following component types. Files configured with these component types will automatically be searched for the associated patterns.
To replace these patterns component types with the same name should be added to the configuration.
Component | Description | Pattern |
---|---|---|
plcmend | PL SLC CMEND | ^[[:space:]]+Version[[:space:]]+:[[:space:]]+@(#)SLC[[:space:]]+CMEMD[[:space:]]+Version[[:space:]]+(.+) |
sle-fix | GL SLE FIX | ^[[:space:]]+ @(#)SLE[[:space:]]+FIX[[:space:]]+V(.+) |
p15-comm-backup | GL P15 COMM BACKUP | ^[[:space:]]+ @\(#\)SLE2000[[:space:]]+P15[[:space:]]+.*COMM BACKUP KIT[[:space:]]+V([a-zA-Z0-9\.-]+)[[:space:]]+.* |
p3 | GL P3 |
^[0-9:]+[[:space:]]+INFO[[:space:]]+:[[:space:]]+\(@\(#\)KIT[[:space:]]+P3[[:space:]]Version[[:space:]]+(.+)\) ^[0-9:]+[[:space:]]+P3:[[:space:]]+INFO[[:space:]]+:[[:space:]]+(@(#)KIT[[:space:]]+P3SLC[[:space:]+.+[:space:]]V(.+)) |
selector | GL Selector | ^[[:space:]]+#[[:space:]]+Product Version:[[:space:]]+[@(#)Selector.*[[:space:]]+(.+)] |
plhisto | GL P1 Histo | ^[[:space:]]+Version[[:space:]]+:[[:space:]]+@(#)KIT[[:space:]]+P1HISTO[[:space:]]+Version[[:space:]]+V([a-zA-Z0-9.-]+) |
p2 | GL P2 | ^[0-9:]+[[:space:]]+P2:[[:space:]]+INFO[[:space:]]+:[[:space:]]+\(@\(#\)KIT[[:space:]]+P2SLC[[:space:]]+V[a-zA-Z0-9]+[[:space:]]+V([0-9\.-]+)\) |
p1 | GL P1 |
^[0-9:]+[[:space:]]+INFO[[:space:]]+ \(@\(#\)KIT[[:space:]]+P1[[:space:]]+Version[[:space:]]+(.+) ^[0-9:]+[[:space:]]+P1[[:space:]]+INFO[[:space:]]+:[[:space:]]+(@(#)KIT[[:space:]]+P1SLC[[:space:]]+.+[[:space:]]V(.+)) |
glmiss | GL MISS | ^[[:space:]]+@(#)GLMISS.*[[:space:]]V([a-zA-Z0-9.-]+)[[:space:]].* |
pto | GL pto | [[:space:]]+#[[:space:]]+Product Version:[[:space:]]+[@(#)pto[[:space:]]+(.+)] |
sle | GL SLE | -[[:space:]]+[0-9:]+[[:space:]]+#[[:space:]]+Product[[:space:]]+:[[:space:]]+SLE[[:space:]]+.*[[:space:]]Version[[:space:]]:[[:space:]]V(.+) |
p1erxus | GL P1 ERXUS | ^[[:space:]]+Version[[:space:]]+:[[:space:]]@(#)KIT P1ERXUS Version[[:space:]]+(.*) |
Mandatory: No
signatures > componentType > name
This is the name of the component. If the name matches the name of a built-in / existing component this component definition will replace the existing one. This is useful for overriding built-in component support.
Mandatory: Yes
signatures > componentType > description
This is the description of the component. The description field allows the user to explain the name of the component. If the description is not specified the name is used for this field.
signatures > componentType > signature
Each component has a number of signatures. The signature for a component may change between releases and this allows all known signatures to be checked.
Mandatory: Yes
signatures > componentType > signature > pattern
The pattern is the POSIX regular expression that uniquely identifies the line of text containing the version information.
Mandatory: Yes
signatures > componentType > signature > versionExprNo
This is a positive whole number which identifies the sub-expression within the pattern that contains the version information.
Note the following:
- An expression number greater than the number of sub-expressions within the pattern will cause version information not to be found.
- An expression number greater than the number of sub-expressions within the pattern will cause version information not to be found.
- An expression number greater than the number of sub-expressions within the pattern will cause version information not to be found.
Mandatory: Yes