• Home
  • Extend Dynatrace
  • Extensions
  • Reference
  • Json reference
  • Extension JSON reference

Extension JSON reference

plugin.json top level

FieldTypeRequiredDescriptionValidation
namestringTrueA unique plugin name in Java package format.minLength: 1, pattern: ^custom.remote.python.([a-zA-Z][a-zA-Z0-9_-]*)+$
versionstringTrueThe plugin version, must be updated whenever the plugin definition is updated.pattern: ^\d+.\d+(.\d+)?$
technologiesarray of stringsFalseType of technology that plugin monitors, as can be viewed on Technologies overview page.
faviconstringFalselink to favicon that should be used on technology tile
entitystringTrueEntity type upon which the plugin is activatedenum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP']
metricGroupstringTrueDefinition 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 entryminLength: 1
sourceobjectFalsePython metadata used by ActiveGate PluginModule python engine
metricsarrayTrueThe section defining metrics; see Metrics section for referenceuniqueItems: True
propertiesarray of objectsFalseConfiguration properties the plugin can accept.
uiobjectFalseThis part of the JSON defines how metrics are charted on each Process page.
configUIobjectFalseThe configUI section defines the configuration fields that are displayed in the UI.

Chart

Array item definition:

FieldTypeRequiredDescriptionValidation
titlestringTrueminLength: 1
descriptionstringFalseminLength: 1
groupstringTrueminLength: 1
seriesarray of objectsTrue

series

Array item definition:

FieldTypeRequiredDescriptionValidation
keystringTrueminLength: 1
colorstringFalse
aggeragationstringFalseenum: ['MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'P50', 'P90', 'min', 'max', 'avg', 'sum', 'count', 'p50', 'p90', 'Min', 'Max', 'Avg', 'Sum', 'Count']
mergeaggregationstringFalseenum: ['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum']
dimensionsarray of stringsFalse
seriestypestringFalseHow will given series render in Dynatrace UIenum: ['LINE', 'AREA', 'BAR', 'line', 'area', 'bar', 'Line', 'Area', 'Bar']
stackedbooleanFalse
rightaxisbooleanFalse
displaynamestringFalseminLength: 1
unitstringFalseminLength: 1

dimensions

Array item definition:

PropertyDescription
typestring
minLength1

Config UI section

FieldTypeRequiredDescriptionValidation
displayNamestringFalseHuman readable plugin name. This name is displayed in web UI at Settings > Monitored technologies > Custom plugins once the plugin is uploaded.minLength: 1
propertiesarray of objectsFalse

ConfigUI properties

Array item definition:

FieldTypeRequiredDescriptionValidation
keystringTrueConfig property key, needs to match key from configUI properties sectionminLength: 1
displayNamestringTrueHuman readable property name.minLength: 1
displayOrderintegerFalseDetermines display order on plugin configuration tile.
displayHintstringFalseHint displayed in the tool-tip.

Alert

Array item definition:

FieldTypeRequiredDescriptionValidation
alert_idTrueUnique alert id.
event_typeTrueEvent type
descriptionstringFalseDescription 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_conditionTrueAlert condition
event_namestringTrueEvent name displayed on UI pages.minLength: 1
thresholdnumberTrueThe value of the threshold.
samplesintegerTrueSize of the "window" in which violating_samples are counted.
violating_samplesintegerTrueThe number of violating samples that rise an alert. Must be less that samples.
dealerting_samplesintegerTrueThe number of not violating samples that deactivate and alert. Must be less that samples.

Known technologies list

Array item definition:

PropertyDescription
typestring
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:

FieldTypeRequiredDescriptionValidation
timeseriesobjectTrueTimeseries definition
entitystringFalseenum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP']
alert_settingsarray of objectsFalse
sourceobjectFalseCan be used to specify any valid JSON structure, to be processed by the Plugin.
FieldTypeRequiredDescriptionValidation
statetimeseriesobjectTrueStatetimeseries definition
entitystringFalseenum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP']
alert_settingsarray of objectsFalse

Timeseries

FieldTypeRequiredDescriptionValidation
keyTrueMetric name. Must be unique within this plugin.
unitstringTrueMetric 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', 'NotApplicable']
aggregationstringFalseTime series data point aggregationenum: ['min', 'max', 'avg', 'sum', 'count', 'MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'Min', 'Max', 'Avg', 'Sum', 'Count']
dimensionsarrayFalseDimensions 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).
displaynamestringTrueThe name under which the metric will be displayed.minLength: 1

dimensions

Array item definition:

Statetimeseries

FieldTypeRequiredDescriptionValidation
keyTrue
dimensionsarrayFalse
statesarrayTrue
displaynamestringTrueminLength: 1
sourceobjectFalseCan be used to specify any valid JSON structure, to be processed by the Plugin.

Plugin properties

Array item definition:

FieldTypeRequiredDescriptionValidation
keystringTrueProperty key. Must be unique within this plugin and must match the key from configUI properties.minLength: 1
typestringTrueFor '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']FalseDefault value.

Source metadata section

FieldTypeRequiredDescriptionValidation
packagestringTruePython package that has plugin class
classNamestringTrueName of plugins main python class. Must inherit from BasePlugin.
install_requiresarray of stringsFalseRelates to Python packaging, see: https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-dependencies
packagesarray of stringsFalseRelates to Python packaging, see: https://docs.python.org/3.8/distutils/setupscript.html
package_dataarray of stringsFalseRelates to Python packaging, see: https://docs.python.org/3.8/distutils/setupscript.html
modulesarray of stringsFalseRelates to Python packaging, see: https://docs.python.org/3.8/distutils/setupscript.html

UI Section

FieldTypeRequiredDescriptionValidation
keyMetricsarray of objectsFalsemaxItems: 2
keychartsarray of objectsFalseCharts in first chart group in CD instance
chartsarray of objectsFalseVisible in CD instance, in it's own defined group

keyMetrics

Array item definition:

FieldTypeRequiredDescriptionValidation
keystringTrueminLength: 1
aggregationstringFalseAggregation typeenum: ['MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'P50', 'P90', 'min', 'max', 'avg', 'sum', 'count', 'p50', 'p90', 'Min', 'Max', 'Avg', 'Sum', 'Count']
mergeaggregationstringFalseenum: ['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum']
displaynamestringFalseminLength: 1
unitstringFalseenum: ['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', 'NotApplicable']

Aggregation type

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

Merge-aggregation type

PropertyDescription
typestring
enum['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum']

Units in UI

PropertyDescription
typestring
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', 'NotApplicable']