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.
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+)?$ |
technologies | 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 |
source | object | False | Python metadata used by ActiveGate PluginModule python engine | |
metrics | array | True | The section defining metrics; see Metrics section for reference | uniqueItems: True |
properties | array of objects | False | Configuration properties the plugin can accept. | |
ui | object | False | This part of the JSON defines how metrics are charted on each Process page. | |
configUI | object | False | The configUI section defines the configuration fields that are displayed in the UI. |
Array item definition:
Field | Type | Required | Description | Validation |
---|---|---|---|---|
title | string | True | minLength: 1 | |
description | string | False | minLength: 1 | |
group | string | True | minLength: 1 | |
series | array of objects | True |
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'] | |
dimensions | 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 |
Array item definition:
Property | Description |
---|---|
type | string |
minLength | 1 |
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 |
properties | array of objects | False |
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. |
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. |
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'] |
Array item have to match one of:
Field | Type | Required | Description | Validation |
---|---|---|---|---|
timeseries | object | True | Timeseries definition | |
entity | string | False | enum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP'] | |
alert_settings | array of objects | False | ||
source | object | False | Can be used to specify any valid JSON structure, to be processed by the Plugin. |
Field | Type | Required | Description | Validation |
---|---|---|---|---|
statetimeseries | object | True | Statetimeseries definition | |
entity | string | False | enum: ['CUSTOM_DEVICE', 'CUSTOM_DEVICE_GROUP'] | |
alert_settings | array of objects | False |
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'] |
dimensions | 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 |
Array item definition:
Field | Type | Required | Description | Validation |
---|---|---|---|---|
key | True | |||
dimensions | array | False | ||
states | array | True | ||
displayname | string | True | minLength: 1 | |
source | object | False | Can be used to specify any valid JSON structure, to be processed by the Plugin. |
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. |
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. | |
install_requires | array of strings | False | Relates to Python packaging, see: https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-dependencies | |
packages | array of strings | False | Relates to Python packaging, see: https://docs.python.org/3.8/distutils/setupscript.html | |
package_data | array of strings | False | Relates to Python packaging, see: https://docs.python.org/3.8/distutils/setupscript.html | |
modules | array of strings | False | Relates to Python packaging, see: https://docs.python.org/3.8/distutils/setupscript.html |
Field | Type | Required | Description | Validation |
---|---|---|---|---|
keyMetrics | array of objects | False | maxItems: 2 | |
keycharts | array of objects | False | Charts in first chart group in CD instance | |
charts | array of objects | False | Visible in CD instance, in it's own defined group |
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'] |
Property | Description |
---|---|
type | string |
enum | ['MIN', 'MAX', 'AVG', 'SUM', 'COUNT', 'P50', 'P90', 'min', 'max', 'avg', 'sum', 'count', 'p50', 'p90', 'Min', 'Max', 'Avg', 'Sum', 'Count'] |
Property | Description |
---|---|
type | string |
enum | ['MIN', 'MAX', 'AVG', 'SUM', 'min', 'max', 'avg', 'sum', 'Min', 'Max', 'Avg', 'Sum'] |
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'] |