Oracle Solaris StatsStore and Analytics API

REST API and web interface for accessing the Oracle Solaris 11.4 StatsStore, providing consolidated zone resource statistics, system performance data, and historical analytics via CLI, C, Python, and RAD interfaces.

OpenAPI Specification

solaris-statsstore-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Solaris Zones Oracle Solaris StatsStore and Analytics API
  description: >-
    REST API for accessing the Oracle Solaris 11.4 StatsStore, which provides
    consolidated system statistics, zone resource utilization data, and
    historical performance analytics. The StatsStore collects and organizes
    system-wide and per-zone statistics using a hierarchical namespace of
    statistics identifiers (SSIDs). Data is accessible via CLI (sstore),
    the RAD REST interface, the System Web Interface, and programmatic APIs
    in C and Python.
  version: '1.0'
  contact:
    name: Oracle Solaris Support
    url: https://www.oracle.com/solaris/support/
    email: [email protected]
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms.html
externalDocs:
  description: Using Oracle Solaris 11.4 StatsStore and System Web Interface
  url: https://docs.oracle.com/cd/E37838_01/html/E56520/index.html
servers:
- url: https://{host}:{port}/api/com.oracle.solaris.rad.sstore/1.0
  description: Oracle Solaris RAD REST endpoint for StatsStore
  variables:
    host:
      default: localhost
      description: Solaris host running RAD
    port:
      default: '6788'
      description: RAD REST API port
- url: https://{host}:{webport}
  description: Oracle Solaris System Web Interface
  variables:
    host:
      default: localhost
    webport:
      default: '6787'
      description: System Web Interface HTTPS port
tags:
- name: Statistics Discovery
  description: Discover available statistics and namespaces
- name: Statistics Retrieval
  description: Retrieve current and historical statistics data
- name: System Statistics
  description: System-wide performance statistics
- name: Zone Statistics
  description: Per-zone resource utilization statistics
security:
- cookieAuth: []
paths:
  /:
    get:
      operationId: listSstoreInterfaces
      summary: Solaris Zones List Statsstore Interfaces
      description: >-
        Discover all available StatsStore interfaces and the hierarchical
        namespace of statistics identifiers (SSIDs).
      tags:
      - Statistics Discovery
      parameters:
      - $ref: '#/components/parameters/radDetail'
      responses:
        '200':
          description: Available StatsStore interfaces
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      type: object
                      properties:
                        href:
                          type: string
                        type:
                          type: string
              examples:
                Listsstoreinterfaces200Example:
                  summary: Default listSstoreInterfaces 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - href: example_value
                      type: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Store/_rad_method/list:
    put:
      operationId: listStatistics
      summary: Solaris Zones List Available Statistics
      description: >-
        List statistics identifiers (SSIDs) matching the given pattern.
        SSIDs follow a hierarchical namespace format like
        //:class:module/statistic-name. Supports glob-style wildcards.
      tags:
      - Statistics Discovery
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - pattern
              properties:
                pattern:
                  type: string
                  description: >-
                    SSID pattern with optional wildcards. Examples:
                    //:class:zones/*, //:class:cpu/*, //:class:memory/*,
                    //:class:net/*
                  example: '//:class:zones/*'
            examples:
              ListstatisticsRequestExample:
                summary: Default listStatistics request
                x-microcks-default: true
                value:
                  pattern: example_value
      responses:
        '200':
          description: List of matching SSIDs
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/StatisticIdentifier'
              examples:
                Liststatistics200Example:
                  summary: Default listStatistics 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - ssid: '500123'
                      type: counter
                      description: A sample description.
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Store/_rad_method/read:
    put:
      operationId: readStatistics
      summary: Solaris Zones Read Current Statistics Values
      description: >-
        Read the current values of one or more statistics identified by their
        SSIDs. Returns the most recent recorded values.
      tags:
      - Statistics Retrieval
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ssids
              properties:
                ssids:
                  type: array
                  items:
                    type: string
                  description: >-
                    Array of SSID strings to read. Supports wildcards.
                  example:
                  - '//:class:zones/utilization/cpu'
                  - '//:class:zones/utilization/memory-rss'
            examples:
              ReadstatisticsRequestExample:
                summary: Default readStatistics request
                x-microcks-default: true
                value:
                  ssids:
                  - example_value
      responses:
        '200':
          description: Statistics values
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/StatisticValue'
              examples:
                Readstatistics200Example:
                  summary: Default readStatistics 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - ssid: '500123'
                      value: example_value
                      timestamp: '2026-01-15T10:30:00Z'
                      unit: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Store/_rad_method/readHistory:
    put:
      operationId: readHistoricalStatistics
      summary: Solaris Zones Read Historical Statistics
      description: >-
        Read historical statistics data within a specified time range. The
        StatsStore maintains historical data at configurable retention
        intervals.
      tags:
      - Statistics Retrieval
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ssids
              properties:
                ssids:
                  type: array
                  items:
                    type: string
                  description: Array of SSID strings to retrieve history for
                start:
                  type: string
                  format: date-time
                  description: Start of the time range (ISO 8601)
                end:
                  type: string
                  format: date-time
                  description: End of the time range (ISO 8601)
                step:
                  type: integer
                  description: Interval step in seconds between data points
            examples:
              ReadhistoricalstatisticsRequestExample:
                summary: Default readHistoricalStatistics request
                x-microcks-default: true
                value:
                  ssids:
                  - example_value
                  start: '2026-01-15T10:30:00Z'
                  end: '2026-01-15T10:30:00Z'
                  step: 10
      responses:
        '200':
          description: Historical statistics data
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/HistoricalStatistic'
              examples:
                Readhistoricalstatistics200Example:
                  summary: Default readHistoricalStatistics 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - ssid: '500123'
                      dataPoints:
                      - {}
                      unit: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Store/_rad_method/describe:
    put:
      operationId: describeStatistic
      summary: Solaris Zones Describe a Statistic
      description: >-
        Get metadata about a statistic including its description, data type,
        unit, and collection interval.
      tags:
      - Statistics Discovery
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - ssid
              properties:
                ssid:
                  type: string
                  description: SSID to describe
                  example: '//:class:zones/utilization/cpu'
            examples:
              DescribestatisticRequestExample:
                summary: Default describeStatistic request
                x-microcks-default: true
                value:
                  ssid: '500123'
      responses:
        '200':
          description: Statistic metadata
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    $ref: '#/components/schemas/StatisticMetadata'
              examples:
                Describestatistic200Example:
                  summary: Default describeStatistic 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                      ssid: '500123'
                      description: A sample description.
                      type: counter
                      unit: example_value
                      interval: 10
                      persistent: true
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Store/_rad_method/readZoneStats:
    put:
      operationId: readZoneStatistics
      summary: Solaris Zones Read Zone-specific Statistics
      description: >-
        Read resource utilization statistics for one or more zones. Provides
        a convenient way to query zone-specific data without constructing
        full SSID paths.
      tags:
      - Zone Statistics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                zones:
                  type: array
                  items:
                    type: string
                  description: Zone names to retrieve statistics for (empty for all zones)
                metrics:
                  type: array
                  items:
                    type: string
                    enum:
                    - cpu
                    - memory-rss
                    - memory-vm
                    - memory-locked
                    - swap
                    - nprocs
                    - nlwps
                    - network-bytes-in
                    - network-bytes-out
                  description: Metrics to retrieve
            examples:
              ReadzonestatisticsRequestExample:
                summary: Default readZoneStatistics request
                x-microcks-default: true
                value:
                  zones:
                  - example_value
                  metrics:
                  - cpu
      responses:
        '200':
          description: Zone statistics
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/ZoneStatistic'
              examples:
                Readzonestatistics200Example:
                  summary: Default readZoneStatistics 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - zoneName: example_value
                      zoneId: '500123'
                      metric: example_value
                      value: 42.5
                      unit: example_value
                      timestamp: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Store/_rad_method/readSystemStats:
    put:
      operationId: readSystemStatistics
      summary: Solaris Zones Read System-wide Statistics
      description: >-
        Read system-wide performance statistics including total CPU, memory,
        I/O, and network utilization.
      tags:
      - System Statistics
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                metrics:
                  type: array
                  items:
                    type: string
                    enum:
                    - cpu-utilization
                    - memory-utilization
                    - memory-total
                    - memory-free
                    - swap-utilization
                    - disk-io-bytes
                    - network-bytes-total
                  description: System metrics to retrieve
            examples:
              ReadsystemstatisticsRequestExample:
                summary: Default readSystemStatistics request
                x-microcks-default: true
                value:
                  metrics:
                  - cpu-utilization
      responses:
        '200':
          description: System statistics
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  payload:
                    type: array
                    items:
                      $ref: '#/components/schemas/SystemStatistic'
              examples:
                Readsystemstatistics200Example:
                  summary: Default readSystemStatistics 200 response
                  x-microcks-default: true
                  value:
                    status: example_value
                    payload:
                    - metric: example_value
                      value: 42.5
                      unit: example_value
                      timestamp: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: _rad_session
      description: RAD session cookie obtained via authentication
  parameters:
    radDetail:
      name: _rad_detail
      in: query
      required: false
      description: Include detailed property information
      schema:
        type: boolean
  responses:
    Unauthorized:
      description: Authentication required or session expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RadError'
  schemas:
    RadError:
      type: object
      properties:
        status:
          type: string
          example: failure
        payload:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
          example: example_value
    StatisticIdentifier:
      type: object
      properties:
        ssid:
          type: string
          description: >-
            Statistics identifier in hierarchical namespace format
            (e.g., //:class:zones/zone-name/utilization/cpu)
          example: '500123'
        type:
          type: string
          description: Statistic data type
          enum:
          - counter
          - gauge
          - histogram
          - string
          example: counter
        description:
          type: string
          description: Human-readable description
          example: A sample description.
    StatisticValue:
      type: object
      properties:
        ssid:
          type: string
          description: Statistics identifier
          example: '500123'
        value:
          description: Current value (type depends on the statistic)
          oneOf:
          - type: number
          - type: string
          - type: integer
          example: example_value
        timestamp:
          type: string
          format: date-time
          description: When the value was recorded
          example: '2026-01-15T10:30:00Z'
        unit:
          type: string
          description: Unit of measurement
          example: example_value
    HistoricalStatistic:
      type: object
      properties:
        ssid:
          type: string
          description: Statistics identifier
          example: '500123'
        dataPoints:
          type: array
          items:
            type: object
            properties:
              timestamp:
                type: string
                format: date-time
              value:
                oneOf:
                - type: number
                - type: integer
          description: Time series data points
          example: []
        unit:
          type: string
          description: Unit of measurement
          example: example_value
    StatisticMetadata:
      type: object
      properties:
        ssid:
          type: string
          description: Statistics identifier
          example: '500123'
        description:
          type: string
          description: Human-readable description
          example: A sample description.
        type:
          type: string
          description: Data type
          enum:
          - counter
          - gauge
          - histogram
          - string
          example: counter
        unit:
          type: string
          description: Unit of measurement (e.g., bytes, percent, count)
          example: example_value
        interval:
          type: integer
          description: Collection interval in seconds
          example: 10
        persistent:
          type: boolean
          description: Whether historical data is retained
          example: true
    ZoneStatistic:
      type: object
      properties:
        zoneName:
          type: string
          description: Zone name
          example: example_value
        zoneId:
          type: integer
          description: Numeric zone ID
          example: '500123'
        metric:
          type: string
          description: Metric name
          example: example_value
        value:
          type: number
          description: Current metric value
          example: 42.5
        unit:
          type: string
          description: Unit of measurement
          example: example_value
        timestamp:
          type: string
          format: date-time
          description: When the value was recorded
          example: '2026-01-15T10:30:00Z'
    SystemStatistic:
      type: object
      properties:
        metric:
          type: string
          description: System metric name
          example: example_value
        value:
          type: number
          description: Current metric value
          example: 42.5
        unit:
          type: string
          description: Unit of measurement
          example: example_value
        timestamp:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'