Building FastPacks

Overview

An AppMon FastPack, also called a Resource Pack, bundles different resources into one installation file that can be imported into AppMon just like a Plugin.

A Fastpack may contain the following resources:

  • System Profiles.
  • Dashboards.
  • Sensor packs.
  • License files.
  • User Plugins.
  • Any other resource that is not executable, such as text files.

FastPacks are not listed in the Plugin overview after installation. Any selection of the FastPack items can be removed manually in the shell.

Note

You can use a FastPack to import a .key or license file, but you will need to activate the file manually in eServices and then import the activated license file. A quicker and more flexible way to import a license file is to use the Client. Select Settings > Dynatrace Server > License to display the license Information pane, then click Import and follow the prompts.

File structure

FastPack Installation files are archive files that define a valid OSGi bundle. A FastPack may have the file extension .jar or .dtp.

A Fastpack needs at least a manifest file META-INF/MANIFEST.MF to define the FastPack version, and a [plugin.xml](/support/doc/appmon/images/integrations-and-extensions/plugin-architecture/building-fastpacks/plugin.xml) file to define the FastPack's contents. The [plugin.xml](/support/doc/appmon/images/integrations-and-extensions/plugin-architecture/building-fastpacks/plugin.xml) file always has to reside in the root directory of the FastPack. An extension for the extension point com.dynatrace.diagnostics.InstallerContent has to be defined in the plugin.xml of the FastPack:

Plugin.xml basic structure:

<plugin>
   <extension id="Installer Content" point="com.dynatrace.diagnostics.InstallerContent">
      <metainfo installer_type="resourcepack" name="<YOUR_FASTPACK_NAME>">
         <!-- Your resource entries, see below -->
      </metainfo>
   </extension>
</plugin>

Resources in the FastPack can be organized into subdirectories. You can download a sample FastPack to review the typical contents.

Example Structure

This example contains:

  • A User Plugin (specifically, a Monitor) and a license file in the root directory.
  • A System Profile, a dashboard, a Sensor pack, and a generic resource (.dll) in different subdirectories.

Example FastPack Contents

plugin.xml content:

<plugin>
   
   <extension id="Installer Content" point="com.dynatrace.diagnostics.InstallerContent">
      <metainfo installer_type="resourcepack" name="DemoFastPack">
         <!-- Your resource entries -->
         <resource resource="ksps/com.dynatrace.diagnostics.knowledgesensor.test.sensor/" resource_type="sensorPack"/>
         <resource resource="bin/dtnetagent20.dll" resource_type="resource" target_dir="lib">
            <instance instance="server"/>
         </resource>
         <resource resource="dashboards/MyDashboard.dashboard.xml" resource_type="dashboard"/>
         <resource resource="profiles/myProfile.profile.xml" resource_type="systemProfile"/>
         <resource resource="dtlicense.key" resource_type="licenseFile"/>
         <resource resource="myMonitor.jar" resource_type="userPlugin"/>
      </metainfo>
   </extension>
</plugin>

MANIFEST.MF file needs to be in a META-INF directory.

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Demopatch
Bundle-SymbolicName: com.dynatrace.diagnostics.demopatch;singleton:=true
Bundle-Version: 4.1.0.2599
Bundle-Vendor: dynaTrace software GmbH
Implementation-Version: 4.5.0.2599
Require-Bundle: com.dynatrace.diagnostics.sdk

Most resources are identified to the AppMon system by the resource_type tag in the plugin.xml file. This tag tells the installation system where to install a particular resource. For generic resources, it is necessary to define the installation location in the [plugin.xml](/support/doc/appmon/images/integrations-and-extensions/plugin-architecture/building-fastpacks/plugin.xml) file: specifically, the installation instance and target_dir relative to the root directory.

In the example, the generic resource is installed on the Server in the directory <server-root>/lib.

Resource types

The table describes the resource types that you can include in a FastPack. Note that the value for resource_type is case-sensitive.

Resource Type Value of resource_type Remarks
System Profile systemProfile  
Dashboard dashboard  
Sensor Pack sensorPack Must be the directory containing the sensor's plugin.xml (compare with an unzipped .dtcs file).
License File licenseFile  
User Plugin userPlugin May be a directory or .jar file.
Generic Resource resource May be a directory or a single file. Needs at least one installation instance (server or collector) and a subdirectory entry.
Restrictions

FastPacks are not allowed to install core executable code of the AppMon system (resource_type: coreBundle and agentRes).