Extension JSON reference

Extensions 1.0 end of life

OneAgent and ActiveGate version 1.299 are the last versions supporting OneAgent and ActiveGate Extensions 1.0 framework. You can continue using Extensions 1.0 if you stay at OneAgent or ActiveGate version 1.299. Note that this means you'll be using an unsupported Python version 3.8. We strongly recommend migrating your extensions to the latest Extensions 2.0 framework.

For more information, see General guidance and how to migrate.

plugin.json top level

Field
Type
Required
Description
Validation
name
string
True
A unique plugin name in Java package format.
minLength: 1, pattern: ^custom.remote.python.([a-zA-Z][a-zA-Z0-9_-]*)+$
version
string
True
The plugin version, must be updated whenever the plugin definition is updated.
pattern: ^\d+.\d+(.\d+)?$
array of strings
False
Type of technology that plugin monitors, as can be viewed on Technologies overview page.
favicon
string
False
link to favicon that should be used on technology tile
entity
string
True
Entity type upon which the plugin is activated
enum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP']
metricGroup
string
True
Definition that will be used for grouping metrics on Custom Charts. It can be used to add metrics to "Technology" group by adding here "tech.Your Technology", or to create your own entry
minLength: 1
object
False
Python metadata used by ActiveGate PluginModule python engine
array
True
The section defining metrics; see Metrics section for reference
uniqueItems: True
array of objects
False
Configuration properties the plugin can accept.
object
False
This part of the JSON defines how metrics are charted on each Process page.
object
False
The configUI section defines the configuration fields that are displayed in the UI.

Chart

Array item definition:

Field
Type
Required
Description
Validation
title
string
True
minLength: 1
description
string
False
minLength: 1
group
string
True
minLength: 1
array of objects
True

series

Array item definition:

Field
Type
Required
Description
Validation
key
string
True
minLength: 1
color
string
False
aggeragation
string
False
enum: ['MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'P50', 'P90', 'min', 'max', 'avg', 'sum', 'count', 'p50', 'p90', 'Min', 'Max', 'Avg', 'Sum', 'Count']
mergeaggregation
string
False
enum: ['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum']
array of strings
False
seriestype
string
False
How will given series render in Dynatrace UI
enum: ['LINE', 'AREA', 'BAR', 'line', 'area', 'bar', 'Line', 'Area', 'Bar']
stacked
boolean
False
rightaxis
boolean
False
displayname
string
False
minLength: 1
unit
string
False
minLength: 1

dimensions

Array item definition:

Property
Description
type
string
minLength
1

Config UI section

Field
Type
Required
Description
Validation
displayName
string
False
Human readable plugin name. This name is displayed in web UI at Settings > Monitored technologies > Custom plugins once the plugin is uploaded.
minLength: 1
array of objects
False

ConfigUI properties

Array item definition:

Field
Type
Required
Description
Validation
key
string
True
Config property key, needs to match key from configUI properties section
minLength: 1
displayName
string
True
Human readable property name.
minLength: 1
displayOrder
integer
False
Determines display order on plugin configuration tile.
displayHint
string
False
Hint displayed in the tool-tip.

Alert

Array item definition:

Field
Type
Required
Description
Validation
alert_id
True
Unique alert id.
event_type
True
Event type
description
string
False
Description defines alert message, following code snippets could be used: {threshold} the value of the custom threshold that was violated {severity} the violating value {entityname} the display name of the entity where the metric violated {violating_samples} the number of violating samples that led to that event {dimensions} a string containg the violating dimensions of the metric {alert_condition} a string showing if above or below threshold is alerting
alert_condition
True
Alert condition
event_name
string
True
Event name displayed on UI pages.
minLength: 1
threshold
number
True
The value of the threshold.
samples
integer
True
Size of the "window" in which violating_samples are counted.
violating_samples
integer
True
The number of violating samples that rise an alert. Must be less that samples.
dealerting_samples
integer
True
The number of not violating samples that deactivate and alert. Must be less that samples.

Known technologies list

Array item definition:

Property
Description
type
string
enum
['ACTIVE_MQ', 'AIX_SYSTEM', 'AKKA', 'ALLOTHER', 'AMAZON_REDSHIFT', 'AMQP', 'APACHE_DERBY', 'APACHE_HTTPD', 'APACHE_SOLR', 'APACHE_SPARK', 'APACHE_SYNAPSE', 'APMNG', 'APPARMOR', 'APP_DYNAMIC', 'ARTEMIS', 'ASP_NET', 'ASP_NET_CORE', 'AWS_LAMBDA', 'AWS_RDS', 'AWS_SERVICE', 'AXIS', 'AZURE_SERVICE_BUS', 'AZURE_SERVICE_FABRIC', 'AZURE_STORAGE', 'BOSH', 'BOSHBPM', 'CASSANDRA', 'CEILOMETER', 'CINDER', 'CITRIX', 'CLOUDFOUNDRY', 'CLOUDFOUNDRY_AUCTIONEER', 'CLOUDFOUNDRY_GOROUTER', 'CLR', 'COLDFUSION', 'CONTAINERD', 'COUCHBASE', 'COUCHDB', 'CRIO', 'CTG', 'CXF', 'DATASTAX', 'DB2', 'DIEGO_CELL', 'DJANGO', 'DOCKER', 'DOCKERDEAMON', 'DOTNET', 'DOTNET_REMOTING', 'DYNATRACE_CLASSIC', 'DYNATRACE_CLASSIC_SERVER', 'ELASTIC_SEARCH', 'ERLANG', 'ETCD', 'F5_LTM', 'GARDEN', 'GLANCE', 'GLASSFISH', 'GO', 'GRPC', 'GRSECURITY', 'HADOOP', 'HAPROXY', 'HEAT', 'HESSIAN', 'HORIZON', 'HORNET_Q', 'IBM_CICS_AOR', 'IBM_CICS_REGION', 'IBM_CICS_TOR', 'IBM_IMS_CONNECT', 'IBM_IMS_CONTROL', 'IBM_IMS_MPR', 'IBM_IMS_SOAP_GATEWAY', 'IBM_INTEGRATION_BUS', 'IBM_MQ_CLIENT', 'IIS', 'IIS_APP_POOL', 'ISTIO', 'JAVA', 'JAX_WS', 'JBOSS', 'JBOSS_EAP', 'JERSEY', 'JETTY', 'JRUBY', 'JYTHON', 'KAFKA', 'KEYSTONE', 'KNOWN_TECHNOLOGY_INVALID', 'KUBERNETES', 'KVM', 'LIBVIRT', 'LINKERD', 'LINUX_SYSTEM', 'MARIADB', 'MEMCACHED', 'MONGODB', 'MONGODB_CLIENT', 'MONGODB_CLIENT_DOTNET', 'MONGODB_ROUTER', 'MQ_SERIES', 'MSMQ', 'MSSQL', 'MSSQL_COMPACT_CLIENT', 'MULE_ESB', 'MUSLC', 'MYSQL', 'MYSQL_CONNECTOR', 'NETTY', 'NEUTRON', 'NEW_RELIC', 'NGINX', 'NODE_JS', 'NOVA', 'ONEAGENT_SDK', 'OPENCENSUS', 'OPENSHIFT', 'OPENSTACK', 'OPENSTACK_COMPUTE', 'OPENSTACK_CONTROLLER', 'OPENTRACING', 'OPEN_LIBERTY', 'ORACLE_DATA_PROVIDER', 'ORACLE_DB', 'OTHER_JAVA_AGENT', 'OWIN', 'OWIN_KATANA', 'PERL', 'PHP', 'PHP_FPM', 'PLAY', 'POSTGRES', 'POSTGRE_DOTNET_DATA_PROVIDER', 'PROGRESS', 'PYTHON', 'QEMU', 'RABBITMQ', 'RAILS', 'REDIS', 'RESTEASY', 'RESTLET', 'RIAK', 'RUBY', 'SAG_WEBMETHODS_IS', 'SAP', 'SAP_HANADB', 'SAP_HYBRIS', 'SAP_MAXDB', 'SAP_SYBASE', 'SCALA', 'SELINUX', 'SHAREPOINT', 'SIGNALR', 'SIGNALR_CORE', 'SPRING', 'SQLITE', 'STORM', 'SWIFT', 'THRIFT', 'TIBCO', 'TIBCO_BW', 'TIBCO_EMS', 'TOMCAT', 'VARNISH_CACHE', 'VIM2', 'WCF', 'WEB2PY', 'WEBLOGIC', 'WEBSPHERE', 'WEBSPHERE_LIBERTY', 'WILDFLY', 'WINDOWS_SERVICE', 'WINDOWS_SYSTEM', 'WINK', 'WSGI', 'ZEROMQ']

Metrics section

Array item have to match one of:

Field
Type
Required
Description
Validation
object
True
Timeseries definition
entity
string
False
enum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP']
array of objects
False
object
False
Can be used to specify any valid JSON structure, to be processed by the Plugin.
Field
Type
Required
Description
Validation
object
True
Statetimeseries definition
entity
string
False
enum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP']
array of objects
False

Timeseries

Field
Type
Required
Description
Validation
key
True
Metric name. Must be unique within this plugin.
unit
string
True
Metric unit. See the link for available units.
enum: ['NanoSecond', 'MicroSecond', 'MilliSecond', 'Second', 'Byte', 'KiloByte', 'KibiByte', 'MegaByte', 'MebiByte', 'BytePerSecond', 'BytePerMinute', 'KiloBytePerSecond', 'KiloBytePerMinute', 'KibiBytePerSecond', 'KibiBytePerMinute', 'MegaBytePerSecond', 'MegaBytePerMinute', 'MebiBytePerSecond', 'MebiBytePerMinute', 'Ratio', 'Percent', 'Promille', 'Count', 'PerSecond', 'PerMinute', 'Unspecified']
aggregation
string
False
Time series data point aggregation
enum: ['min', 'max', 'avg', 'sum', 'count', 'MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'Min', 'Max', 'Avg', 'Sum', 'Count']
array
False
Dimensions are used to provide 1 metric per plugin ObjectName key property value. For example, version, service, or database. Dimension "rx_pid" at index 0 means the system process ID (PID).
displayname
string
True
The name under which the metric will be displayed.
minLength: 1

dimensions

Array item definition:

Statetimeseries

Field
Type
Required
Description
Validation
key
True
array
False
array
True
displayname
string
True
minLength: 1
object
False
Can be used to specify any valid JSON structure, to be processed by the Plugin.

Plugin properties

Array item definition:

Field
Type
Required
Description
Validation
key
string
True
Property key. Must be unique within this plugin and must match the key from configUI properties.
minLength: 1
type
string
True
For 'PASSWORD' stars will be displayed while typing.
enum: ['STRING', 'BOOLEAN', 'INTEGER', 'FLOAT', 'PASSWORD', 'JSON', 'TEXTAREA', 'DROPDOWN', 'string', 'boolean', 'integer', 'float', 'password', 'json', 'textarea', 'dropdown', 'String', 'Boolean', 'Integer', 'Float', 'Password', 'Json', 'Textarea', 'Dropdown']
defaultValue
['string', 'integer', 'boolean']
False
Default value.

Source metadata section

Field
Type
Required
Description
Validation
package
string
True
Python package that has plugin class
className
string
True
Name of plugins main python class. Must inherit from BasePlugin.
array of strings
False
array of strings
False
array of strings
False

UI Section

Field
Type
Required
Description
Validation
array of objects
False
maxItems: 2
array of objects
False
Charts in first chart group in CD instance
array of objects
False
Visible in CD instance, in it's own defined group

keyMetrics

Array item definition:

Field
Type
Required
Description
Validation
key
string
True
minLength: 1
aggregation
string
False
Aggregation type
enum: ['MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'P50', 'P90', 'min', 'max', 'avg', 'sum', 'count', 'p50', 'p90', 'Min', 'Max', 'Avg', 'Sum', 'Count']
mergeaggregation
string
False
enum: ['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum']
displayname
string
False
minLength: 1
unit
string
False
enum: ['NanoSecond', 'MicroSecond', 'MilliSecond', 'Second', 'Byte', 'KiloByte', 'KibiByte', 'MegaByte', 'MebiByte', 'BytePerSecond', 'BytePerMinute', 'KiloBytePerSecond', 'KiloBytePerMinute', 'KibiBytePerSecond', 'KibiBytePerMinute', 'MegaBytePerSecond', 'MegaBytePerMinute', 'MebiBytePerSecond', 'MebiBytePerMinute', 'Ratio', 'Percent', 'Promille', 'Count', 'PerSecond', 'PerMinute', 'Unspecified']

Aggregation type

Property
Description
type
string
enum
['MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'P50', 'P90', 'min', 'max', 'avg', 'sum', 'count', 'p50', 'p90', 'Min', 'Max', 'Avg', 'Sum', 'Count']

Merge-aggregation type

Property
Description
type
string
enum
['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum']

Units in UI

Property
Description
type
string
enum
['NanoSecond', 'MicroSecond', 'MilliSecond', 'Second', 'Byte', 'KiloByte', 'KibiByte', 'MegaByte', 'MebiByte', 'BytePerSecond', 'BytePerMinute', 'KiloBytePerSecond', 'KiloBytePerMinute', 'KibiBytePerSecond', 'KibiBytePerMinute', 'MegaBytePerSecond', 'MegaBytePerMinute', 'MebiBytePerSecond', 'MebiBytePerMinute', 'Ratio', 'Percent', 'Promille', 'Count', 'PerSecond', 'PerMinute', 'Unspecified']