Apache Flume Monitoring API

REST API for monitoring Apache Flume agents, retrieving component metrics for sources, channels, and sinks, and accessing agent health information.

OpenAPI Specification

apache-flume-monitoring-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Apache Flume Monitoring API
  version: "1.11.0"
  description: REST API for monitoring Apache Flume agents, retrieving component metrics, and accessing agent health information.
  contact:
    email: [email protected]
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: http://localhost:41414
    description: Flume Agent Monitoring HTTP Server

paths:
  /metrics:
    get:
      operationId: getMetrics
      summary: Apache Flume Get Agent Metrics
      description: Retrieve all component metrics for the running Flume agent including source, channel, and sink statistics.
      tags:
        - Monitoring
      responses:
        '200':
          description: Component metrics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentMetrics'
              examples:
                GetMetrics200Example:
                  summary: Default getMetrics 200 response
                  x-microcks-default: true
                  value:
                    SOURCE.avro-source:
                      EventReceivedCount: "1000"
                      EventAcceptedCount: "998"
                      AppendBatchAcceptedCount: "50"
                      AppendBatchReceivedCount: "50"
                      Type: SOURCE
                      StartTime: "1718153645993"
                      StopTime: "0"
                    CHANNEL.memory-channel:
                      EventPutAttemptCount: "998"
                      EventPutSuccessCount: "998"
                      EventTakeAttemptCount: "998"
                      EventTakeSuccessCount: "997"
                      ChannelSize: "1"
                      ChannelCapacity: "1000"
                      Type: CHANNEL
                    SINK.hdfs-sink:
                      EventDrainAttemptCount: "997"
                      EventDrainSuccessCount: "997"
                      ConnectionCreatedCount: "5"
                      ConnectionClosedCount: "4"
                      Type: SINK
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK

components:
  schemas:
    AgentMetrics:
      type: object
      description: All component metrics for a Flume agent indexed by component type and name
      additionalProperties:
        $ref: '#/components/schemas/ComponentMetrics'

    ComponentMetrics:
      type: object
      description: Metrics for a specific Flume component (source, channel, or sink)
      properties:
        Type:
          type: string
          description: Component type (SOURCE, CHANNEL, or SINK)
          enum: [SOURCE, CHANNEL, SINK]
          example: SOURCE
        StartTime:
          type: string
          description: Component start timestamp in milliseconds since epoch
          example: "1718153645993"
        StopTime:
          type: string
          description: Component stop timestamp (0 if running)
          example: "0"
        EventReceivedCount:
          type: string
          description: Number of events received (sources only)
          example: "1000"
        EventAcceptedCount:
          type: string
          description: Number of events accepted (sources only)
          example: "998"
        AppendBatchReceivedCount:
          type: string
          description: Number of event batches received (sources only)
          example: "50"
        AppendBatchAcceptedCount:
          type: string
          description: Number of event batches accepted (sources only)
          example: "50"
        EventPutAttemptCount:
          type: string
          description: Number of event put attempts (channels only)
          example: "998"
        EventPutSuccessCount:
          type: string
          description: Number of successful event puts (channels only)
          example: "998"
        EventTakeAttemptCount:
          type: string
          description: Number of event take attempts (channels only)
          example: "998"
        EventTakeSuccessCount:
          type: string
          description: Number of successful event takes (channels only)
          example: "997"
        ChannelSize:
          type: string
          description: Current number of events in channel
          example: "1"
        ChannelCapacity:
          type: string
          description: Maximum channel capacity in events
          example: "1000"
        EventDrainAttemptCount:
          type: string
          description: Number of drain attempts (sinks only)
          example: "997"
        EventDrainSuccessCount:
          type: string
          description: Number of successful drains (sinks only)
          example: "997"
        ConnectionCreatedCount:
          type: string
          description: Number of connections created (sinks only)
          example: "5"
        ConnectionClosedCount:
          type: string
          description: Number of connections closed (sinks only)
          example: "4"
        ConnectionFailedCount:
          type: string
          description: Number of failed connections (sinks only)
          example: "0"