This is documentation for Apprenda 7 and 8.
Documentation for older versions are also available.

Monitoring Your Application

When a version of an application is in the Sandbox or Published stage, you can monitor its deployed component instances and any logs generated by the application through the Monitor tab in the Developer Portal. 

Please Note: Depending on existing Platform settings, some of the following elements may not be visible in your Developer Portal.

Monitoring Deployed Component Instances

To view a list of deployed component instances for a version of an application that is in the Sandbox or in Published stage, when viewing an application version's overview in the Developer Portal, click on the Monitor tab, then click on the Workloads sub-tab. Workloads are deployed instances of an application component. Navigating to Monitor>Workloads will take you to the deployed component instances list, which lists all deployed instances of all application components included in that version.

To filter the list of workloads by a specific application component type, select that type from the Application Tier dropdown menu, and then select an individual component of that type from the Component dropdown menu.

Deployed component instances, along with information relating to each specific instance, are displayed in the table here:

  • Database instances have the DB Name listed to the right, as well as the name of the Resource Policy and Storage Quota each instance was deployed under (clicking on the name will forward you to the Resource Policy/Storage Quota assignment tab).  If the Storage Quota assigned limits the amount of storage an instance is allocated, the Storage Usage column will show a bar representing the amount of storage consumed out of the total amount allocated; otherwise, the total amount consumed will be listed in MB.
  • For other component instance types (user interface, .NET service, Windows Service, Java Web Application), hovering the mouse pointer over an instance listed in blue will cause that workload's Instance ID to be displayed.  These other instance types will display the name of the Resource Policy the instance was deployed under (again, clicking on the name will forward you to the Resource Policy/Storage Quota assignment tab), as well as the CPU and Memory Usage the instance is consuming in relation to its assigned Resource Policy.  For Java Web Application and user interface instances, the number of active Sessions for that instance will also be displayed.  Finally, clicking the plus icon to the right will expand the resource usage graph for that associated instance.  CPU and memory consumption for that instance over a specific period of time, the length of which can be adjusted through the blue pulldown menu, are recorded here.  Clicking the circular arrow icon in the lower right will refresh the graph.

After clicking on a specific deployed component instance to select it, you are also able to either Scale the related application component or Undeploy that instance by using the buttons on the right in the bottom menu bar.  Clicking the Scale button will forward you to the Scale tab for the related component, while clicking the Undeploy button will cause the selected component instance to be undeployed.

Developers will be alerted as application component instances are being deployed or undeployed while looking at this page. Component instances may be deployed or undeployed from the Platform at any time by normal scaling activity or by Platform Operators and Developers moving or removing instances. While on the Monitor Components page, a message containing component names and the total number of instance changes remaining to process will display along the bottom of the page if instances of any component are being deployed or undeployed. As instances have completed being deployed or undeployed, the page will be automatically updated to reflect the changes.

Monitoring Application Logs

To view a list of logs for an application version, when viewing an application version's overview in the Developer Portal, click on the Monitor tab, then click on the Application Logs sub-tab.  This will take you to the list of all logs generated by your application since its creation on the Platform:

By default, the Level, Timestamp, Source, and Text of each existing log is displayed on the list, but you are able to select/deselect list columns to be displayed by clicking the gear icon dropdown menu in the upper right.

You can change the page size and navigate through the pages of existing logs by using the navigation controls underneath the list.  The list doesn't refresh automatically unless the Real Time setting at the top is turned on, but can be refreshed manually by clicking the circular arrow icon next to the Real Time setting.

Turning on the Advanced Search feature at the top will allow you to filter the displayed list of logs based on parameters that you choose.  With that feature turned on, you are able to filter the list by Time, Log Level, and/or Tag.

Selecting one or more logs on the list will allow you to perform different actions with the selections through the bottom menu bar:

  • If your Platform Operator has made this option available to you, the Delete button can be used to permanently delete selected log messages.
  • The Override button will allow you to create a new log override for the application version.
  • Clicking the Open button will cause a pop-up window with the full details of all selected logs to appear. 
  • Clicking the Find Related button will open a window which allows you to select certain properties of the log(s) you selected, and then search for all existing logs having those same property values.
  • Clicking the Log Export button will allow you to choose whether to export all logs or just the logs you selected to a CSV file that can be saved locally.
  • Fiinally, you can click the Deselect All button to clear the selections you made.

Event Log Overrides and Notifications

Global Platform Logging Level (Debug, Information, Warning, Error and Fatal) are set by your Platform Operator.  This means that events that are logged for your applications are limited to those whose levels are at or more severe than the Global Platform Logging Level. You can set log level overrides on a per-application-version basis.

To access Log Overrides for an application version, click on the Log Overrides link in the Application Logs section of the Monitor tab for the application version:

You will be directed to the Logging Overrides listing for the application version:

Click on the Create button on the bottom action bar to pull up the Create New Override dialog:

From this dialog, you can select your desired Logging Level.  You may also enter email addresses that you wish to be notified when a message is logged under this override. Under the Set Additional Restrictions section, you must choose from the following:

  • None: the override applies to all log messages for this application version
  • Tenant (available for multi-tenant applications in Sandbox or Published only): the override applies only to log messages for the specified Tenant
  • User (available for multi-tenant applications in Sandbox or Published only): the override applies only to log messages for the specified User
  • Source: the override applies only when the specified string is found in the log message.  It should be noted that wildcard suffix matching (e.g., "com.apprenda*" will apply the override to any log message with a string that begins with "com.apprenda") is supported for this option

E-mail Recipients may be configured through the Log Override controls by specifying a comma-separated list of e-mail addresses. When a log message is captured for this version of the application, a notification will be sent to any specified e-mail addresses. The Notifications section of the Create New Override controls can be used to aggregate repetitive log messages into a single notification that is e-mailed at the specified interval. 

Once you have created a Log Override, the Edit and Delete options on the bottom action bar will be enabled so that you manage existing overrides as needed.

It should be noted that when a patched application version is created, any existing Log Overrides will be copied over from the parent version. 

Log Overrides for Java Web Application Components

Log4j configuration for Java Web Application components is tied closely with Log Overrides. After uploading an archive that contains a Java Web Application component, certain types of Log Overrides will be automatically created for the application version as explained in this section of the Logging from Your Application Developer Topic. Platform Operators can choose how the Platform determines repeated logs for a Java Web Application over an aggregation period. The Platform can either use the full log pattern set in the Developer Portal or use only the event log message from the application when aggregating logs into e-mail notifications. 

Manage Application Logs and Log Overrides for All Applications

To view a list of logs for all versions of all applications owned by your Dev Team, click on select Applications from the left navigation menu. Then click on the App Logs option in the upper right corner of the screen. This will take you to the list of all logs generated by your applications since their creation on the Platform:

The controls for this page are similar to those available for a single application version (as described above).

The Log Overrides link on this page will take you to a list of Logging Overrides for all version of all applications controlled by your Dev Team.  The controls for creating, editing, and deleting overrides from this page work the same way as those available for a single application version (as described above), except that application and version information must be provided when creating the override.

Monitoring Subscriptions

Monitoring Subscriptions can be added to application components. Monitoring Subscriptions are collections of objects being monitored on a specific application component. Currently, Monitoring Subscriptions can only be used to collect information for Java Web Applications through JMX. Additionally, you will only be able to view and manipulate Monitoring Subscriptions if you have the Monitor JMX Resources securable. To view all the Monitoring Subscriptions applied to an application, click the Monitor tab and then click on the Monitoring Subscriptions sub-tab.

The list will show the unique Subscription ID, the Monitoring Object being tracked, the Component of the application the subscription applies to, and the Refresh Interval for each Monitoring Subscription. To filter through the list, use the drop-down arrows and click on the specific Application Tier or Component desired. The Monitoring Subscriptions can be sorted by clicking on the column headers (Subscription ID, Monitoring Object, Component, Refresh Interval).

You will need to have JMX enabled for this application in order for your Monitoring Subscriptions to take effect. When JMX is enabled, JMX Connection information can be viewed by clicking on JMX Connection in the top right. If you do not see the JMX Connection button, then JMX is not enabled for that application.

Add New Monitoring Subscription

To add a new Monitoring Subscription click New from the bottom menu on the right.

Select from the dropdown list which Component of the application you want to monitor. Next, type in the Monitoring Object you want the subscription to track. The Monitoring Object must be formatted as follows (where mBeanName is the name of the mBean server and attribute is the object you are interested in monitoring):

jmx["mBeanName","attribute"]

You can add multiple Monitoring Objects to a single subscription by clicking the Add New Monitoring Object and add the additional Monitoring Object information in the new input box that appears. A Monitoring Subscription needs to have at least one Monitoring Object assigned to it; however if you wish to remove any additional Monitoring Objects, you can click the X next to the Monitoring Object you want to remove.

Last, select the Refresh Interval for the Monitoring Subscription. This is the amount of time (in seconds) that the Monitoring Object(s) will be retrieved from the application component being monitored. The default amount of time is 2 seconds, the minimum is 1 second, and the maximum is 86400 seconds (1 day). When you have configured all the settings for the new Monitoring Subscription, click Apply or, alternately, X if you wish to cancel creating a new Monitoring Subscription. The Platform will automatically generate the Subscription ID for the new Monitoring Subscription and add it do the list of Monitoring Subscriptions.

Edit Monitoring Subscription

You are able to edit a Monitoring Subscription by first selecting the Monitoring Subscription you wish to alter and then clicking on Edit from the bottom menu. 

You are able to edit all the parts of a Monitoring Subscription: Component, Monitoring Object, and Refresh Interval. After making the desired edits, click Apply or, alternately, click X to cancel making edits to a Monitoring Subscription.

Delete Monitoring Subscription

To delete a Monitoring Subscription, select the subscription you wish to delete and then click Delete on the bottom menu. You will need to confirm your choice to delete the Monitoring Subscription by clicking Yes on the confirmation prompt.