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