PVS Log Test

This test monitors the Citrix Provisioning server’s error logs for errors/warnings of configured patterns, and reports the number of such errors/warnings that have been logged in the log file.

Target of the test : Citrix Provisioning server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for every alertfile and searchpattern combination

Configurable parameters for the test
  1. Test period - How often should the test be executed
  2. Host - The host for which the test is to be configured.
  3. port – The port at which the server listens
  4. alertfile  - By default, this parameter is set to none. This implies that by default, this test will monitor the Soapserver.log file available in the c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Services\Log directory on Windows 2012 or the C:\ProgramData\Citrix\Provisioning Services\Log directory on Windows 2012. If you want to monitor a different log file, specify the full path to the alert log file to be monitored. For eg., /user/john/alert_john.log. If you ALERTFILE specification contains ‘white spaces’, make sure that your specification is enclosed within “double quotes” – for example: "c:\Documents and Settings\User logs\errors.log".

    Multiple log file paths can be provided as a comma-separated list - eg.,  "c:\Documents and Settings\User logs\errors.log","c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server\Log\MCLI.log".

    Also, instead of a specific log file, the path to the directory containing log files can be provided - eg., "c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server\Log". This ensures that eG monitors the most recent log files in the specified directory. Specific log file name patterns can also be specified. For example, to monitor the latest log files with names containing the strings 'soap' and 'con', the parameter specification can be: "c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server\*soap*","c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server\Log\*con*". Here, '*' indicates leading/trailing characters (as the case may be). In this case, the eG agent first enumerates all the log files in the specified path that match the given pattern, and then picks only the latest log file from the result set for monitoring.

    You can also configure the path in the following format: Name@logfilepath. Here, Name represents the display name of the path being configured. Accordingly, the parameter specification for the 'soap' and 'con' example discussed above can be: soaplog@"c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server\Log\*soap*",conlog@"c:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server\Log\*con*". In this case, the display names 'soaplog' and 'conlog' will alone be displayed as descriptors of the test.

    Every time this test is executed, the eG agent verifies the following:

    • Whether any changes have occurred in the size and/or timestamp of the log files that were monitoring during the last measurement period;
    • Whether any new log files (that match the alertfile specification) have been newly added since the last measurement period;

    If a few lines have been added to a log file that was monitored previously, then the eG agent monitors the additions to that log file, and then proceeds to monitor newer log files (if any). If an older log file has been overwritten, then, the eG agent monitors this log file completely, and then proceeds to monitor the newer log files (if any).

  5. searchpattern - Enter the specific patterns of alerts to be monitored. The pattern should be in the following format: <PatternName>:<Pattern>, where <PatternName> is the pattern name that will be displayed in the monitor interface and <Pattern> is an expression of the form - *expr* or expr or *expr or expr*, etc. A leading '*' signifies any number of leading characters, while a trailing '*' signifies any number of trailing characters. 

    For example, say your SEARCHPATTERN specification is as follows: DEBUG:DEBUG*. This indicates that "DEBUG" is the pattern name to be displayed in the monitor interface. "DEBUG*" indicates that the test will monitor only those lines in the specified log file which start with the string "DEBUG". Similarly, if your pattern specification reads: ERROR:*ERROR, then it means that the pattern name is ERROR and that the test will monitor those lines in the log which end with the term ERROR.

    A single pattern may also be of the form e1+e2, where + signifies an OR condition. That is, the <PatternName> is matched if either e1 is true or e2 is true.

    Multiple search patterns can be specified as a comma-separated list. For example: DEBUG:*DEBUG*,ERROR:*ERROR*,INFO:*INFO*,ERROR:*ERROR*,WARNING:*WARN*,FATAL:*FATAL*

    If the alertfile specification is of the format Name@logfilepath, then the descriptor for this test in the eG monitor interface will be of the format: Name:PatternName. On the other hand, if the alertfile specification consists only of a comma-separated list of log file paths, then the descriptors will be of the format: LogFilePath:PatternName.

    If you want all the messages in a log file to be monitored, then your specification would be: <PatternName>:*.

  6. lines - Specify two numbers in the format x:y. This means that when a line in the alert file matches a particular pattern, then x lines before the matched line and y lines after the matched line will be reported in the detail diagnosis output (in addition to the matched line). The default value here is 0:0. Multiple entries can be provided as a comma-separated list. 

    If you give 1:1 as the value for LINES, then this value will be applied to all the patterns specified in the SEARCHPATTERN field. If you give 0:0,1:1,2:1 as the value for LINES and if the corresponding value in the SEARCHPATTERN filed is like DEBUG:*DEBUG*,ERROR:*ERROR*,INFO:*INFO*, then:

    0:0 will be applied to DEBUG:*DEBUG* pattern

    1:1 will be applied to ERROR:*ERROR* pattern

    2:1 will be applied to INFO:*INFO* pattern

  7. excludepattern - Provide a comma-separated list of patterns to be excluded from monitoring in the EXCLUDEPATTERN text box. For example *critical*, *exception*. By default, this parameter is set to 'none'. 
  8. uniquematch - By default, the UNIQUEMATCH parameter is set to FALSE, indicating that, by default, the test checks every line in the log file for the existence of each of the configured SEARCHPATTERNS. By setting this parameter to TRUE, you can instruct the test to ignore a line and move to the next as soon as a match for one of the configured patterns is found in that line. For example, assume that Pattern1:*FATAL*,Pattern2:*ERROR* is the SEARCHPATTERN that has been configured. If UNIQUEMATCH is set to FALSE, then the test will read every line in the log file completely to check for the existence of messages embedding the strings 'FATAL' and 'ERROR'. If both the patterns are detected in the same line, then the number of matches will be incremented by 2. On the other hand, if UNIQUEMATCH is set to TRUE, then the test will read a line only until a match for one of the configured patterns is found and not both. This means that even if the strings 'FATAL' and 'ERROR' follow one another in the same line, the test will consider only the first match and not the next. The match count in this case will therefore be incremented by only 1.
  9. rotatingfile - This flag governs the display of descriptors for this test in the eG monitoring console.

    If this flag is set to true and the alertfile text box contains the full path to a specific (log/text) file, then, the descriptors of this test will be displayed in the following format: Directory_containing_monitored_file:<SearchPattern>. For instance, if the alertfile parameter is set to "C:\ProgramData\Citrix\Provisioning Services\Log\Soapserver.log", and rotatingfile is set to true, then, your descriptor will be of the following format: C:\ProgramData\Citrix\Provisioning Services\Log:<SearchPattern>. On the other hand, if the rotatingfile flag had been set to false, then the descriptors will be of the following format: <FileName>:<SearchPattern> - i.e., Soapserver.log:<SearchPattern> in the case of the example above. 

    If this flag is set to true and the alertfile parameter is set to the directory containing log files, then, the descriptors of this test will be displayed in the format: Configured_directory_path:<SearchPattern>. For instance, if the alertfile parameter is set to "C:\ProgramData\Citrix\Provisioning Services\Log", and rotatingfile is set to true, then, your descriptor will be: C:\ProgramData\Citrix\Provisioning Services\Log:<SearchPattern>. On the other hand, if the rotatingfile parameter had been set to false, then the descriptors will be of the following format: Configured_directory:<SearchPattern> - i.e., Log:<SearchPattern> in the case of the example above.

    If this flag is set to true and the alertfile parameter is set to a specific file pattern, then, the descriptors of this test will be of the following format: <FilePattern>:<SearchPattern>. For instance, if the alertfile parameter is set to "C:\ProgramData\Citrix\Provisioning Services\Log\*con*", and rotatingfile is set to true, then, your descriptor will be: *con*:<SearchPattern>. In this case, the descriptor format will not change even if the rotatingfile flag status is changed.

  10. useutf16 - If UTF-16 encoding is to be used for reading the specified log file, then, set the USEUTF16 flag to true. By default, this flag is set to true. If multiple log files are being monitored, then, for each file, you will have to indicate whether UTF-16 encoding is to be used for reading that file or not. For instance, assume that the ALERTFILE parameter is set to soaplog@"C:\ProgramData\Citrix\Provisioning Services\Log\*soap*",conlogs@"C:\ProgramData\Citrix\Provisioning Services\Log\*con*". Now, to instruct the test to use UTF-16 encoding for reading the 'soaplog' log file and not to use the UTF-16 encoding while reading the 'conlogs' log file, your USEUTF16 setting should be as follows: true,false. Note that the number of values provided against the USEUTF8 parameter should be equal to the number of log files being monitored.
  11. DD Frequency - Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against dd frequency
  12. DETAILED DIAGNOSIS - To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

    The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

    • The eG manager license should allow the detailed diagnosis capability
    • Both the normal and abnormalfrequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Num messages:

Indicates the number of errors that were added to the log file when the test was last executed.

Number

The value of this measure is a clear indicator of the number of “new” errors that have come into the error log of the monitored server. The detailed diagnosis of this measure, if enabled, provides the detailed descriptions of the errors of the configured patterns.

The detailed diagnosis of the Num messages measure, if enabled, provides the detailed descriptions of the errors of the configured patterns.

Figure 1 : The detailed diagnosis of the Num messages measure