QPR ProcessAnalyzer Logs

From QPR ProcessAnalyzer Wiki
Revision as of 13:30, 15 September 2021 by Ollvihe (talk | contribs) (→‎Server Log)
Jump to navigation Jump to search

QPR ProcessAnalyzer writes log of all operations it's performing. The logs can be used for monitoring, auditing, troubleshooting and many other purposes. The main types of logs are task log, script log and server log. The task log and reports based on it can be used routinely to monitor the system usage and collect statistics. The script logs are collected for each script that are running. The server log is not normally needed, but if there are exceptional situations, such as system malfunctioning, the server log is very helpful in understanding what has happened.

Task Log

All user requests are recorded as tasks, such as login, logout, modifying data, running queries etc. The Task Log can be browsed in the UI by opening the System Reports in the navigation menu (available only for system administrators). There are two task reports available: Running tasks (all tasks currently being executed) and Recent tasks (list of recent tasks in the order of start time). There are also summary level reports available for, e.g. which models have been used, when the system have been used, and who has used the system.

Executing tasks can be stopped by the administrator both in the Running tasks and Recent tasks reports by selecting the task(s) and in the right click context menu select End tasks.

Note that loading of a model is visible as a separate task in the task log, in addition to the task that initiated the model loading.

Task log have for example the following use cases:

  • To see the most active and idle times of the system to plan the optimal time for system updates and maintenance
  • In case of performance issues, how much load the is in the system in different times
  • How active the usage of the system is and how many users are using the system
  • Which content and models are browsed by the users in the system

Task Log Settings

The following settings are available for the task log (in the Analyze tab):

  • Start time from and Start time to: Choose the time range in which to show the task log. By default, the latest 6 months it shown.
  • Maximum Text Length: Defines the maximum number of characters shown in the 'Additional Data' column.
  • Only logins: Show only log entries of successful authentications by users.
  • Maximum rows: Maximum number of rows shown by the log (default max. 1000).

The following columns can be selected for the task log (in the Columns tab):

  • Task type: Type of the task, e.g. run expression, run script, etc.
  • User: Login name of the user performing the task.
  • User Id: User id performing the task.
  • Model: Model name for which the task was performed.
  • Model Id: Model id in which the task was performed.
  • Start Time: Start time of the task.
  • End Time: Endi time of the task. This field is empty if the task is still in progress.
  • Duration: Duration of the task in seconds. Shown only if the task has completed.
  • Task end called: Whether an administrator has requested to stop this task (note that the task may still be in progress).
  • Additional Data: Shows parameters related to this task.
  • Task Id: Id of the task.
  • Session Id: User session id that made the task.

Script Log

The script log is collected for each script and separate log is stored for each run of the script. The script log contains errors in the script run and also log write messages that are added to the code of the script. See more in Managing Scripts how to use the script log.

Server Log

The server log contains information about all operations performed by the QPR ProcessAnalyzer server in a detailed level. The server log is stored in the location defined by the LogFilePath setting in the web.config file. The Web.config file also contains several other settings that affect the logging behavior.

All log entries are classified to the following logging levels based on their importance for the system administrator:

  • Critical: Failure has occurred that is probably the application wide, and thus it requires immediate attention from the system administrator. The application may have stopped working entirely.
  • Error: Handling a request has failed. The failure is restricted to the current request and it's not an application wide failure, so the application should continue working for other requests. System administrator should investigate these type of log entries.
  • Warning: Abnormal or unexpected event has occurred in the application, but the request processing has not failed. If there are several of these log entries, system administrator should analyze the reason for these.
  • Information: Tracks the general flow of the app. These log entries are not interesting for system administrator, unless a failure has occurred and more information is needed.
  • Debug: Technical details for application developers to help with the debugging.

The following log entries for security auditing purposes are made to the server log:

  • When specifying a non-existing username, the following log entry is made: User is not found: <username>
  • When specifying wrong password for an existing user account, the following log entry is made: User password is invalid: <username>
  • When trying to log in with an inactivated user account, the following log entry is made: User account is invalid: <username>