AppDynamics Machine Agent API

The AppDynamics Machine Agent API provides HTTP endpoints available at the machine agent for uploading custom metrics to the AppDynamics Controller. Developers can use this API to report custom infrastructure metrics, hardware metrics, and other machine-level data points that are not captured by the default agent instrumentation. This enables organizations to extend their monitoring coverage to include custom system-level metrics and integrate data from third-party monitoring tools.

OpenAPI Specification

appdynamics-machine-agent-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AppDynamics Machine Agent API
  description: >-
    The AppDynamics Machine Agent API provides HTTP endpoints available at
    the machine agent for uploading custom metrics to the AppDynamics
    Controller. Developers can use this API to report custom infrastructure
    metrics, hardware metrics, and other machine-level data points that are
    not captured by the default agent instrumentation. This enables
    organizations to extend their monitoring coverage to include custom
    system-level metrics and integrate data from third-party monitoring
    tools. The HTTP listener must be enabled on the Machine Agent before
    use.
  version: '23.x'
  contact:
    name: Splunk AppDynamics Support
    url: https://www.appdynamics.com/support
  termsOfService: https://www.cisco.com/c/en/us/about/legal/cloud-and-software.html
externalDocs:
  description: Machine Agent HTTP Listener Documentation
  url: https://docs.appdynamics.com/appd/24.x/latest/en/infrastructure-visibility/machine-agent/extensions-and-custom-metrics/machine-agent-http-listener
servers:
  - url: http://{machine-agent-host}:{port}
    description: Machine Agent HTTP Listener
    variables:
      machine-agent-host:
        default: localhost
        description: >-
          The hostname where the Machine Agent is running. Defaults to
          localhost unless configured otherwise.
      port:
        default: '8293'
        description: >-
          The port for the Machine Agent HTTP listener.
tags:
  - name: Custom Metrics
    description: >-
      Upload custom metrics to the AppDynamics Controller through the Machine
      Agent HTTP listener. Metrics must be uploaded at least once every 300
      seconds to remain active.
security: []
paths:
  /api/v1/metrics:
    post:
      operationId: publishCustomMetrics
      summary: Publish custom metrics
      description: >-
        Uploads one or more custom metrics to the AppDynamics Controller
        through the Machine Agent. Metrics must be uploaded at least once
        every 300 seconds (5 minutes) to remain active in the metric
        hierarchy. Each metric requires a name, aggregator type, and a 64-bit
        integer value.
      tags:
        - Custom Metrics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              description: >-
                An array of custom metric objects to upload.
              items:
                $ref: '#/components/schemas/CustomMetric'
      responses:
        '200':
          description: Metrics uploaded successfully
        '400':
          description: Bad request - invalid metric data
        '503':
          description: Service unavailable - Machine Agent HTTP listener not enabled
components:
  schemas:
    CustomMetric:
      type: object
      description: >-
        A custom metric data point to upload to the Controller through the
        Machine Agent HTTP listener.
      required:
        - metricName
        - aggregatorType
        - value
      properties:
        metricName:
          type: string
          description: >-
            The full metric path name using pipe delimiters for hierarchy
            levels. For example, Custom Metrics|MyApp|RequestCount.
        aggregatorType:
          type: string
          description: >-
            The aggregation type that determines how metric values are rolled
            up across time periods and cluster nodes.
          enum:
            - AVERAGE
            - SUM
            - OBSERVATION
            - ADVANCED_AVERAGE
        value:
          type: integer
          format: int64
          description: >-
            The metric value as a 64-bit integer.