ActiveGate plugins JSON reference

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+)?$
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.

Chart

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

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']
dimensions array of strings False
seriestype string False How will given series render in DESK 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
properties 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', 'DESK_CLASSIC', 'DESK_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
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

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

dimensions

Array item definition:

Statetimeseries

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.

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.
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.6/distutils/setupscript.html
package_data array of strings False Relates to Python packaging, see: https://docs.python.org/3.6/distutils/setupscript.html
modules array of strings False Relates to Python packaging, see: https://docs.python.org/3.6/distutils/setupscript.html

UI Section

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

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

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