Cribl · Schema

Cribl Destination

A Cribl data output destination that receives processed events from pipelines and delivers them to analytics platforms, storage systems, and other downstream targets.

ConfigurationData LakeData PipelinesData RoutingEdge ComputingInfrastructure as CodeObservabilitySearchSecurity DataStream ProcessingTelemetry

Properties

Name Type Description
id string Unique identifier for the destination
type string The destination type that determines the delivery protocol and configuration options
disabled boolean Whether the destination is disabled
host string The target host address for the destination
port integer The target port number
tls object TLS/SSL configuration for encrypted delivery
description string A human-readable description of the destination purpose
environment string The environment context tag for this destination
streamtags array Tags used for filtering events to this destination
throttleRatePerSec integer Maximum events per second to send to this destination
onBackpressure string Behavior when the destination cannot keep up with incoming events
pq object
View JSON Schema on GitHub

JSON Schema

cribl-destination-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.cribl.io/schemas/cribl/destination.json",
  "title": "Cribl Destination",
  "description": "A Cribl data output destination that receives processed events from pipelines and delivers them to analytics platforms, storage systems, and other downstream targets.",
  "type": "object",
  "required": ["id", "type"],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the destination",
      "pattern": "^[a-zA-Z0-9_:-]+$"
    },
    "type": {
      "type": "string",
      "description": "The destination type that determines the delivery protocol and configuration options",
      "enum": [
        "splunk",
        "splunk_hec",
        "s3",
        "elasticsearch",
        "kafka",
        "kinesis",
        "syslog",
        "tcp_json",
        "webhook",
        "azure_blob",
        "azure_event_hub",
        "azure_monitor",
        "google_cloud_storage",
        "google_cloud_pubsub",
        "google_chronicle",
        "datadog",
        "new_relic",
        "sumo_logic",
        "cribl_lake",
        "cribl_http",
        "filesystem",
        "devnull",
        "default",
        "graphite",
        "statsd",
        "honeycomb",
        "loki",
        "minio",
        "snowflake"
      ]
    },
    "disabled": {
      "type": "boolean",
      "description": "Whether the destination is disabled",
      "default": false
    },
    "host": {
      "type": "string",
      "description": "The target host address for the destination"
    },
    "port": {
      "type": "integer",
      "description": "The target port number",
      "minimum": 1,
      "maximum": 65535
    },
    "tls": {
      "type": "object",
      "description": "TLS/SSL configuration for encrypted delivery",
      "properties": {
        "disabled": {
          "type": "boolean",
          "description": "Whether TLS is disabled",
          "default": true
        },
        "certPath": {
          "type": "string",
          "description": "Path to the TLS certificate file"
        },
        "privKeyPath": {
          "type": "string",
          "description": "Path to the TLS private key file"
        },
        "caPath": {
          "type": "string",
          "description": "Path to the CA certificate for server verification"
        },
        "rejectUnauthorized": {
          "type": "boolean",
          "description": "Whether to reject connections with invalid certificates",
          "default": true
        }
      }
    },
    "description": {
      "type": "string",
      "description": "A human-readable description of the destination purpose"
    },
    "environment": {
      "type": "string",
      "description": "The environment context tag for this destination"
    },
    "streamtags": {
      "type": "array",
      "description": "Tags used for filtering events to this destination",
      "items": {
        "type": "string"
      }
    },
    "throttleRatePerSec": {
      "type": "integer",
      "description": "Maximum events per second to send to this destination",
      "minimum": 0
    },
    "onBackpressure": {
      "type": "string",
      "description": "Behavior when the destination cannot keep up with incoming events",
      "enum": [
        "drop",
        "block",
        "queue"
      ]
    },
    "pq": {
      "$ref": "#/$defs/PersistentQueue"
    }
  },
  "$defs": {
    "PersistentQueue": {
      "type": "object",
      "description": "Persistent queue configuration for buffering events during destination outages.",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether persistent queuing is enabled",
          "default": false
        },
        "maxSize": {
          "type": "string",
          "description": "Maximum queue size with unit suffix such as 1GB, 500MB",
          "pattern": "^[0-9]+(GB|MB|KB)$"
        },
        "maxEvents": {
          "type": "integer",
          "description": "Maximum number of events to queue",
          "minimum": 0
        },
        "compress": {
          "type": "boolean",
          "description": "Whether to compress queued data",
          "default": false
        }
      }
    }
  }
}