Logging

Overview

This article provides guidance on how Systen Administrators can use the different types of log files that Appian produces to assess performance, analyze usage, troubleshoot issues, and audit activity.

Monitoring Performance and Usage

Performance logs are written to the APPIAN_HOME/logs/perflogs directory. These logs are written in CSV files for easy observation and analysis using common spreadsheet tools. The information in them can be used to learn the broad spectrum of what actions take place in the system and how long those actions take to complete.

The log files include one for each Appian engine written to every minute (Engine Performance Logs) and up to three kinds of logs for various events written by the application server which include the following:

  • Summary - Enabled by default. Written to once every five minutes and aggregate all the relevant events since the last line was logged into one set of metrics. One line is written per update, even if there were no events in the given interval.
  • Details - Enabled by default. Written to once every hour, and while they have similar information to the summary logs, they provide fine-grain aggregation by type of event. Multiple lines are written per update, but if no events occurred in the given interval then nothing is written.
  • Trace - Disabled by default. When enabled, updates every time an event occurs with in-depth information about the event in question. Trace logs are disabled by default because they require a greater and less predictable amount of disk space and they contain potentially sensitive human-entered data such as usernames.

Some events have certain phases of their execution separately timed. These "phase times" are parts of the total time, but the total time is not necessarily covered completely by the phase times. Even if an event has measured phases, it may not record a time for that phase. Logs that contain phases have individual counts for each phase to show how many of the total recorded events actually participated.

Do not open the .csv files of a running system directly in programs that lock files for editing. In doing so, the application server and/or engines may no longer be able to write to them until they are restarted. Copy the files, then open only the copies.

Data Store Performance Logs

These logs record the operations of querying data in a data store using query rules, writing data via the Write to Data Store Entity Smart Service, and verifying current information in the data store. These three types of data store operations (Query, Write, Verify) can include the following three phases:

  • Prepare - Formatting the RDBMS call.
  • Execute - Waiting to hear back from the RDBMS.
  • Transform - Processing the results received from the RDBMS.

Not all operations involve all three phases. For example, Verify operations do not go through a Transform phase.

In order to aid the identification of slow operations, a separate log file with the same columns records a duplicate entry of only those operations that take more than three seconds to complete. If three seconds is not an appropriate threshold for what qualifies as a slow query, it can be adjusted using the property conf.monitoring.rdbms.SLOW_QUERY_THRESHOLD_MS in custom.properties, which takes an integer value in milliseconds.

Trace File Metrics (perf_monitor_rdbms.csv / perf_monitor_rdbms_slow.csv)

Metric Description
Timestamp Date and time of the data store operation.
Thread Identification number of the thread executing the query.
Data Store Name of the data store against which the operation is being executed.
Entity Name of the entity being accessed by the operation.
Operation Type Type of operation being executed.
Operation Name Query rule name in the case of queries or a short description of the operation type.
Operation Detail Details about the operation, such as query parameters or paging controls. The content of this field varies according to the operation.
Prepare Time (ms) Time spent in the Prepare phase.
Execute Time (ms) Time spent in the Execute phase.
Transform Time (ms) Time spent in the Transform phase.

Summary File and Details File Metrics (data_store_summary.csv / data_store_details.csv)

Metrics labeled "[Details Only]" apply only to the details file. This is because the details file provides the same metrics as the summary file, but the metrics are broken down for each data store, entity, and query rule.

Metric Description
Timestamp Date and time when the metric is taken.
[Details Only] Data Store Name of the data store against which the operation is being executed.
[Details Only] Entity Name of the entity being accessed by the operation.
[Details Only] Operation Name Query rule name in the case of queries or a short description of the operation type.
Total Count Number of operations against data stores.
Mean Total Time (ms) Average amount of time required for operations from beginning to end.
Query Count Number of Query operations.
Write Count Number of Write operations.
Verify Count Number of Verify operations.
Failure Count Number of failed operations of any type.
Prepare Count Number of operations with a prepare phase.
Mean Prepare Time (ms) Average amount of time taken to complete the Prepare phase.
Execute Count Number of operations with an Execute phase.
Mean Execute Time (ms) Average amount of time taken to complete the Execute phase.
Transform Count Number of operations with a Transform phase.
Mean Transform Time (ms) Average amount of time taken to complete the Transform phase.
Minimum Total Time (ms) Shortest time required for any operation from beginning to end.
Maximum Total Time (ms) Longest time required for any operation from beginning to end.
Minimum Prepare Time (ms) Shortest time an operation required to complete the Prepare phase.
Maximum Prepare Time (ms) Longest time an operation required to complete the Prepare phase.
Minimum Execute Time (ms) Shortest time an operation required to complete the Execute phase.
Maximum Execute Time (ms) Longest time an operation required to complete the Execute phase.
Minimum Transform Time (ms) Shortest time an operation required to complete the Transform phase.
Maximum Transform Time (ms) Longest time an operation required to complete the Transform phase.

Data Server Trace Log

The data server provides a trace log that captures information about the requests made by application server to the data server.

Trace File Metrics (ads_call_trace.csv)

Because some operations may execute many calls to the data server, enabling the data server call trace log may adversely affect system performance.

Metric Description
Timestamp Date and time when the metric is taken.
Thread Name Name of the originating thread.
User The data server user ID of the calling user.
Address Host and port of the target data server component.
ADS Service The data server service the request is targeted to (HS, RTS, etc.).
API The data server API that was called (query, write, etc.).
Store The target data store in the data server.
Query Target ID or the UUID of the view or attribute specified as target.
Total Time (ms) Time taken by the call between request and response.
Status Specifies whether the call succeeded or failed.
Error Code Appian error code.
Request JSON length JSON length of the transaction data sent to the data server.
Response JSON length JSON length of the results retrieved from the data server.

Engine Call Logs

These logs contain information about what requests the application server makes to the Appian Engines.

Trace File Metrics (engine_call_trace.csv)

Because many operations execute many engine calls, enabling the engine call trace log may adversely affect system performance.

Metric Description
Timestamp Date and time when the metric is taken.
Engine Name of the engine.
Address Host and port the engine is running on.
Function Name of the call being tracked.
Username User who made the call.
Thread Name Name of the thread the call was made from.
Total Time (ms) Time required for the call from beginning to end.
Execute Time (ms) Time the engine spent processing the call.
Other Time (ms) Time required for the call that was not processing by the engine.

Details File Metrics (engine_call_details.csv)

For every time period, there will be one line per type of engine call made.

Metric Description
Timestamp Date and time when the metric is taken.
Engine Name of the engine.
Function Name of the call being tracked.
Total Count Total number of calls made to the engine during the time period.
Write Count Number of write calls made to the engine during the dime period.
Read Count Number of read calls made to the engine during the dime period.
Mean Total Time (ms) Average amount of time required for the calls, from beginning to end.
Mean Execute Time (ms) Average amount of time the engine spent processing the calls.
Mean Other Time (ms) Average amount of time required for calls that was not processing by the engine. Includes network delay and time spent queued for the engine to process.
Minimum Total Time (ms) Shortest time required for any call from beginning to end.
Maximum Total Time (ms) Longest time required for any call from beginning to end.
Minimum Execute Time (ms) Shortest time required for the engine to process a call.
Maximum Execute Time (ms) Longest time required for the engine to process a call.
Minimum Other Time (ms) Shortest time required for a call that was not processing by the engine.
Maximum Other Time (ms) Longest time required for a call that was not processing by the engine
Rejected Count Number of calls that were rejected by the engine or gateway and needed to be retried.

Summary File Metrics (engine_call_summary.csv)

For every time period, there will be one line per instance of each engine.

Metric Description
Timestamp Date and time when the metric is taken.
Engine Name of the engine.
Address Host and port the engine is running on.
Total Count Total number of calls made to the engine during the time period.
Write Count Number of write calls made to the engine during the dime period.
Read Count Number of read calls made to the engine during the dime period.
Mean Total Time (ms) Average amount of time required for the calls, from beginning to end.
Mean Execute Time (ms) Average amount of time the engine spent processing the calls.
Mean Other Time (ms) Average amount of time required for calls that was not processing by the engine. Includes network delay and time spent queued for the engine to process.
Minimum Total Time (ms) Shortest time required for any call from beginning to end.
Maximum Total Time (ms) Longest time required for any call from beginning to end.
Minimum Execute Time (ms) Shortest time required for the engine to process a call.
Maximum Execute Time (ms) Longest time required for the engine to process a call.
Minimum Other Time (ms) Shortest time required for a call that was not processing by the engine.
Maximum Other Time (ms) Longest time required for a call that was not processing by the engine
Rejected Count Number of calls that were rejected by the engine or gateway and needed to be retried.

Engine Summary Log

This file contains information about the status of each engine server. It is written every five minutes to engine_summary.csv, but unlike other summary logs, one line is written for each configured engine. If there is more than one server hosting Appian engines, the log is written only on the server configured first in appian-topology.xml.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Gateway Name Name of the engine
Gateway ID ID number of the engine.
Hostname Name of the host running this engine.
Size on Disk (MB) Size of the engine data when persisted to disk.
Transaction Count Number of transactions run since the last checkpoint.
Chain Status Name of this engine's status
Uptime (s) Time in seconds since the engine was last started.
Response Time (ms) Time in milliseconds before the engine responded to the request for status information.

Engine Performance Logs

These files contain information about the performance of the Appian engines. They are written every minute to files named according to the convention perf_monitor_db_<ENGINE-ACRONYM>_<TIMESTAMP>.csv.

Engine acronyms include:

Engine Acronym Engine Name
CH1 Channels
CO1 Content
CS1 Content Statistics
DF1 Discussion Forums
NE1 Email Notifications
NO1 Notifications
PA1 Process Analytics
PD1 Process Design
PO1 Portal
PE1 Personalization
PX001 Process Execution One (00)
PX002 Process Execution Two (01)
PX003 Process Execution Three (02)

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
CPU Idle Time (%) Percentage of the past monitoring period that the CPU was idle.
CPU Foreground Time (%) Percentage of the past monitoring period that the CPU was processing foreground activities.
CPU Background Time (%) Percentage of the past monitoring period that the CPU was processing background activities.
Work Queue - Finished Number of items that were processed from the Java Work Queue in the last sample period.
Work Queue - Java Work Queue Size Size of the Java Work Queue, which contains items to be processed by the application server in the foreground.
Event Received Number of messages received in the last sample period. These may be JMS messages, email, or process-to-process messages. After these messages are processed, they are sent to Event Consumers Received.
Event Consumers Received Number of times receive message events were the target of messages in the last monitoring sample period. Event targets and messages are multiplied to calculate the total number of events. For example, when three messages are received (Event Received) by two receive message events in three process instances, the total number of event Consumers Received is 18 (323).
Work Queue - Event Consumers to Process Number of receive message events waiting to be processed.

Expressions Performance Logs

These log files provide performance measurements on the building blocks of Appian expressions: functions and rules.

Rules can contain both functions and/or other rules. In such cases, the measured time of the main rule will include that of any nested rules and/or functions.

The trace and summary logs measure the usage of Appian functions, rules, and custom plugin functions together to make it easier to debug issues or check the health of your overall system. However, Appian functions are measured in a separate details log from rules and custom plugin functions to make it easier to distinguish between the usage of your objects and Appian functions.

If a function or rule does not evaluate successfully it will not be measured. Under certain additional circumstances both rules and Appian-provided functions may go unmeasured. Custom Function Plug-ins that evaluate successfully are always measured.

Trace File Metrics (expressions_trace.csv)

Because most interfaces evaluate many rules and expression functions to serve a single request, enabling the expressions trace log may adversely affect system performance.

Metric Description
Timestamp Date and time of the expression evaluation.
Name Name of the function or rule.
Type "Appian Function", "Function" (custom plugin), "Smart Service", or "Rule" (anything referenced using rule!). For smart service functions, time measurements only include the time spent evaluationg the expression and do not include executing the smart service.
Total Time (ms) Total time evaluating the function or rule including the time to evaluate its inputs.
User UUID of user who invoked the function or rule.
Thread ID of the thread the function or rule was evaluated on.
Individual Time (ms) Total time evaluating the function or rule exluding the time to evaluate its inputs. For example, given that rule!getDistinctItems(items: rule!getAllItems()) has a Total Time of 100ms and rule!getAllItems has a Total Time of 80ms, then rule!getDistinctItems has an Individual Time of 20ms.
Called By Rule Name of the rule that called the object specified in Name. This value will be blank for top-level rules and internal functions.

Summary File Metrics (expressions_summary.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Function Count Number of functions evaluated.
Mean Function Time (ms) Average time spent evaluating functions.
Rule Count Number of rules evaluated.
Mean Rule Time (ms) Average time spent evaluating rules.
Minimum Function Time (ms) Shortest time required to evaluate a single function.
Maximum Function Time (ms) Longest time required to evaluate a single function.
Minimum Rule Time (ms) Shortest time required to evaluate a single rule.
Maximum Rule Time (ms) Longest time required to evaluate a single rule.

Rule and Plugin Function Details File Metrics (expressions_details.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Name Name of the function or rule.
Type "Function" (custom plugin) or "Rule" (anything referenced using rule!).
Total Count Number of invocations of this function or rule.
Mean Total Time (ms) Average amount of time required to evaluate this function or rule.
Minimum Total Time (ms) Smallest amount of time required to evaluate this function or rule.
Maximum Total Time (ms) Longest amount of time required to evaluate this function or rule.

Appian Function Details File Metrics (appian_functions_details.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Name Name of the function or rule.
Type "Appian Function" or "Smart Service". For smart service functions, time measurements only include the time spent evaluating the expression and do not include executing the smart service.
Total Count Number of invocations of this function or smart service.
Mean Total Time (ms) Average amount of time required to evaluate this function or smart service.
Minimum Total Time (ms) Smallest amount of time required to evaluate this function or smart service.
Maximum Total Time (ms) Longest amount of time required to evaluate this function or smart service.

Offline Mobile Performance Logs

These log files provide measurements on offline mobile performance.

Trace File Metrics (offline_trace.csv)

Metric Description
Timestamp Date and time of an action list request.
Evaluation Time (ms) Time spent refreshing the action list and actions.
Total Action Count Total number of actions in the action list.
Offline Action Count Number of offline actions in the action list.
Response Size (bytes) Size of the action list request response.
Time Since Last Action List Request (min) Time since the action list was last requested.
Interaction Type The client's reason for making the request. Possible values: Scheduled (requested without direct user action), Foreground (user opened the app), Requested (user refreshed their action list).

Summary File Metrics (offline_summary.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Total Action List Request Count Number of action list requests.
Scheduled Action List Request Count Number of action list requests for offline use without direct user action.
Foreground Action List Request Count Number of action list requests for offline use because a user opened the app.
Requested Action Form Cache Count Number of action list requests for offline use because a user refreshed their action list.
Mean Action List Request Time (ms) Average time spent refreshing the action list and actions.
Minimum Action List Request Time (ms) Shortest time spent refreshing the action list and actions.
Maximum Action List Request Time (ms) Longest time spent refreshing the action list and actions.
Mean Total Actions Average total number of actions in the action list.
Minimum Total Actions Smallest total number of actions in the action list.
Maxmimum Total Actions Largest total number of actions in the action list.
Mean Offline Actions Average number of offline actions in the action list.
Minimum Offline Actions Smallest number of offline actions in the action list.
Maxmimum Offline Actions Largest number of offline actions in the action list.
Mean Action List Request Response Size (bytes) Average size of an action list request response.
Minimum Action List Request Response Size (bytes) Smallest size of an action list request response.
Maxmimum Action List Request Response Size (bytes) Largest size of an action list request response.
Mean Time Since Last Action List Request (min) Average time since the action list was last requested.
Minimum Time Since Last Action List Request (min) Shortest time since the action list was last requested.
Maximum Time Since Last Action List Request (min) Longest time since the action list was last requested.

REST API Performance Logs

These logs report information on Appian's REST API, which powers both Appian's web interface as well as the mobile clients.

Requests are broken into five phases:

  1. Prepare - Time spent preparing to make a data source lookup. This phase may also involve secondary lookups.
  2. Query - Time spent querying the main data source involved in processing the REST API call in question.
  3. Render - Time spent post-processing the returned data and preparing it to display.
  4. Task Fetch - Time spent retrieving task information related to the REST API call results.
  5. User Fetch - Time spent pulling information about users related to the REST API call results.

Trace File Metrics (rest_trace.csv)

Metric Description
Timestamp Date and time of the API call.
Thread Identification number of the querying thread.
Operation Type Type of the requested operation.
Operation Name Possible values are "get feed", "add entry", and "add comment".
Operation Detail Other information about the operation including the username making the request as well as the query string.
Prepare Time (ms) Time spent in the Prepare phase of the request.
Execute Time (ms) Time spent in the Execute phase of the request.
Render Time (ms) Time spent in the Render phase of the request.
Task Fetch Time (ms) Time spent in the Task Fetch phase of the request.
User Fetch Time (ms) Time spent in the User Fetch phase of the request.
Other App Server Time (ms) Time spent outside of the five phases.

Summary File and Details File Metrics (rest_summary.csv / rest_details.csv)

Metrics labeled "[Details Only]" apply only to the details file. This is because the details file provides the same metrics as the summary file, but the metrics are broken down for each call and each operating system.

Metric Description
Timestamp Date and time when the metric is taken.
[Details only] API Call URI of the request. To ensure aggregation of functionally identical but slightly dissimilar URIs, all numbers are changed to 0 before being grouped. Additionally, usernames and search queries are filtered out.
Total Count Number of calls.
Mean Total Time (ms) Average time spent responding to a call.
Prepare Phase Count Number of calls with a Prepare phase.
Prepare Phase Mean Total Time (ms) Average time each call spent in the Prepare phase.
Execute Phase Count Number of calls with an Execute phase.
Execute Phase Mean Total Time (ms) Average time each call spent in the Execute phase.
Render Phase Count Number of calls with a Render phase.
Render Phase Mean Total Time (ms) Average time each call spent in the Render phase.
Task Fetch Phase Count Number of calls with a Task Fetch phase.
Task Fetch Phase Mean Total Time (ms) Average time each call spent in the Task Fetch phase.
User Fetch Phase Count Number of calls with a User Fetch phase.
User Fetch Phase Mean Total Time (ms) Average time each call spent in the User Fetch phase.
Read Count Number of calls that merely accessed data.
Write Count Number of calls that modified data.
[Details only] Web Count Number of calls made from the web interface.
[Details only] iOS Count Number of calls made from the iOS mobile client.
[Details only] Android Count Number of calls made from the Android mobile client.
Min Total Time (ms) Minimum time spent responding to a call.
Max Total Time (ms) Maximum time spent responding to a call.
Prepare Phase Min Time (ms) Minimum time spent responding in a call's Prepare phase.
Prepare Phase Max Time (ms) Maximum time spent responding in a call's Prepare phase.
Execute Phase Min Time (ms) Minimum time spent responding in a call's Execute phase.
Execute Phase Max Time (ms) Maximum time spent responding in a call's Execute phase.
Render Phase Min Time (ms) Minimum time spent responding in a call's Render phase.
Render Phase Max Time (ms) Maximum time spent responding in a call's Render phase.
Task Fetch Phase Min Time (ms) Minimum time spent responding in a call's Task Fetch phase.
Task Fetch Phase Max Time (ms) Maximum time spent responding in a call's Task Fetch phase.
User Fetch Phase Min Time (ms) Minimum time spent responding in a call's User Fetch phase.
User Fetch Phase Max Time (ms) Maximum time spent responding in a call's User Fetch phase.

Report Performance Logs

These files provide performance measurements on reporting functionality executed through the Designer Interface. They can include the following three phases:

  • Query - Waiting to hear back from the RDBMS.
  • Group - Organizing the results by columns.
  • Sort - Applying the sort configurations.
  • Merge - Combining the results from each Appian Engine into a single result.

Not all operations involve all three phases. For example, Verify operations do not go through a Transform phase.

Tracing File Metrics (reporting_trace.csv)

Metric Description
Timestamp Date and time of the report execution.
Report Name Full name associated with the report.
.ARF Document ID ID number of the report's definition file.
Report Type Origin of the report. Possible values include "Process Model", "Process Model Version", "Process", and "Task".
Context Type Context used by this report. Possible values include
Valid Report Returned Indicates if the report executed and returned results without an error. True if the report returned successfully, otherwise false.
Returned Within Maximum Allowed Time Indicates if the report returned results in the defined time frame. True if the report did not time out, otherwise false.
Returned Rows Number of rows returned for display.
Available Rows Number of rows available to display data on each page of the report.
Total Time Total time it took to execute the report.
Query Time Time spent querying the analytics engines.
Grouping Time Time spent performing aggregations on report data.
Sorting Time Time spent sorting the report's results.
Merge Time Time spent merging results from different analytics engines.

Summary File and Detailed File Metrics (reporting_summary.csv / reporting_details.csv)

Metrics labeled "[Details Only]" apply only to the details file. This is because the details file provides the same metrics as the summary file, but the metrics are broken down for each report.

Metric Description
Timestamp Date and time when the metric is taken.
[Details only] Report Name Full name associated with this report.
[Details only] .arf Content ID ID number of the report's definition file.
Total Count Number of reports executed in the time interval.
Mean total Execution Time Average amount of time spent executing each report.
Mean Returned Rows Average number of rows returned for display.
Mean Available Rows Average number of rows available to display data on each page of the report.
Invalid Count Number of reports that did not complete successfully (including timeouts).
Timed Out Count Number of reports that timed out.
Query Phase Count Number of reports that measured a Query phase.
Mean Query Time Average amount of time spent in the Query phase.
Group Phase Count Number of reports that measured a Group phase.
Mean Grouping Time Average amount of time spent in the Group phase.
Sort phase Count Number of reports that measured a Sort phase.
Mean Sorting Time Average amount of time spent in the Sort phase.
Merge Phase Time Number of reports that measured a Merge phase.
Mean Merging Time Average amount of time spent in the Merge phase.
Process Model Report Count Number of process model reports executed in the time interval.
Process Model Version Report Count Number of process model version reports executed in the time interval.
Process Report Count Number of process reports executed in the time interval.
Task Report Count Number of task reports executed in the time interval.
System Context Count Number of reports executed using a system context.
Process Model Context Count Number of reports on context-specified process models.
Process Model Version Context Count Number of reports on context-specified process model versions.
Node Context Count Number of reports on context-specified nodes.
Process Context Count Number of reports on context-specified processes.
Creator Context Count Number of reports on processes created by the context-specified users.
Last Modifier Context Count Number of reports on processes last modified by the context-specified users.
Initiator Context Count Number of reports on processes initiated by the context-specified users.
Attributed User Context Count Number of reports on tasks attributed to the context-specified users.
Assigned Group Context Count Number of reports on tasks assigned to the context-specified groups.
Owner Context Count Number of reports on tasks owned by the context-specified users.
Attributed Group Context Count Number of reports on tasks attributed to the context-specified groups.
Minimum Total Execution Time Shortest time required to complete a report's execution.
Maximum Total Execution Time Longest time required to complete a report's execution.
Minimum Returned Rows Fewest rows returned for one report.
Maximum Returned Rows Most rows returned for one report.
Minimum Available Rows Fewest rows available.
Maximum Available Rows Most rows available.
Minimum Query Time Shortest time required to complete a report's Query phase.
Maximum Query Time Longest time required to complete a report's Query phase.
Minimum Grouping Time Shortest time required to complete a report's Group phase.
Maximum Grouping Time Longest time required to complete a report's Group phase.
Minimum Sorting Time Shortest time required to complete a report's Sort phase.
Maximum Sorting Time Longest time required to complete a report's Sort phase.
Minimum merging Time Shortest time required to complete a report's Merge phase.
Maximum Merging Time Longest time required to complete a report's Merge phase.

Interface Performance Logs

These log files provide performance measurements on interfaces, including record and report dashboards and start and task forms.

Trace File Metrics (sail_trace.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Interface Type The type of interface being accessed. Possible values: record dashboard, report dashboard, start form, task form, related action (process start), related action (quick task), internal.
Client The client used to access the interface. Possible values: web, ios, android.
Evaluation Type The type of interface interaction. Possible values: initial load, re-evaluation, save, submission.
Username Username of the user who accessed the interface.
Server Evaluation Time (ms) Time spent on the server evaluating the interface.
Context Size (bytes) Amount of data in the server context.
Interface Size (bytes) Size of the interface.
Component Count Number of components visible in the interface.
Record Type For record dashboards and related actions, the urlstub of the record type.
Record ID For record dashboards, the ID of the associated record type.
Record Dashboard ID For record dashboards, the urlstub of the dashboard.
Report ID For report dashboards, the urlstub of the report.
Process Model ID For start forms and non-quick task related actions, the ID of the associated process model.
Process ID For start forms and quick task related actions, the ID of the associated process instance.
Task ID For task forms, the ID of the associated task.
Internal ID For internal interfaces, the identifier for the associated interface.
UI State Database Update Time Time spent storing mobile client interface state in the Appian data source. This is always blank for web client requests.
UI State Database Fetch Time Time spent retrieving mobile client interface state from the Appian data source. This is always blank for web client requests.
UI State Compression Time (ms) Time spent compressing the interface context.
UI State Encryption Time (ms) Time spent encrypting the interface context for transmission to the client.

Summary File Metrics (sail_summary.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Total Evaluations Number of interface evaluations in the time interval.
Web Client Evaluations Number of interface evaluations by web clients in the time interval.
iOS Evaluations Number of interface evaluations by iOS clients in the time interval.
Android Evaluations Number of interface evaluations by Android clients in the time interval.
Mean Total Evaluation Time (ms) Average amount of server time spent evaluating an interface.
Minimum Total Evaluation Time (ms) Minimum amount of server time spent evaluating an interface.
Maximum Total Evaluation Time (ms) Maximum amount of server time spent evaluating an interface.
Mean Context Size (bytes) Average size of the server context for an interface.
Minimum Context Size (bytes) Smallest server context for an interface.
Maximum Context Size (bytes) Largest server context for an interface.
Mean Interface Size (bytes) Average size of the interface.
Minimum Interface Size (bytes) Smallest interface size.
Maximum Interface Size (bytes) Largest interface size.
Mean Component Count Average number of visible components in an interface.
Minimum Component Count Smallest number of visible components in an interface.
Maximum Component Count Largest number of visible components in an interface.
Total Record Dashboard Evaluations Number of record dashboards accessed in the time interval, not including reevaluations.
Total Record Dashboard Initial Loads Number of record dashboards accessed in the time interval, not including reevaluations.
Total Report Dashboard Evaluations Total number of report dashboards accessed in the time interval, including reevaluations.
Total Report Dashboard Initial Loads Number of report dashboards accessed in the time interval, not including reevaluations.
Total Start Form Evaluations Number of start forms accessed in the time interval, including reevaluations and submissions.
Total Start Form Initial Loads Number of start forms accessed in the time interval, not including reevaluations or submissions.
Total Start Form Submissions Number of start forms submitted in the time interval.
Total Task Form Evaluations Number of task forms accessed in the time interval, including reevaluations, saves, and submissions.
Total Task Form Initial Loads Number of task forms accessed in the time interval, not including reevaluations, saves, and submissions.
Total Task Form Submissions Number of task forms submitted in the time interval.
Mean UI State Database Update Time Average time spent storing mobile client interface state in the Appian data source.
Minimum UI State Database Update Time Shortest time spent storing mobile client interface state in the Appian data source.
Maximum UI State Database Update Time Longest time spent storing mobile client interface state in the Appian data source.
Mean UI State Database Fetch Time Average time spent retrieving mobile client interface state from the Appian data source.
Minimum UI State Database Fetch Time Shortest time spent retrieving mobile client interface state from the Appian data source.
Maximum UI State Database Fetch Time Longest time spent retrieving mobile client interface state from the Appian data source.
Mean UI State Compression Time (ms) Average time spent compressing the interface state.
Minimum UI State Compression Time (ms) Shortest time spent compressing the interface state.
Maximum UI State Compression Time (ms) Longest time spent compressing the interface state.
Mean UI State Encryption Time (ms) Average time spent encrypting the interface state for transmission to the client.
Minimum UI State Encryption Time (ms) Shortest time spent encrypting the interface state for transmission to the client.
Maximum UI State Encryption Time (ms) Longest time spent encrypting the interface state for transmission to the client.
Evaluations With Stateful Context Number of evaluations that kept the context on the server and did not transmit it to the client.
Evaluations With Stateless Context Number of evaluations that transmitted an encrypted context to the client instead of storing it on the server.
Total Action Form Cache Count Number of action form cache requests.
Scheduled Action Form Cache Count Number of action forms cached for offline use without direct user action.
Foreground Action Form Cache Count Number of action forms cached for offline use because a user viewed the action list.
Requested Action Form Cache Count Number of action forms cached for offline use because a user viewed the action.
Mean Action Form Cache Evaluation Time (ms) Average time spent evaluating action forms for caching purposes.
Minimum Action Form Cache Evaluation Time (ms) Shortest time spent evaluating action forms for caching purposes.
Maximum Action Form Cache Evaluation Time (ms) Longest time spent evaluating action forms for caching purposes.
Mean Action Form Cache Size (bytes) Average size of a cached action form in bytes.
Minimum Action Form Cache Size (bytes) Smallest size of a cached action form in bytes.
Maxmimum Action Form Cache Size (bytes) Largest size of a cached action form in bytes.
Offline Submissions Attempted Number of submissions attempted while offline.
Offline Submissions Succeeded Number of offline submissions that completed successfully.
Offline Submission Validation Failures Number of offline submissions that failed due to form validation.
Offline Submission Form Mismatch Failures Number of offline submissions that failed because the form had been updated.
Mean Offline Submissions Evaluation Time (ms) Average time spent evaluating offline submissions.
Minimum Offline Submissions Evaluation Time (ms) Shortest time spent evaluating offline submissions.
Maximum Offline Submissions Evaluation Time (ms) Longest time spent evaluating offline submissions.
Mean Offline Submissions Size (bytes) Average size of offline form submissions in bytes.
Minimum Offline Submissions Size (bytes) Smallest size of offline form submissions in bytes.
Maximum Offline Submissions Size (bytes) Largest size of offline form submissions in bytes.

Details File Metrics (sail_details.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Interface Type The type of this interface. Possible values: record dashboard, report dashboard, start form, task form, related action (process start), related action (quick task), internal.
Total Evaluations Number of evaluations of this interface during the time interval.
Web Client Evaluations Number of evaluations of this interface during by web clients during the time interval.
iOS Evaluations Number of evaluations of this interface during by iOS clients during the time interval.
Android Evaluations Number of evaluations of this interface during by Android clients during the time interval.
Initial Loads Number of initial evaluations of this interface.
Saves Number of saves of this interface (only task forms can be saved).
Submissions Number of submissions from this interface (only start and task forms can be submitted).
Mean Total Evaluation Time (ms) Average amount of server time spent evaluating this interface.
Minimum Total Evaluation Time (ms) Minimum amount of server time spent evaluating this interface.
Maximum Total Evaluation Time (ms) Maximum amount of server time spent evaluating this interface.
Mean Context Size (bytes) Average server context size for this interface.
Minimum Context Size (bytes) Smallest server context for this interface.
Maximum Context Size (bytes) Largest server context for this interface.
Mean Interface Size (bytes) Average size of this interface.
Minimum Interface Size (bytes) Smallest recorded interface size.
Maximum Interface Size (bytes) Largest recorded interface size.
Mean Component Count Average number of visible components in this interface.
Minimum Component Count Largest number of visible components in this interface.
Maximum Component Count Smallest number of visible components in this interface.
Record Type For record dashboards and related actions, the urlstub of the record type.
Record ID For record dashboards, the ID of the associated record type.
Record Dashboard ID For record dashboards, the urlstub of the dashboard.
Report ID For report dashboards, the urlstub of the report.
Process Model ID For start forms and non-quick task related actions, the ID of the associated process model.
Process ID For start forms and quick task related actions, the ID of the associated process instance.
Task ID For task forms, the ID of the associated task.
Internal ID For internal interfaces, the identifier for the associated interface.
Mean UI State Database Update Time Average time spent storing mobile client state for this interface in the Appian data source.
Minimum UI State Database Update Time Shortest time spent storing mobile client state for this interface in the Appian data source.
Maximum UI State Database Update Time Longest time spent storing mobile client state for this interface in the Appian data source.
Mean UI State Database Fetch Time Average time spent retrieving mobile client state for this interface from the Appian data source.
Minimum UI State Database Fetch Time Shortest time spent retrieving mobile client state for this interface from the Appian data source.
Maximum UI State Database Fetch Time Longest time spent retrieving mobile client state for this interface from the Appian data source.
Mean UI State Compression Time (ms) Average time spent compressing this interface's state.
Minimum UI State Compression Time (ms) Shortest time spent compressing this interface's state.
Maximum UI State Compression Time (ms) Longest time spent compressing this interface's state.
Mean UI State Encryption Time (ms) Average time spent encrypting this interface's state for transmission to the client.
Minimum UI State Encryption Time (ms) Shortest time spent encrypting this interface's state for transmission to the client.
Maximum UI State Encryption Time (ms) Longest time spent encrypting this interface's state for transmission to the client.
Evaluations With Stateful Context Number of this interface's evaluations that kept the context on the server and did not transmit it to the client.
Evaluations With Stateless Context Number of this interface's evaluations that transmitted an encrypted context to the client instead of storing it on the server.
Total Action Form Cache Count Number of times this interface was cached for offline use.
Scheduled Action Form Cache Count Number of times this interface was cached not in response to a user action.
Foreground Action Form Cache Count Number of times this interface was cached in response to user action.
Requested Action Form Cache Count Number of action forms cached for offline use.
Mean Action Form Cache Evaluation Time (ms) Average time spent evaluating action forms for caching purposes.
Minimum Action Form Cache Evaluation Time (ms) Shortest time spent evaluating action forms for caching purposes.
Maximum Action Form Cache Evaluation Time (ms) Longest time spent evaluating action forms for caching purposes.
Mean Action Form Cache Size (bytes) Average size of a cached action form.
Minimum Action Form Cache Size (bytes) Smallest size of a cached action form.
Maxmimum Action Form Cache Size (bytes) Largest size of a cached action form.
Offline Submissions Attempted Number of submissions attempted while offline.
Offline Submissions Succeeded Number of offline submissions that completed successfully.
Offline Submission Validation Failures Number of offline submissions that failed due to form validation.
Offline Submission Form Mismatch Failures Number of offline submissions that failed because the form had been updated.
Mean Offline Submissions Evaluation Time (ms) Average time spent evaluating offline submissions.
Minimum Offline Submissions Evaluation Time (ms) Shortest time spent evaluating offline submissions.
Maximum Offline Submissions Evaluation Time (ms) Longest time spent evaluating offline submissions.
Mean Offline Submissions Size (bytes) Average size of offline form submissions.
Minimum Offline Submissions Size (bytes) Smallest size of offline form submissions.
Maximum Offline Submissions Size (bytes) Largest size of offline form submissions.

Search Server Replication Performance Logs

The search server replication performance log records the replication of data to the search server for indexing. The log is written to each time a replication occurs, which can be up to once per minute.

Summary File Metrics (search_server_replication_summary.csv)

Metric Description
Timestamp Date and time of the replication.
Server Id Unique identifier for the application server that is the source of the replication activity. This can be used to filter or group replication entries.
ID Unique identifier for the replication event. Multiple lines may all be part of the same replication event.
Source Source of the data being replicated to the search server.
Sink The destination index in the search server to which the data is being replicated.
Action The type of replication action that occurred. Possible values are
  • BULK_LOAD - Replication of all relevant data from the source.
  • INCREMENTAL_UPDATE - Incremental update of recent changes to data in the source. Each change is referred to as a transaction.
Total Time (ms) Total amount of time spent replicating the data. This value will be greater than the sum of the other timing values in this log because it contains the time for overhead and phases not specifically logged.
Txn Count Number of transactions replicated as part of an INCREMENTAL_UPDATE action. When the action is BULK_LOAD, this value is reported as -1, indicating there are no transactions to replicate.
Delete Count Number of items deleted from the index as part of the INCREMENTAL_UPDATE action. When the action is BULK_LOAD, this value is reported as -1, indicating that the index is cleared in its entirety instead of deleting individual items.
Delete Time (ms) Amount of time spent deleting items from the index.
Load Count Number of items loaded from the source for replication.
Load Time (ms) Amount of time spent loading items from the source for replication.
Upsert Count Number of items updated or inserted into the destination index. This value will sometimes be less than the Load Count value because certain types of objects are excluded from replication.
Upsert Prepare Time (ms) Amount of time spent preparing the items for updating or inserting into the destination index.
Upsert Persist Time (ms) Amount of time spent updating or inserting items into the destination index.

Smart Services Performance Logs

These logs only report the performance of Java Smart Services, including both Appian and plug-in Smart Services. They do not cover other types of nodes such as gateways, tasks, and script nodes.

Trace File Metrics (smart_services_trace.csv)

Metric Description
Timestamp Date and time when Smart Service is executed.
Activity Name Fully qualified java classname of the Smart Service.
Process Model ID Local ID of the process model to which this Smart Service belongs.
Process ID Local ID of the process to which this Smart Service belongs.
Username Username of the user context in which this Smart Service is executing.
Run by Initiator True if the executing user is also the process initiator, even if this is a coincidence and not configured to be the case, otherwise false.
Run by Designer True if the executing user is also the process designer, even if this is a coincidence and not configured to be the case, otherwise false.
Run in Activity Chain True if this Smart Service is executing as part of an activity chain, otherwise false.
Run as Quick Task True if this Smart Service is executing as part of a quick task, otherwise false.
Total Time (ms) Time required to execute the Smart Service.

Summary File and Details File Metrics (smart_services_summary.csv / smart_services_details.csv)

Metric Description
[Details only] Activity Name Fully qualified java classname of the Smart Service.
Total Count Number of Smart Services executed.
Mean Total Time (ms) Average amount of time each Smart Service took to execute, including the system's setup time.
Initiator Count Number of Smart Services that ran as the process initiator.
Designer Count Number of Smart Services that ran as the process designer.
Chained Count Number of Smart Services that ran as part of an activity chain.
Quick Task Count Number of Smart Services that ran as quick tasks.
Minimum Total Time (ms) Shortest measured execution time of a Smart Service.
Maximum Total Time (ms) Longest measured execution time of a Smart Service.

Web API Performance Logs

Trace File Metrics (web_apis_trace.csv)

Metric Description
Timestamp Date and time when the API is called.
Username Username of the user that executed the Web API.
Endpoint Endpoint of the Web API.
UUID UUID of the Web API.
Status code HTTP status code of the Web API response.
Execution time(ms) How long it took to execute the Web API.
Response size (bytes) The size of the response of the Web API.
HTTP Method The HTTP method of the Web API. One of GET, POST,PUT,DELETE,OPTIONS, or HEAD.

Summary File and Details File Metrics (web_api_summary.csv / web_api_details.csv)

Metric Description
Timestamp Date and time when the metric is taken.
[Details only] Endpoint Endpoint of the Web API.
[Details only] UUID UUID of the Web API.
Execution Count Number of times the a Web API was executed in the time interval.
Status code 1xx count Number of times a Web API returned a 100 series HTTP status code.
Status code 2xx count Number of times a Web API returned a 200 series HTTP status code.
Status code 3xx count Number of times a Web API returned a 300 series HTTP status code.
Status code 4xx count Number of times a Web API returned a 400 series HTTP status code.
Status code 5xx count Number of times a Web API returned a 500 series HTTP status code.
Mean Execution Time (ms) Average amount of time each Web API took to execute.
Minimum Execution Time (ms) Shortest measured execution time of a Web API.
Maximum Execution Time (ms) Longest measured execution time of a Web API.
Mean Response Size (bytes) Average size of a Web API response.
Minimum Response Size (bytes) Smallest size of a Web API response.
Maximum Response Size (bytes) Largest size of a Web API response.
HTTP Method The HTTP method of the Web API. One of GET,POST,PUT,DELETE, or HEAD.

Work Poller Performance Logs

Work poller items are activity from unattended processes that are processed by the application server.

Summary File and Details File Metrics (work_poller_summary.csv / work_poller_details.csv)

Metric Description
Timestamp Date and time when the metric is taken.
Work Items Started Number of work items that were begun in the time period.
Work Items Completed Number of work items that were completed in the time period.
Maximum Threads In Concurrent Use Maximum number of threads that were used to process work items in the period.
Total Completion Time (ms) Total amount of time spent completing work items.
Mean Completion Time (ms) Average time it took to complete a work item.
Minimum Completion Time (ms) Time it took to complete the fastest work item.
Maximum Completion Time (ms) Time it took to complete the longest work item.

Analyzing Data Metrics

Data metrics logs are written to the APPIAN_HOME/logs/data-metrics directory and contain information about the quantity of data in the Appian system. You can observe and analyze them using common spreadsheet tools.

They are written to every twelve hours and provide a view of how much data is in the system at the present time and how the amount of data is changing over time.

Action Metrics Log

The Action Metrics log file (actions.csv) provides information about actions.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Total Actions Total number of actions in all applications.
Offline Actions Number of actions that are configured to be available for offline mobile.
Starred Actions Number of actions that are starred at least once.
Total Applications with Actions Number of applications containing at least one action.
Maximum Actions per Application Number of actions in the application that has the most actions.

Administration Console Log

The Administration Console log file (admin_console.csv) provides a record of which Administration Console properties have been changed away from their default values.

Metric Description
Timestamp Date and time when the metric is taken.
Property The key of the property that has been modified.
Count The number of customized values for the property. For properties with a single value, the count will be 1. For list properties, the count will be the number of items in the list.

This log does not cover changes to the following areas of the Administration console:

  • Plug-ins
  • User Start Pages, except for Default Start Page
  • Client Certificates
  • Trusted Server Certificates
  • Third-Party Credentials

Cache Metrics Log

The Cache Metrics log file (cache.csv) provides information about application server caches. One line will be written to the log file for every cache that has been initialized.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Cache Name Name of the cache.
Total Objects Total number of objects in the cache.
Hit Count Number of times the data was served from the cache.
Miss Count Number of times the data was not found in the cache.
Remove Count Number of times objects have been removed from the cache.
Update Count Number of times objects in the cache have been updated.

Connected System Metrics Log

The Connected System Metrics log (connected_systems.csv) provides information about connected systems.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Number of Connected Systems Total number of connected system objects in all applications.
Number of Connected Systems with Custom Logos Number of connected systems that have custom system logos.
Number of Connected Systems with OAuth Authentication Number of connected systems with OAuth 2.0 Authorization Code grant Authentication.
Number of Connected Systems with Basic Authentication Number of connected systems with HTTP Basic Authentication.
Number of Amazon Machine Learning Connected Systems Number of Amazon Machine Learning Connected Systems.
Number of HTTP Connected Systems Number of HTTP connected systems.
Number of OpenAPI Connected Systems Number of OpenAPI connected systems.

Content Metrics Log

The Content Metrics log (content.csv) records metrics on data stored in the Content Engine Server.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Total Content Total number of content objects of all types in the system.
Documents Number of documents uploaded to the system, including past versions.
Folders Number of folders in within knowledge centers.
Personal Knowledge Centers Number of knowledge centers within the Personal and Teams folder.
Community Knowledge Centers Number of knowledge centers within the Communities folder.
Communities Number of communities within the Communities folder.
Rules and Constants Number of rules and constants in the system, including past versions.
Applications Number of applications in the system.
Custom Content Number of objects created via the CustomContent API.
Total Downloads Total number of times users have downloaded documents from the system.
Users Who Have Downloaded Number of users who have downloaded at least one document.
Users Who Have Uploaded Number of users who have uploaded at least one document.
Most Downloads of a Single Document Number of times the most downloaded document has been downloaded.
Offline Interfaces Number of interfaces that are made available for offline mobile.

Data Server Metrics Logs

The Data Server metrics logs capture information about how the processes that make up the data server component of the Appian platform are functioning so that Appian Technical Support can help troubleshoot issues. The log files contain quantitative data only and no sensitive information.

The following files in the data-metrics directory are data server metrics logs (<port> will be replaced with the port the component is using):

  • bg-append-<port>.csv - Metrics for the append operation by the background process
  • bg-ss-<port>.csv - Metrics for the background snapshot process
  • data-server-client.csv - Metrics for the calls made by the application through data server client
  • hs-gw-<port>.csv - Metrics for the historical store gateway process
  • hs-q-<port>.csv - Metrics for the historical store process
  • rts-gw-<port>.csv - Metrics for the real-time store gateway process
  • rts-q-<port>.csv - Metrics for the real-time store process
  • wd-<port>.csv - Metrics for the resource utilization by all the data server processes

Data Type Metrics Log

The Data Type Metrics log file (types.csv) provides information on the system and custom data types created in the system.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Total Types Number of types in the system, both system and custom.
System Types Number of types built into the system.
Namespaces Number of namespaces containing types, including the built-in system type namespace.
Total Custom Types Number of types created by designers, including list types and deactivated types.
Custom Complex Types Number of active custom complex types, not including list types.
Custom List Types Number of active custom list types.
Custom Deactivated Types Number of custom types that are deactivated, including older versions of current custom types.
Visible Custom Types Number of custom types not marked has hidden and potentially available for selection as a type for node inputs, node outputs, process and data store entities.
Designer-Created Custom Types Number of custom types created in the Data Type Designer. Types created via XSD import are not included.
Web Service Custom Types Number of custom types created from a web service's WSDL instead of the Data Type Designer or XSD import.
Temporary Types Number of web service types that are not yet associated with a published process model.
Importing Types Number of types that are in the process of being imported.

Decision Metrics Log

The Decision Metrics log file (decisions.csv) provides information on the Decisions created in the system.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Average Number of Rows Average number of rows per Decision.
Max Number of Rows Maximum number of rows in a single Decision.
Decisions With 25 Rows or Less Number of Decisions with 25 or less rows.
Decisions With 26 to 50 Rows Number of Decisions with between 26 and 50 rows.
Decisions With More Than 50 Rows Number of Decisions with more than 50 rows.
Average Number of Inputs Average number of inputs per Decision.
Max Number of Inputs Maximum number of inputs in a single Decision.
Average Number of Outputs Average number of outputs per Decision.
Max Number of Outputs Maximum number of outputs in a single Decision.
Decisions Using List of Values for Inputs Number of Decisions with at least one list of values as an input.
Decisions Using List of Values for Outputs Number of Decisions with at least one list of values as an output.
Decisions Using Appian Object Outputs Number of Decisions with at least one output of type Document, Folder, Group, Process Model, User, or User or Group.
Decisions Using Between Exclusive Operator Number of Decisions using the Between exclusive operator at least once.
Unique Hit Policy Decisions Number of Decisions using the Unique hit policy.
Rule Order Hit Policy Decisions Number of Decisions using the Rule Order hit policy.
First Hit Policy Decisions Number of Decisions using the First hit policy.

Design Object Versions Metrics Log

The Design Object Versions log file (design_object_versions.csv) provides information on the version history created on export for different design objects. This version history is used for determining inspection statuses and is different than the versions that designers can access for interfaces, process models, etc.

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Object Type Design object type being tracked.
Total Count Total number of objects of the given type with version history generated by export.
Min Number of Versions Minimum number of versions for a single object of the given type.
Average Number of Versions Average number of versions for a single object of the given type.
Max Number of Versions Maximum number of versions for a single object of the given type.

Disk Usage Metrics Logs

The Disk Usage Metrics log (disk_usage.csv) records the disk space used and available in a number of directories important to the application server. One line is logged per monitored directory. These metrics are not available on Windows.

The directories monitored are:

Metric Description
Logs <AE_HOME>/logs/
Process Models <AE_HOME>/_admin/models/
Search Indexes <AE_HOME>/_admin/search-local/search-server/
News Feed Index <AE_HOME>/_admin/search-local/index-primary/ (values print as -1; news index is now part of search indexes)
Document Partitions By default, there are three document partitions (accdocs#) in <AE_HOME>/_admin/

Metrics include the following:

Metric Description
Timestamp Date and time when the metric is taken.
Directory Name of the monitored directory.
Partition Space Available (MB) Amount of space available on the partition mounting this directory.
Partition Space Used (MB) Amount of space used on the partition mounting this directory.
Directory Space Used (MB) Amount of space used on by the contents of this directory, including subdirectories.

The Engine Disk Usage Metrics log (engine_disk_usage.csv) records the disk space used and available in a number of directories important to the engine server. One line is logged per monitored directory. The directories monitored are:

Directory Name Location
Logs <AE_HOME>/logs/
Archived Processes <AE_HOME>/server/archived-process/
Engine Gateways By default:
  • one per non-process engine in <AE_HOME>/server/[engine name]/gw1
  • one for process design in <AE_HOME>/server/process/design/gw1/
  • three for analytics in <AE_HOME>/server/process/analytics/[engine id]/gw1/
  • three for process execution in <AE_HOME>/server/process/execution/[engine id]/gw1/
  • Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Directory Name of the monitored directory.
    KDB File Count Number of KDB files in the directory.
    Partition Space Available (MB) Amount of space used and free space on the partition mounting this directory.
    Partition Space Used (MB) Amount of space used on the partition mounting this directory.
    Directory Space Used (MB) Amount of space used on by the contents of this directory, including subdirectories.

    Expression Rule Test Cases Metrics Log

    The Expression Rule Test Cases Metrics log file (expression_rule_test_cases.csv) provides information about the amount test cases and the types of assertions for expression rules in the system. All counts are for the current versions of every expression rule and not any previous versions of the rules.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Number of Expression Rules Total number of expression rules in the system, not including all versions of the rules.
    Rules with 1 Test Case Number of expression rules with only 1 test case.
    Rules with Between 2 and 5 Test Cases Number of expression rules with between 2 and 5 test cases.
    Rules with Between 6 and 10 Test Cases Number of expression rules with between 6 and 10 test cases.
    Rules with Between 11 and 25 Test Cases Number of expression rules with between 11 and 25 test cases.
    Rules with more than 25 Test Cases Number of expression rules with greater than 25 test cases.
    Mean Test Cases Average number of test cases per expression rule.
    Max Test Cases Maximum number of test cases for an expression rule in the system.
    Test Cases with No Assertions Total number of test cases that are not asserting a specific output or expression.
    Test Cases with Asserted Outputs Total number of test cases that assert a specific output.
    Test Cases with Expression Assertions Total number of test cases with expression assertions.

    File Extension Blocking Metrics Log

    The File Extension Blocking log (file_extension_blocking.csv) records metrics on file extension blocking settings in the Administration Console. This log can be used to track the level of file security controls over time.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Blocking Setting The type of file extension list configured. Options: "Block List", "Allow List"
    Number of File Extensions Specified The number of unique extensions specified
    Files Without Extension Setting The value of the setting for whether to allow or block files without extensions. Options: "Enabled" or "Disabled"
    File Type Verification Setting The value of the setting for whether to block any file with an extension that does not match its type. Options: "Enabled" or "Disabled"

    Group Metrics Log

    The Group Metrics log (groups.csv) provides information about groups and group types.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Groups Number of groups in the system.
    Group Types Number of group types in the system.
    Custom Groups Number of groups of type Custom.
    Department Groups Number of groups of type Department.
    Team Groups Number of groups of type Team.
    Groups with Rules Number of groups with at least one rule.
    Maximum Groups per Group Type Maximum number of groups per group type (excluding Custom, Department, and Team).
    Average Groups per Group Type Average number of groups per group type (excluding Custom, Department, and Team).
    Maximum Group Type Attributes Maximum number of attributes on a single group type.
    Groups with Parent Number of groups with a parent group defined.

    Integration Metrics Log

    The Integration Metrics log (integrations.csv) provides information about integrations.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Number of Integrations Total number of integration objects in all applications.
    Number of Read Integrations Number of integrations that query data.
    Number of Write Integrations Number of integrations that modify data.
    Number of Integrations Using Expressions Number of integrations that use expressions in their configuration fields (other than the Body).
    Number of Integrations Using Connected Systems Number of integrations that use connected systems.
    Average Number of Integration Inputs Average number of inputs per integration.
    Max Number of Integration Inputs Maximum number of inputs in a single integration.

    News Metrics Log

    The News Metrics log (news.csv) records metrics on the number of feeds, posts, comments, and events produced and used on the News tab of the Tempo interface.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Total Feed Count Number of feeds in the system.
    Feed Opt-Out Count Total number of opted-out feeds across all users.
    Unique Users Who Have Opted-Out Number of users who have opted-out of at least one feed.
    Personalized Subscription Count Number of personalized feed subscriptions across all users.
    Unique Users With Personalized Subscriptions Number of users who have personalized subscriptions to at least one feed.
    Total Event Count Total number of feed events across all entry types but not including comments.
    Business Event Count Number of events posted by the Post Event to Feed Smart Service.
    System Event Count Number of events posted by the Post System Event to Feed Smart Service.
    Message Event Count Number of message events posted by users.
    Kudos Event Count Number of kudos given by users.
    Starred Event Count Number of starred events across all users.
    Unique Event Author Count Number of unique authors who have posted an event.
    Events with Data Table Count Number of events with associated data tables.
    Events with Action Count Number of events with configured action links.
    Total Comments Count Total number of comments, including hazards.
    Hazard Count Number of hazards.
    Unique Comment Author Count Number of unique authors who have commented on any event.
    Most Comments By A Single Author Number of comments posted by the author with the most comments posted.
    Public Event Count Number of events that are publicly visible.
    Mean Users Targeted By A Single Event Mean number of users that are targeted by non-public events.
    Least Users Targeted By A Single Event Least number of users that are targeted by a single non-public event.
    Most Users Targeted By A Single Event Most number of users that are targeted by a single non-public event.
    Mean Groups Targeted By A Single Event Mean number of groups that are targeted by non-public events.
    Least Groups Targeted By A Single Event Least number of groups that are targeted by a single non-public event.
    Most Groups Targeted By A Single Event Most number of groups that are targeted by a single non-public event.
    Social Task Count Number of social tasks created by all users in the system.
    Closed Social Task Count Number of social tasks closed by all users in the system.
    Unique Social Task Author Count Number of unique users who have sent a social task.
    Unique Social Task Recipient Count Number of unique users who have received a social task.
    Unique Events with File Attachments Number of unique events with at least one file attachment.
    Total Event/File Relationships Total number of links between events and files.
    Most File Attachments By Event Largest number of files attached to a single event.
    Unique Files Attached To Events Number of unique files attached to at least one event.
    Most Events By File Attachment Largest number of events a single file is attached to.
    Unique Events with Related Records Total number of events that are related to at least one record.
    Total Event/Record Relationships Total number of links between events and records.
    Most Related Records By Event Largest number of records associated with a single event.
    Unique Records Related To Events Number of unique records related to at least one event.
    Most Events By Related Record Largest number of events associated with any single record.

    Patch Metrics Log

    The Patch Metrics log (patches.csv) provides general usage data about the patches in the system.

    Metrics include the following:

    Metric Description
    Total Patches Total patches in the system.
    Maximum Patches Maximum number of patches for a single user in the system.
    Mean Patches Average number of patches for a single user in the system.
    Maximum Objects Maximum number of objects in a single patch.
    Mean Objects Average number of objects in a single patch.

    Process Execution Metrics Log

    The Process Execution Metrics log file (process.csv) provides information about the different types of processes and nodes that exist in the system.

    All counts are for the present time and do not include archived processes or their nodes. If, for example, a paused process is restarted before the log executes, it no longer counts as a paused process.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Total Processes Total number of unarchived processes in the execution environment.
    Active Processes Number of processes currently executing.
    Completed Processes Number of processes that have completed but have yet to be archived.
    Paused Processes Number of processes that are paused. A paused process may or may not include a paused node.
    Paused by Exception Processes Number of processes that are paused by exception. A process paused by exception may or may not include nodes that have paused by exception.
    Cancelled Processes Number of processes that have been cancelled but have yet to be archived.
    Unfinished Processes Number of active sub-processes whose parent process has already completed.
    Terminating Processes Number of processes that have reached their end node but have not yet completed it.
    Total Nodes Total number of nodes that have executed as part of unarchived processes.
    Completed Nodes Number of nodes that completed successfully.
    Waiting Nodes Number of attended nodes waiting for user input.
    In-Process Nodes Number of nodes currently executing.
    Paused Nodes Number of nodes that have been paused. This does not include completed, waiting, or in-process nodes in paused processes.
    Paused By Exception Nodes Number of nodes that have paused by exception.

    Process Model Metrics Log

    The Process Model Metrics log file (models.csv) provides information on the different process models and data types created in the system.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Published Models Number of published process models.
    Draft Models Number of draft process models.
    Past Versions of Models Number of past versions of process models.
    Model Attachments Number of attachments to published process models.
    Model Notes Number of notes added to published process models (not including notes added to nodes).
    Models Configured Without Cleanup Number of published process models configured to not be archived or deleted after completion.
    Models Configured for Archive Cleanup Number of published process models configured for archival after completion.
    Models Configured for Delete Cleanup Number of published process models configured to be deleted after completion.
    Models Configured for Default Cleanup Number of published process models using the default cleanup action.
    Maximum Archive Delay Longest number of days any published process model is set to wait between completion and archival.
    Maximum Deletion Delay Longest number of days any published process model is set to wait between completion and deletion.
    Models with Deadlines Number of published process models with deadlines.
    Swim Lanes Number of swim lanes in all published process models.
    Models Alerting Initiator Number of published process models configured to alert the process initiator when encountering a problem.
    Models Alerting Owners Number of published process models configured to alert the process owners when encountering a problem.
    Models Alerting by Expression Number of published process models configured to alert based on the results of an expression when encountering a problem.
    Models Alerting Users and Groups Number of published process models configured to alert specific users and groups when encountering a problem.
    Nodes Number of nodes added to all published process models.
    Minimum Nodes in a Model Number of nodes in the published process model with the fewest nodes.
    Maximum Nodes in a Model Number of nodes in the published process model with the most nodes.
    Attended Nodes Number of attended nodes in all published process models.
    MNI Nodes Number of nodes configured to use either sequential or parallel multiple instances in all published process models.
    Parallel MNI Number of nodes configured to use parallel multiple instances in all published process models.
    Repeating Nodes Number of nodes configured to repeat in all published process models.
    Scheduled Nodes Number of nodes configured to start on a schedule in all published process models.
    Escalating Nodes Number of nodes configured to escalate in all published process models.
    Quick Tasks Number of quick tasks in all published process models.
    Node Attachments Number of attachments to nodes in all published process models.
    Node Notes Number of notes on nodes in all published process models.
    Model Forms Number of start forms in all published process models.
    Node Forms Number of node forms in all published process models.
    Dynamic Forms Number of dynamic forms in all published process models and their nodes.
    JSP Forms Number of JSP forms in all published process models and their nodes.
    Internal Forms Number of HTML or PDF forms in all published process models and their nodes.
    Mobile Forms Number of mobile-enabled forms in all published process models and their nodes.
    Unchained Flows Number of non-activity-chained flows in all published process models.
    Chained Flows Number of activity-chained flows in all published process models.

    Product Metrics Log

    The Product Metrics log (product_metrics_details.csv) records information about how the Appian platform is functioning so that Appian Technical Support can help troubleshoot issues. It contains quantitative data only and no sensitive information.

    Records Metrics Log

    The Records Metrics log file (records.csv) provides information about record types.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Record Type Count Total number of record types.
    Process Model Record Type Count Number of record types that are backed by process models.
    Data Store Entity Record Type Count Number of record types that are backed by data store entities.
    Exportable Data Store Entity Record Type Count Number of record types that are backed by data store entities and also have the 'Show Export to Excel Button' option enabled.
    Unique Users Following Records Count Total number of users following one or more records.
    Average Records Followed By User Total number of records being followed across all record types divided by the total number of users.
    Record Types With Related Actions Count Count of record types that have one or more related actions associated with them.
    Related Actions Count Total number of related actions across all record types.
    Related Actions With Null Titles Count Total number of related actions with a null display name.
    Expression Record Type Count Number of record types that are backed by expressions.
    Exportable Process Model Record Type Count Number of record types that are backed by process models and also have the Show Export to Excel Button option enabled.
    Exportable Expression Record Type Count Number of record types that are backed by expressions and also have the Show Export to Excel Button option enabled.
    Expressionable Default Filters For Data Store Entity Record Type Count Number of record types that are backed by data store entities and have default filters saved as an expression.
    Expressionable Default Filters For Process Model Record Type Count Number of record types that are backed by process models and have default filters saved as an expression.
    Expressionable Default Filters For Expression Record Type Count Number of record types that are backed by expressions and have default filters saved as an expression.
    Default Filters By Field For All Record Types Count Total number of record types that have default filters saved using the By Field option.
    Default Filters By Field For Data Store Entity Record Type Count Number of record types that are backed by data store entities and have default filters saved using the By Field option.
    Default Filters By Field For Process Model Record Type Count Number of record types that are backed by process models and have default filters saved using the By Field option.
    Rule Record Type Count Total number of rule-backed record types.
    Record Type with Grid List View Count Number of record types using a grid view.
    Record Type with Feed List View Count Number of record types using a feed view.
    Data Store Entity Record Type using Grid List View Count Number of entity-backed record types using a grid view.
    Data Store Entity Record Type using Feed List View Count Number of entity-backed record types using a feed view.
    Process Model Record Type using Grid List View Count Number of process-backed record types using a grid view.
    Process Model Record Type using Feed List View Count Number of process-backed record types using a feed view.
    Expression Record Type using Grid List View Count Number of expression-backed record types using a grid view.
    Expression Record Type using Feed List View Count Number of expression-backed record types using a feed view.
    Record Types With User Filters Count Total number of record types that have user filters.
    Data Store Entity Record Types With User Filters Count Number of record types that are backed by data store entities and have at least one user filter.
    Process Model Record Types With User Filters Count Number of record types that are backed by process models and have at least one user filter.
    Expression Record Types With User Filters Count Number of record types that are backed by expressions and have at least one user filter.

    Search Server Metrics Log

    The Search Server Metrics log file (search_server.csv) provides information on the search server component of the Appian architecture. This information is written by an agent within the application server, so in a multiple application server environment this log will be written on each application server running rather than the machine(s) running the search server (if separate).

    If there is an error when connecting to the search server to gather the metrics, the values in the numeric columns will be -1 and the text-based columns will have an error message or be blank.

    All of the total Count and Time columns are calculated since the last startup of the search server. Restarting the application server running the search server will cause these values to reset to 0 in the next write to the log.

    The full set of metrics are as follows:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Node UUID Unique identifier of the node to which this row of metrics belongs.
    Node Name Name of the node to which this row of metrics belongs.
    Host Hostname of the server running the node.
    Transport Address IP address and port on which the node of the search server is listening.
    Document Count Number of non-deleted documents in all indices combined.
    Deleted Document Count Number of documents marked as deleted in all indices combined. The system automatically reclaims deleted document space as needed.
    Store Disk Size (MB) Amount of disk space used by this node.
    Data Partition Space Remaining (MB) Amount of disk space remaining on the disk partition mounting the search server data directory.
    Disk Throttling Time (ms) Amount of time in milliseconds the search server spent throttling the disk I/O since the last startup. This can happen when the writes overwhelm the disk I/O. A rapidly increasing number can be indicative of insufficient disk speed.
    Active Indexing Count Number of items that are being indexed at the current time.
    Indexing Count Total number of items indexed.
    Indexing Time (ms) Total amount of time in milliseconds that the search server spent indexing since the last startup. The ratio of index count to index time can give you a sense of indexing efficiency. The difference between the current printout and the previous printout can give a more granular view of the current indexing health.
    Indexing Queue Count Number of work items in the indexing queue waiting to be processed.
    Indexing Rejection Count Number of work items that were rejected because the indexing queue was full.
    Bulk Indexing Queue Count Number of work items in the bulk indexing queue waiting to be processed.
    Bulk Indexing Rejection Count Number of work items that were rejected because the bulk indexing queue was full.
    Search Query Count Total number of search queries performed.
    Search Query Time (ms) Total amount of time in milliseconds that the search server spent in search queries since the last startup.
    Search Fetch Count Total number of fetches that result from search queries.
    Search Fetch Time (ms) Total amount of time in milliseconds that the search server spent in fetching query results since the last startup. A fetch time that is greater than query time can be indicative of a slow disk.
    Search Queue Count Number of work items in the search queue waiting to be processed.
    Search Rejection Count Number of work items that were rejected because the search queue was full.
    Active Merge Count Number of merges that are taking place at the current time.
    Merge Count Total number of merges performed.
    Merge Time (ms) Amount of time the search server has spent merging since the last startup.
    Merge Queue Count Number of work items in the merge queue waiting to be processed.
    Merge Rejection Count Number of work items that were rejected because the merge queue was full.
    Filter Cache Memory Size (MB) Amount of memory used by the filter cache.
    Filter Cache Evictions Number of evictions that have taken place in the filter cache.
    ID Cache Memory Size (MB) Amount of memory used by the memory cache.
    Field Data Memory Size (MB) Amount of memory used by field data.
    Field Data Evictions Number of evictions field data. A value greater than 0 can be an indication of not enough memory is available to the search server.
    Field Data Breaker Triggers Number of times the circuit breaker has triggered for field data. This happens when the field data memory usage is greater than 15% of heap size. A value other than 0 means the JVM needs more memory to efficiently handle data queries.
    Segment Count Number of segments in the search index.
    Segment Memory Size (MB) Amount of memory used by segments.
    Thread Count Current number of threads used by JVM that is running the search server.
    Thread Count Peak Peak number of threads used by JVM that is running the search server.
    Open File Descriptors Number of file descriptors currently in use by JVM that is running the search server. It is not uncommon to have several thousand open file descriptors.
    Used Heap Space (MB) Amount of Java heap space (memory) used by JVM that is running the search server.
    Used Heap Percentage Percentage of the available Java heap space used by the JVM running the search server. A value approaching 100 indicates insufficient memory the JVM.
    Available Heap Space (MB) Total amount of Java heap space (memory) available to JVM that is running the search server. This is the value configured as max heap the JVM.
    Young Collection Count Number of Java garbage collections that have occurred in the young generation space for the JVM that is running the search server.
    Young Collection Time (ms) Amount of time spent in garbage collection for the young generation collections since the last search server startup.
    Young Space Used (MB) Amount of Java heap space (memory) used by the young (eden) generation space for the JVM that is running the search server.
    Survivor Space Used (MB) Amount of Java heap space (memory) used by the survivor space for the JVM that is running the search server.
    Tenured Collection Count Number of Java garbage collections that have occurred in the tenured generation space for the JVM that is running the search server.
    Tenured Collection Time (ms) Amount of time spent in garbage collection for the tenured generation collections since the last search server startup.
    Tenured Space Used (MB) Amount of Java heap space (memory) used by the tenured (old) generation space for the JVM that is running the search server.

    Search Server Cluster Metrics Log

    The Search Server Cluster Metrics log file (search_server_cluster.csv) provides information on the overall health of the search server cluster and the number of nodes and shards in the cluster. The information is written to the file even in environments where there is only a single search server node. In that case it is a cluster of one node. This information is written by an agent within the application server, so in a multiple application server environment this log will be written on each application server rather than the machine(s) running the search server (if separate).

    If there is an error when connecting to the search server to gather the metrics, the values in the numeric columns will be -1 and the text-based columns will have an error message or be blank.

    Metric Description
    Timestamp Date and time when the metric is taken.
    Cluster Name Name of the search server cluster. The default cluster name is appian-search-cluster.
    Status Overall health status of the cluster. An error statement is printed to the status column if an error occurs while attempting to query the cluster health.
    • GREEN - All of the configured nodes are up and running and all shards are allocated to those nodes. The search server can accept reads and writes.
    • YELLOW - Some shards are not allocated to nodes, most likely because one or more of the configured nodes are unavailable. The search server can accept reads and writes.
    • RED - The search server cluster no longer has a master node because fewer than half plus one of the configured nodes are available. The search server will continue to serve read requests, but will not be able to accept writes.
    Timed Out Whether or not the attempt to query the cluster health timed out. Possible value: true or false
    Number of Nodes Total number of nodes currently running in the cluster.
    Number of Data Nodes Number of nodes currently running in the cluster that can accept data, either as writes from the Appian EAR or as replicated data from other nodes.
    Active Primary Shards Number of shards that are active and accept writes from the Appian EAR.
    Active Shards Total number of shards that are active, including both primary and replica shards. This number is the number of active shards times the number of nodes in the cluster.
    Relocating Shards Number of shards that are in the process of moving from one node to another. It is important not to make changes to the search cluster while this number is non-zero.
    Initializing Shards Number of shards that are currently being initialized. This occurs when the indices are first created either at system startup or on first usage.
    Unassigned Shards Number of shards that are currently not assigned to any nodes. This number will be non-zero when one or more of the configured nodes is unavailable.

    Sites Metrics Log

    The Sites Metrics log file (sites.csv) provides information about sites.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Number of Sites Total number of sites in the system.
    Number of Site Pages Total number of pages across all sites in the system.
    Number of Task Report Pages Total number of pages containing a task report across all sites in the system.
    Number of Action Pages Total number of pages containing an action across all sites in the system.
    Number of Pages with Titles Configured via Expression Total number of pages that have titles configured via expression across all sites in the system.
    Number of Pages with Visibility Configured via Expression Total number of pages that have visibility configured via expression across all sites in the system.
    Number of Record List Pages Total number of pages containing a record list across all sites in the system.
    Number of Report Pages Total number of pages containing a Tempo report across all sites in the system.
    Number of Branded Sites Total number of sites that have branding configured in the system.
    Number of Sites with Record News Total number of sites that are configured to show record news.

    System Metrics Logs

    The System Metrics log file (system.csv) provides information about the JVM environment.

    Due to the fluid nature of this data, these are recorded every five minutes. In certain environments one or more metrics may not be available. When not available, a column remains present but the value is set to -1. Deprecated columns are left blank.

    Some columns are not available on Windows.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Total Thread Count Total number of threads running within the JVM.
    - This includes threads in pools for application server requests and external data sources.
    Daemon Thread Count Number of daemon threads running within the JVM.
    - Daemon threads are long-lived threads that perform system tasks.
    Used Heap Space (MB) Amount of memory currently in use by the JVM heap.
    Available Heap Space (MB) Amount of memory available for use by the JVM heap.
    Tenured Generation Usage After Collection (MB) Amount of memory used by Java's tenured or "old" generation after the most recent garbage collection.
    Tenured Generation Used (MB) Amount of memory currently used by Java's tenured or "old" generation.
    Tenured Generation Available (MB) Amount of memory available for use by Java's tenured or "old" generation.
    Permanent Generation Used (MB) Java 8 does not have a permanent generation space. This column will always have the value -1.
    Permanent Generation Available (MB) Java 8 does not have a permanent generation space. This column will always have the value -1.
    Young Collection Count Number of minor garbage collections in the last interval.
    Young Collection Time (ms) Time spent on minor garbage collections in the last interval.
    Tenured Collection Count Number of major garbage collections in the last interval.
    Tenured Collection Time (ms) Time spent on major garbage collections in the last interval.
    - This only includes time spent with the rest of the JVM paused and does not include time spent on concurrent garbage collection.
    Disk Partition Used (MB) Formerly, the amount of disk space used on the partition hosting /_admin/. As of version 7.7, this column is now left blank as it is superseded by the disk_usage.csv log file.
    Disk Partition Available (MB) Formerly, the amount of disk space available on the partition hosting /_admin/. As of version 7.7, this column is now left blank as it is superseded by the disk_usage.csv log file.
    Load Average Average number of runnable CPU processes over the past five minutes.
    CPU Core Count Number of cores on the system, provided here to aid in interpreting the load average.
    Total System Memory (MB) Amount of system memory available on this server.
    Used System Memory (MB) Amount of system memory currently used on this server. This number includes only memory used for applications and does not include space used for transient caches and buffers.
    Total Swap Space (MB) Amount of swap space available on this server.
    Used Swap Space (MB) Amount of swap space currently used on this server.
    Session Count Number of active application server sessions.

    The Engine System Metrics log file (engine_system.csv) provides information about the engine server.

    Like system.csv, these metrics are recorded every five minutes.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Load Average Average number of runnable CPU processes over the past five minutes.
    Configured Engine Count Number of engines configured to run on this server, provided here to aid in interpreting the load average.
    CPU Core Count Number of cores on the system, provided here to aid in interpreting the load average.
    Total System Memory (MB) Amount of system memory available on this server.
    Used System Memory (MB) Amount of system memory currently used on this server. This number includes only memory used for applications and does not include space used caches and buffers.
    Total Swap Space (MB) Amount of swap space available on this server.
    Used Swap Space (MB) Amount of swap space currently used on this server.
    Rollbacks Number of rollback .l files present in the <AE_HOME>/logs/ directory.
    Transaction Replay Errors Number of transaction replay error .l files present in the <AE_HOME>/logs/ directory.
    Write To Disk Errors Number of write to disk error .l files present in the <AE_HOME>/logs/ directory.
    Incremental Update Errors Number of incremental update error .l files present in the <AE_HOME>/logs/ directory.
    Replication Failures Number of replication failure .l files present in the <AE_HOME>/logs/ directory.
    Memory Spike Warnings Number of memory spike warning .l files present in the <AE_HOME>/logs/ directory.
    Long Transaction Warnings Number of long transaction warning .l files present in the <AE_HOME>/logs/ directory.

    memory_spike_and_long_transaction_warning.l files are counted in both the Memory Spike Warnings and Long Transaction Warnings columns.

    User Metrics Logs

    The User Metrics log (users.csv) records metrics on the users in the system.

    Metrics include the following:

    Metric Description
    Total Users Number of users in the system, including deactivated users but not including the Administrator user.
    Active Users Number of active users in the system, not including the Administrator user.
    Active System Administrators Number of active system administrator users in the system, not including the Administrator user.
    Active SAML Users Number of active users that authenticate through SAML.
    Active LDAP Users Number of active users that authenticate through LDAP.

    Web API Metrics Logs

    The Web API Metrics log (web_apis.csv) records metrics on Web APIs.

    Metrics include the following:

    Metric Description
    Total Number of Web APIs Total number of Web API objects in the system.
    Total Number of Web API Versions Total number of Web API versions in the system.
    Maximum Number of Versions for any Web API The number of versions that the Web API with the most versions has.

    Outdated Type References Metrics Log

    The Outdated Type References Metrics Log log (types_outdated_refs_summary.csv) records metrics on outdated type references.

    Metrics include the following:

    Metric Description
    Timestamp Date and time when the metric is taken.
    Data Store Count The number of Data Stores that reference outdated data types.
    Data Type Count The number of Data Types that reference outdated data types.
    Expression Rule Count The number of Expression Rules that reference outdated data types.
    Interface Count The number of Interfaces that reference outdated data types.
    Process Model Count The number of Process Models that reference outdated data types.
    Record Type Count The number of Record Types that reference outdated data types.
    Report Count The number of Tempo Reports that reference outdated data types.
    Web API Count The number of Web APIs that reference outdated data types.

    Troubleshooting

    Log files are an important tool for troubleshooting system problems. Because logs are assumed to be only accessible by system administrators, information about problems arising from individual process models is made available through the interface and sent via notifications to the process designer. Information is written to logs about issues that affect the entire system, including those arising from the content of configuration files, availability of connections to other services, ability to interact with file system resources, and unexpected runtime errors.

    Design Error Log

    Expression errors in start forms, task forms, Tempo reports, record views, related actions, and Web APIs are written to a comma separated value (CSV) file (design_errors.csv) in the <APPIAN_HOME>/logs directory. This log has the following columns:

    Metric Description
    Timestamp Date and time when an error occurred.
    Username The username of the user who experienced the error.
    Design Object Name The name of the design object where the error occurred. Process model names are given in the en_US locale if available, otherwise the first is used.
    Design Object Type The type of the design object where the error occurred. Possible values: Start Form, Record View, Related Action, Report, Task Form, Web API.
    Application Name The name of the application containing the design object, or N/A if it is not in an application. If the object is in multiple applications, the names in a semicolon-delimited list.
    Error Code The Appian error code for the error.
    Error Message A message describing the error that occurred.

    Application Server

    When the application server encounters an unexpected error, a message describing the error is logged to tomcat-stdOut.log in <APPIAN_HOME>/logs. Issues encountered during startup are written either to a separate file managed by the application server itself or to standard output.

    You can refer to these files to acquire a specific error message and use it in a help ticket, News feed post, or documentation search as part of your troubleshooting.

    For example, you may see the following error and report it:

    [default-threads - 29] ERROR com.appiancorp.ra.workpoller.WorkPoller - Could not obtain 3 thread(s) after 10000 attempts
    

    The error means an unattended node, possibly one running a Custom Smart Service Plug-In, is taking an abnormally long time to complete.

    Data Server

    Logs for the data server are located in the <APPIAN_HOME>/logs/data-server/ directory. The main data-server.log file contains information about data server startup and shutdown, configuration values being used by the data server, and entries for general data server operations and errors. The other logs in the directory contain log entries specific to the various sub-components of the data server.

    Search Server

    By default, logs for the search server are located in the <APPIAN_HOME>/logs/search-server/ directory. This can be controlled by editing <APPIAN_HOME>/search-server/conf/log4j.properties.

    Service Manager

    Service Manager, the process that coordinates the Appian Engines, records information about engine startup and shutdown, checkpointing, and transaction replication. in /logs/service_manager.log.

    Engine Databases

    Database communication events and errors are logged in text files within the <APPIAN_HOME>/logs/ directory.

    Each database event and error log filename is constructed in the following syntax:

    db_EngineAcronym_DATE_TIME.log
    

    Examples:

    db_CO1_2011-07-22_2020.log
    db_PD1_2011-07-22_1917.log
    

    Each database event and error log is written in the following syntax:

    DATE TIMESTAMP [Engine Acronym] {Engine File} LOGGING LEVEL Message Type "User Context" "Timing in milliseconds" "Action"
    

    Examples:

    2011-07-22 20:20:18 [PA00011] {pa2.kdb 13} (Default) WARN .a.pf.te "Administrator" "251.0251" ".a.p.TOPICS.send_message"
    2011-07-22 20:20:17 [PX001] {pe2.kdb 1} (Default) WARN .a.p.PROCESS.i "Incremental Update: Exec Engine is not ready to start Incremental update."
    

    Message Types include the following:

    • te = transaction execution
    • tg = table growth

    By default, the logging level for all is set to INFO.

    For diagnostic reasons, you may want to temporarily increase the amount of information that is logged. You can change this setting by creating a new log_XX_YY.properties file that configures logging for an individual gateway.

    The logging property file names that can be used to customize logging for an individual application engine database include the following:

    Server ID Custom Server Logging File
    CH Channels log_db_CH.properties
    CS Collaboration Statistics log_db_CS.properties
    CO Collaboration log_db_CO.properties
    NE Notifications Email log_db_NE.properties
    NO Notifications Service log_db_NO.properties
    PE Personalization log_db_PE.properties
    PO Portal log_db_PO.properties
    DF Discussion Forums log_db_DF.properties
    PA Process-Analytics log_db_PA.properties
    PX Process-Execution (All) log_db_PX.properties
    PD Process-Design log_db_PD.properties

    Engine Event Logs

    The Appian engines produce .l files whenever they encounter certain types of unexpected events. These .l files contain diagnostic information about the event as well as the transaction that initiated it. The names of the .l files are all of the form <engine identifier>_<timestamp>_<event type>.l. Use the <APPIAN_HOME>/server/_scripts/diagnostic/convert_l_to_text.sh (.bat) script to convert these logs to text for review.

    Name Description Recommended Action
    incremental_update_error.l Data could not replicate from a process execution engine to the corresponding process analytics engine, but the system should repair itself automatically These errors are safe to ignore unless they continue. If the errors continue, contact Appian Support.
    long_transaction_warning.l A transaction took longer than 60 seconds for the engine to process These errors are safe to ignore unless they continue, but this incident should be reported to Appian Support for diagnosis to help prevent future occurrences.
    memory_spike_warning.l A transaction resulted in the engine allocating more than 512 MB of memory These errors are safe to ignore unless they continue. If the errors continue, contact Appian Support.
    memory_spike_and_long_transaction_warning.l A transaction resulted in the engine allocating more than 512 MB of memory and took longer than 60 seconds to process These errors are safe to ignore unless they continue, but this incident should be reported to Appian Support for diagnosis to help prevent future occurrences.
    replication_failure.l A transaction could not replicate from the primary engine to a replica Checkpoint the engine and restart the replica
    rollback.l The engine encountered an internal error when processing a transaction and had to restart The automatic restart of the engine should allow the system to recover automatically, but this incident should be reported to Appian Support for diagnosis to help prevent future occurrences.
    transaction_replay_error.l The engine could not replay a transaction from its log when restarting Contact Appian Support
    write_to_disk_failure.l The engine could not persist a transaction to disk and had to restart Ensure that the engines have permissions to write to their gateway directory and that there is enough free disk space available.

    Auditing

    Audit logs provide a record of specific kinds of actions that have previously taken place in the system for later investigative use.

    Logins

    Each product login attempt is recorded in a comma separated value (CSV) file (login-audit.csv) in the <APPIAN_HOME>/logs directory.

    The following login events are recorded:

    • Internal authentication through the login page
    • Single Sign On and/or an external directory service
    • Requests using HTTP basic authentication

    The following external actions are not recorded as login events.

    • API calls from a standalone application (command-line scripts or web applications)
    • Administrative scripts such as the checkengine, archive, or create-search-index scripts are not logged when executed. This applies to any script that is shipped with the product (as well any custom script) that does not require authentication when it runs.

    By default, auditing for requests using HTTP basic authentication is turned on. The audit logs for these requests are written to the following file:

    <APPIAN_HOME>/logs/login-audit-web-api.csv
    

    Data captured includes the following:


    Column Description
    Timestamp Date and time when a login or access attempt occurs. yyyy-mm-dd hh:mm:ss (Milliseconds are excluded.)
    Username The username submitted by the login attempt.
    Status The login attempt result is recorded as either Succeeded or Failed.
    IP The IP address that the application server associated with this request.
    Source One of the following authentication sources is listed.
  • Portal (includes LDAP and SAML authentication)
  • Email
  • JMS Message
  • SharePoint
  • Web Service
  • Web API (if HTTP basic authentication logging is enabled)
  • User Agent The self-reported client information (such as browser version) for web browsers. Mobile clients list the following details.
  • Agent name, such as AppianiOS or AppianBB
  • Appian for Mobile Devices version number
  • Device name, such as iPad, iPhone, or 9780Device
  • Device OS version, such as 4.2.1 (iOS) or 6.0.0.359 (BB OS)
  • Internal build number
  • A login is determined to have Succeeded when the following valid credentials are passed:

    1. The username and password combination is correct.
    2. The user is not deactivated.
    3. The user is not locked.
    4. The user has not reached the maximum allowed number of concurrent sessions.
    5. (Appian Cloud only) If the Trusted IP Address feature is enabled, the login must also meet the established IP address or origination domain criteria.
    6. The user's password is expired, but the user is prompted to change their password before proceeding.
      • It is possible for a user to repeatedly attempt to login and cancel the password change.
      • Each such attempt is logged as a success.
    7. When Single Sign On is enabled, a successful login occurs when the user accesses Appian (according to each window opened during the session).
      • For example, should the user close the browser, then reopen it a few minutes later before the Appian session expired, another success is recorded.

    The user agent information reported by the web browser often includes industry acronyms and jargon with unclear meaning.

    For example:

    • Mozilla/4.0 may be reported by any browser that is compatible with Firefox, including Internet Explorer.
    • Windows NT 6.1 is reported by browsers that are using Windows 7.

    Special Consideration for Cloud

    To view the login-audit file, access the navigation menu in Appian and select System Logs.

    News Usage

    User activity related to the Tempo news feed is recorded in the log file <APPIAN_HOME>/logs/audit/news_usage.csv. This is a comma-separated value (CSV) file with the following columns:

    Metric Description
    Timestamp Date and time when an action occurred.
    User The UUID of the user who performed the action.
    Action The action performed by the user. Possible actions: "Post From User", "Message From User", "Locked Message From User", "Comment From User", "Added Participants", Social Task From User", "Kudos From User", "Star a News Event", "Un-star a News Event", "Event From Process", "Comment From Process"

    File Attachment Downloads

    Each attempted download of a file attached to a news entry is recorded in the log file <APPIAN_HOME>/logs/audit/file_attachment_downloads.csv. This is a comma-separated value (CSV) file with the following columns:

    Metric Description
    Timestamp Date and time when a user attempted to download a file.
    User The UUID of the user who attempted to download a file.
    File ID Identifier of the file.
    File Opaque ID Opaque identifier of the file.
    File Name Name of the file.
    Download Successful Indicates whether the download was successful. The download can fail if the file attachment or news entry to which it was attached is deleted or if the user loses privileges to the file or news entry.

    Records Usage

    User activity related to records is recorded in the log file <APPIAN_HOME>/logs/audit/records_usage.csv. This is a comma-separated value (CSV) file with the following columns:

    Metric Description
    Timestamp Date and time when an action occurred.
    User The UUID of the user who performed the action.
    Action The action performed by the user. Possible actions: "View Record Type List", "View Record List", "View Record Dashboard", "View Related Action List", "View Related News", "Record List Search"
    Record Type Name The name of the record type involved in the action, if applicable.
    Record Type URL Stub The URL stub of the record type involved in the action, if applicable.
    Record Identifier The identifier of the record type involved in the action, if applicable.
    Dashboard The URL stub of the dashboard involved in the action, if applicable.
    Filters Facet filters and/or searches that were selected at the time of the action, if applicable. Searches are shown in the form "search=[search term]". When facets are selected, the underlying filter is shown. Multiple filters are shown combined with "AND".
    Environment Environment where the record type was used. Possible values are "Tempo" and "Sites"

    Sites Usage

    User activity related to sites is recorded in the log file <APPIAN_HOME>/logs/audit/sites_usage.csv. This is a comma-separated value (CSV) file with the following columns:

    Metric Description
    Timestamp Date and time when an action occurred.
    User The UUID of the user who performed the action.
    Action The action performed by the user. Possible actions: "View Site Task Report", "View Process Task Form", "Submit Process Task Form", "View Site Action Start Form", "Submit Site Action Start Form", "View Site Record List", "View Site Report","View Site Record View","View Site Related Actions List", "Site Record List Search"
    Site The URL stub of the site involved in the action.
    Page The URL stub of the page involved in the action.

    User Deactivations

    User accounts that are deactivated due to inactivity are listed at the INFO level in db_PE_yyyy-mm-dd_hhmm.log in the <APPIAN_HOME>/logs/ directory.

    The following message appears in the logs before a comma-separated list of usernames.

    These user accounts were deactivated automatically due to inactivity: [<usernames>]

    Authorizations

    The authorization audit log file (authz-audit.log) records information about the authorization of already authenticated users within the system.

    This covers user access to services, servlet paths, and URIs that are restricted to a particular type of user (i.e. designer users). By default only denials are logged.

    Metric Description
    Timestamp Date and time when an action occurred.
    Username The username of the user who attempted the action. If for some reason the username is unknown, this column will be blank.
    Action Target The type of action that was attempted: One of uri, uri-filter, struts, java-service, hybrid-service, k-service- followed by a service name, or dao- followed by a data source JNDI name
    Action Name The specific action that was attempted. For example, a uri or method name.
    Decision The result of the action. One of ALLOWED, DENIED, or ERROR.
    Details Details about the attempted action, usually including the attempting user's roles and the roles required to complete the action

    Content Deletions

    Object deletions are recorded in a comma-separated value (CSV) file, deletion.log, in the <APPIAN_HOME>/logs directory. If an object is deleted and you need to know when it was deleted and which user did it, you can refer to this log file.

    The following object deletions are recorded:

    • Constant
    • Data Store
    • Data Type
    • Document
    • Document Folder
    • Expression Rule
    • Feed
    • Group
    • Group Type
    • Integration
    • Interface
    • Process Model
    • Process Model Folder
    • Record Type
    • Rule Folder
    • Site
    • Tempo Feed Entry
    • Tempo Report
    • Web API

    Note that for Document Files, only deletions (which are not reversable) are logged. Deactivations (which are reversable) are not logged because the Files still exist in the system even though they do not appear in the interface.

    Example Document Deletion

    2012-04-13 15:12:25,889 [http-0.0.0.0-8080-13] INFO  com.appiancorp.content.ContentServiceJavaImpl_Delete - Successful deletion of objects: ids=521; types=Document; names=["server"]; deleted by user=[john.smith.s]
    

    Example Tempo Feed Entry Deletion

    2011-12-19 13:31:25,509 [http-0.0.0.0-8080-2] INFO  com.appiancorp.tempo.rdbms.RdbmsFeedSourceImpl_Delete - Administrator deleted entry [id=b-2] by [user=Administrator]: [body=hello world]
    

    OAuth

    Every time a user hits the OAuth callback for the Authorization Code grant, Appian will log a line to the log file, oauth_callback.csv, in the <APPIAN_HOME>/logs/audit directory with the following columns:

    Metric Description
    Timestamp Date and time when the callback was hit. yyyy-MM-dd HH:mm:ss
    User The user hitting the callback endpoint
    Connected System UUID The UUID of the connected system that the user is authorizing. This value will be blank if a user reaches the callback endpoint without having followed an Authorization Link
    Connected System Name The name of the connected system that the user is authorizing. This value will be blank if a user reaches the callback endpoint without having followed an Authorization Link
    Success True if the authorization succeeded and an access token was stored, otherwise false
    Scope The requested scope for the access token
    Token Expiration If a token was retrieved, when it is set to expire if such data was provided by the resource
    Is Test True if the callback was for an authorization test, otherwise false

    Secure Credentials Store

    Access to credentials stored in the Secure Credentials Store are logged in a comma-separated value (CSV) file, secure_credentials_store.csv, in the <APPIAN_HOME>/logs/audit directory. All reads and modifications of third-party credentials are recorded in this file. No encrypted values are ever logged here.

    Data captured includes the following:

    Column Description
    Timestamp Date and time when an access or modification of values occurs. yyyy-mm-dd hh:mm:ss (Milliseconds are excluded.)
    Username The username of the user accessing the secure credentials store values.
    Action
    • Create
    • Read
    • Update
    • Delete
    Scope
    • System-Wide - the system-wide credentials for the external system were accessed
    • Per-User - the user's personal credentials for the external system were accessed
    External System Key The key of the external system for which the credentials were accessed. ALL if all external systems are accessed in a bulk call, or ALL for username when accessing credentials for all external systems for a given user.
    Attribute The key of the specific attribute whose value was accessed. ALL if all atributes for an external system are accesed in a bulk call, or ALL for username when accessing all attributes for a given user.
    Plug-in If the secure credentials store is accessed from a plug-in, the key of the plug-in. Otherwise, N/A.

    See also: Secure Credentials Store

    Appian Administration Console

    Changes to configurations made through the Appian Administration Console are logged in a comma-separated value (CSV) file, admin_console_audit.csv, in the <APPIAN_HOME>/logs/audit directory.

    Data captured includes the following:

    Column Description
    Timestamp Date and time when the modification of a configuration value occurred. yyyy-mm-dd hh:mm:ss (Milliseconds are excluded.)
    Username The username of the user that changed the configuration value.
    Property The fully-qualified name of the configuration property that was changed.
    Previous Value The previous value of the configuration property.
    New Value The new value of the configuration property.

    Also in the <APPIAN_HOME>/logs/audit directory is another CSV file, admin_console_user_start_pages_audit.csv, that logs a snapshot of the values on the User Start Pages view every time an administrator makes and saves changes.

    Data captured includes the following:

    Column Description
    Timestamp Date and time when the corresponding configuration value was saved. yyyy-mm-dd hh:mm:ss (Milliseconds are excluded.)
    Username The username of the user that made and saved changes.
    Row Number The row number in the Start Pages grid on the User Start Pages view. "Default Start Page" if the corresponding configuration value is for the Default Start Page field.
    Start Page URL The configured URL with the base URL and application context truncated.
    Groups The group IDs corresponding to the configured groups. Null for Default Start Page field.

    See also: Appian Administration Console

    Outdated Type References

    Every reference to an outdated type is recorded on start-up and every 12 hours following in a comma separated value (CSV) file (types_outdated_refs.csv) in the <APPIAN_HOME>/logs/audit directory.

    Data captured includes the following:

    Column Description
    Timestamp Date and time of reporting.
    Data Type The name and namespace of the datatype, including version number.
    Data Type Fields A semi-colon separated list of the fields of this outdated version of the data type (e.g., fieldName1; fieldName2; …).
    Design Object Type The type of design object that is referencing the outdated data type version.
    Name The name of the design object referencing the outdated type.
    UUID The UUID of the design object referencing the outdated type.
    URL The URL to access the definition of the design object.
    Location The breadcrumbs location of where the object references the data type. If there are multiple, each instance will be its own row.

    Data stores will not have a URL value. Use the Appian designer to locate data stores by name.

    Object Rolemaps

    Changes to the rolemaps of existing design objects are logged in a comma-separated value (CSV) file, object_rolemap_audit.csv, in the <APPIAN_HOME>/logs/audit directory. The rolemaps of the following objects are not logged:

    • Discussion Thread
    • Forum
    • Process Instance
    • User

    Only rolemap changes to existing objects are logged; changes to other security properties (including changes due to inheritance) are not logged. Rolemaps are not logged on object creation.

    Data captured includes the following:

    Column Description
    Timestamp Date and time when the rolemap change occurred. yyyy-mm-dd hh:mm:ss (Milliseconds are excluded.)
    Username The username of the user that changed the rolemap.
    Name The name of the object whose rolemap was changed.
    Type The type of the object whose rolemap was changed.
    UUID The UUID of the object whose rolemap was changed.
    Previous Rolemap A text representation of the object's rolemap prior to the change. The rolemap varies based on object type.
    New Rolemap A text representation of the new value of the object's rolemap.
    Location The location of where the rolemap change occurred. This column indicates when the rolemap change occurred during Import and is blank otherwise.

    Forgot Password Requests

    User requests to reset a forgotten password are logged in a comma-separated (CSV) file, forgot_password_requests.csv, in <AE_HOME>/logs/audit/. Data captured includes the following:

    Column Description
    Timestamp Date and time when the request was made in yyyy-mm-dd hh:mm:ss format.
    Username The username entered in the reset request.
    Email Address The email address to which the email was sent. If no email was sent, this field will be blank.
    Email Type The type of email sent. Valid values are: "Password Reset," "Deactivated User," "Password Not Old Enough," and "Not Authenticated Through Appian." The value may also be blank if an email was not sent. In such a case, "Reason Email Was Not Sent" will have a value explaining why an email was not sent.
    Requestor IP Address The IP address that the application server associated with this request.
    Reason Email Was Not Sent

    The value will be empty if email was sent. Otherwise, value will be one of the following:

    Password Resets

    When a user resets their password by following an email generated by the Forgot Password page, Appian logs information in a comma-separated (CSV) file, password_resets.csv, in <AE_HOME>/logs/audit/. Data captured includes the following:

    Column Description
    Timestamp Date and time when the request was made in yyyy-mm-dd hh:mm:ss format.
    Username The user whose password was reset.
    User IP Address The IP address that the application server associated with this request.
    Source The initiator of the password reset process. Valid values: "Forgot Password." More values may be added to this list in the future.

    Blocked Files

    When a file upload is blocked by the virus scanner (Cloud only) or by file extension, information is logged in a comma-separated (CSV) file, blocked_files.csv, in <AE_HOME>/logs/audit/. Data captured include the following:

    Column Description
    Timestamp Date and time when the request was made in yyyy-mm-dd hh:mm:ss format.
    User The username of the user who uploaded the file.
    Document Name The name of the uploaded file, including the extension.
    Reason The reason why the file was blocked. Options: "Virus Detected", "File Extension", "File Type"
    Details The details depend on the reason the file was blocked:
    • If the reason is "Virus Detected", the name of the virus signature that blocked the file from being uploaded.
    • If the reason is "File Extension", the extension of the file.
    • If the reason is "File Type", additional details on the underlying type and expected extension versus the found extension
    Hash The hash of the file that was blocked. This column provides insight into whether a single file or multiple file are being blocked. The "Document Name" column is not sufficient in identifying whether a file is being blocked multiple times since file names can be changed easily.

    Managing Log Files

    Log files can accumulate rapidly and must be actively managed.

    Log Rotation

    Appian log files are rotated to limit the total size of logs.

    login-audit.csv is rotated daily. All other logs are rotated when they reach a size limit. When this occurs, the system will create a new file of the same name to continue logging, and rename the old file with a numerical suffix. For example: file_downloads.log will become file_downloads.log.1.

    Limiting Log File Lize

    The maximum size for any log file is determined by the following property in the appian_log4j.properties files:

    log4j.appender.<APPENDER_NAME>.MaxFileSize=
    

    Modify this property to increase or decrease the maximum size of the file.

    This is set to 10MB by default.

    Log Retention

    Logs continue to rotate until the maximum number of log files for that log is reached. Once the maximum is reached, the oldest will be deleted when a new log of the same name is created on the next rotation.

    Log Retention for Appian Cloud

    Log retention is different for Appian Cloud, retains the only the latest two (2) log files for each log, except for the application server log, which is periodically compressed as needed.

    Older log files are deleted in intervals at the following minute marks of every hour:

    2
    12
    22
    32
    42
    52
    

    Limiting Number of Log Files

    The number of files that are created is limited by the following property in the appian_log4j.properties file:

    log4j.appender.<APPENDER_NAME>.MaxBackupIndex=
    

    Modify this property to define the maximum number of log files to keep.

    By default, most logs retain a maximum of 10 old versions, but some retain 100 or 1,000. You can find the default value for each log listed in appian_log4j.properties.

    Removing Log Files

    In order to prevent log files from consuming excessive disk space, you must periodically run the cleanup.bat (.sh) script to move or delete older log files. You can find the script here:

    <APPIAN_HOME>/server/_scripts
    

    To remove aging log files, use the logs argument, passing the path to a backup folder and the number of log files to keep.

    For example:

    ./cleanup.sh logs -target /appian_backup_log_files/ -keep 3
    

    This command moves all but the three most-recent log files to the/appian_backup_log_files/ directory.

    See also: Data Maintenance

    Securing Log Files

    Log files, particularly troubleshooting and audit files, can include usernames, content ids, and other information that may be considered sensitive. Accordingly <APPIAN_HOME>/logs directory, its subdirectories, and the files within it should be secured so that only trusted administrators can access them.

    Directions for doing so can be found in your operating system's documentation.

    Modifying Log Output

    Adding HTML Filter Log Messages

    Certain HTML tags and tag attributes are forbidden as inputs and are filtered out at runtime. When a forbidden input is encountered, a message similar to the following is logged:

    com.appiancorp.security.util.StringSecurityUtils - The HTML tag contained an attribute that we could not process. The request attribute has been filtered out, but the tag is still in place. The value of the attribute was ...
    

    These messages are logged when the following logger in appian_log4j.properties is set to the WARN level. By default, it is set to ERROR.

    log4j.logger.com.appiancorp.security.util.StringSecurityUtils=ERROR
    

    See also: HTML Tags and Attributes in Expressions

    Adding Unauthorized Session Request Logging

    Access attempts made by sessions that do not present appropriate session credentials return HTTP: 401 (Unauthorized) errors to prevent cross-site request forgery (CSRF).

    By default, this is not logged when it occurs, but messages are sent to the log on rejection when the following line is added to appian_log4j.properties setting the Appian CSRF package to WARN level:

    log4j.logger.com.appiancorp.security.csrf=WARN
    

    Adding Database Integration Details

    To log the details of the Write to Data Store Smart Services and Query Rules, add the following loggers:

    • Output SQL statements:

      log4j.logger.org.hibernate.SQL=DEBUG

    • Output param values within SQL statements:

      log4j.logger.org.hibernate.type=TRACE

    To view the calls made by the Query Database Node, add the following logger:

    log4j.logger.com.appiancorp.process.runtime.activities.QueryRdbmsActivity=DEBUG`
    

    Lowering Log Messages

    You can specify the different logging levels for each component listed below:

    Logging Level Description
    DEBUG This level lists all informational events that occur within the package being logged.
    INFO This level lists informational messages that highlight the progress of the application.
    WARN This level lists potentially harmful situations.
    ERROR This level lists all error messages that occur when the application is running.
    FATAL This level lists severe events that could cause the application to abort.

    When a logger is configured to output log entries at a certain level, it also writes any log entries of greater importance, as defined above.

    For example, if it is set to WARN, the logger also outputs ERROR and FATAL log entries. If it is set to DEBUG, the logger writes all entries.

    As a best practice, raise the logging level to INFO or WARN during development, and lower it to ERROR in production.

    Increased logging negatively impacts system performance.

    In a production system excessive logging may also result in a loss of performance and therefore it may be necessary to remove or lower certain log messages from being written to disk.

    For example, you may receive a JSON log similar to the following:

    jvm 1 | 2007/01/09 19:12:37 | Jan 9, 2007 7:12:37 PM com.metaparadigm.jsonrpc.JSONRPCBridge analyzeClass<br>
    jvm 1 | 2007/01/09 19:12:37 | INFO: analyzing com.appiancorp.process.execution.presentation.ProcessExecutionAccess<br>
    vm 1 | 2007/01/09 19:12:37 | Jan 9, 2007 7:12:37 PM com.metaparadigm.jsonrpc.JSONRPCBridge analyzeClass<br>
    jvm 1 | 2007/01/09 19:12:37 | INFO: analyzing com.appiancorp.asi.components.common.ClientComponentAccess<br>
    jvm 1 | 2007/01/09 19:12:37 | Jan 9, 2007 7:12:37 PM com.metaparadigm.jsonrpc.JSONRPCBridge analyzeClass<br>
    jvm 1 | 2007/01/09 19:12:37 | Jan 9, 2007 7:12:37 PM com.metaparadigm.jsonrpc.JSONRPCBridge analyzeClass<br>
    jvm 1 | 2007/01/09 19:12:37 | INFO: analyzing com.appiancorp.suiteapi.content.ContentAccess<br>
    jvm 1 | 2007/01/09 19:12:37 | Jan 9, 2007 7:12:37 PM com.metaparadigm.jsonrpc.JSONRPCBridge analyzeClass<br>
    jvm 1 | 2007/01/09 19:12:37 | INFO: analyzing com.appiancorp.process.design.presentation.ProcessDesignAccess<br>
    jvm 1 | 2007/01/09 19:12:37 | Jan 9, 2007 7:12:37 PM com.metaparadigm.jsonrpc.JSONRPCBridge analyzeClass<br>
    jvm 1 | 2007/01/09 19:12:37 | INFO: analyzing com.appiancorp.process.analytics2.display.AnalyticsAccess<br>
    jvm 1 | 2007/01/09 19:12:46 | Jan 9, 2007 7:12:46 PM com.metaparadigm.jsonrpc.BeanSerializer analyzeBean<br>
    jvm 1 | 2007/01/09 19:12:46 | INFO: analyzing com.appiancorp.suiteapi.process.Palette<br>
    jvm 1 | 2007/01/09 19:12:46 | Jan 9, 2007 7:12:46 PM com.metaparadigm.jsonrpc.BeanSerializer analyzeBean<br>
    jvm 1 | 2007/01/09 19:12:46 | INFO: analyzing com.appiancorp.suiteapi.process.ActivityClassSchema<br>
    jvm 1 | 2007/01/09 19:12:46 | Jan 9, 2007 7:12:46 PM com.metaparadigm.jsonrpc.BeanSerializer analyzeBean<br>
    jvm 1 | 2007/01/09 19:12:46 | INFO: analyzing com.appiancorp.suiteapi.process.ActivityClassParameterSchema<br>
    jvm 1 | 2007/01/09 19:12:46 | Jan 9, 2007 7:12:46 PM com.metaparadigm.jsonrpc.BeanSerializer analyzeBean<br>
    jvm 1 | 2007/01/09 19:12:46 | INFO: analyzing com.appiancorp.suiteapi.process.forms.FormConfig<br>
    jvm 1 | 2007/01/09 19:12:46 | Jan 9, 2007 7:12:46 PM com.metaparadigm.jsonrpc.BeanSerializer analyzeBean<br>
    

    You can remove this logging from JSON by adding the following to the logging.properties file located under the <JAVA_HOME>/jre/lib directory:

    com.metaparadigm.jsonrpc.level=WARNING
    

    You can also choose to set all java.util.logging logging to this level by setting the following in the same file:

    .level=WARNING
    java.util.logging.ConsoleHandler?.level = WARNING
    

    A full list of configuration options for logging.properties appears below:

    logging.properties<br>
    ######################################################
    #Handler specific properties.
    #Describes specific configuration info for Handlers.
    ######################################################
    # default file output is in user's home directory.
    java.util.logging.FileHandler.pattern = %h/java%u.log
    java.util.logging.FileHandler.limit = 50000
    java.util.logging.FileHandler.count = 1
    java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
    # Limit the message that are printed on the console to INFO and above.
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
    com.metaparadigm.jsonrpc.level=WARNING
    

    Changing the Logging Directory or Filename

    The directory where log files are written is controlled by the following property, in the custom.properties file.

    conf.suite.AE_LOGS=<install_dir>/logs
    

    The log file name and path is determined by the log4j.appender.<APPENDER_NAME>.File= property in <APPIAN_HOME>/deployment/web.war/WEB-INF/resources/appian_log4j.properties.

    For example,

    • log4j.appender.WORK_POLLER.File is set to write to the work-poller.log file in the <APPIAN_HOME>/logs/ directory.

    You can modify this property to write to a different directory and or filename.

    Changing Log Syntax

    The pattern of the log message is defined in the following property:

    log4j.appender.<APPENDER_NAME>.layout.ConversionPattern=
    

    You can modify this property based on various options defined in the Log4j documentation.

    Changing Log Appenders

    In the appian_log4j.properties file, appenders are used to define the output formats of the log file messages. The appenders are listed in the root logger, which uses the following convention:

    log4j.rootLogger=<LOGGING_LEVEL>, <APPENDER_NAME_1>, <APPENDER_NAME_2>
    

    In the following example, the root logger statement writes ERROR level messages (and above) using two appenders (console for <APPENDER_NAME_1> and a named text file appender for <APPENDER_NAME_2>).

    log4j.rootLogger=ERROR, CONSOLE, WORK_POLLER
    

    This sample appender (named the WORK_POLLER appender) writes messages to a text file named work-poller.log.

    ###### WORK_POLLER appender
    log4j.appender.WORK_POLLER.layout=org.apache.log4j.PatternLayout
    log4j.appender.WORK_POLLER.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
    log4j.appender.WORK_POLLER=org.apache.log4j.RollingFileAppender
    log4j.appender.WORK_POLLER.File=${AE_LOGS}/work-poller.log
    log4j.appender.WORK_POLLER.MaxFileSize=10MB
    log4j.appender.WORK_POLLER.MaxBackupIndex='''1000'''
    
    FEEDBACK