Edge Delta Honeycomb Output

Stream data to Honeycomb.

Overview

The Honeycomb output will stream analytics and insights to a Honeycomb environment.

Before you can create an output, you must have available a Honeycomb API key. To learn how to create new Honeycomb API key, see this document from Honeycomb.

Example

    - name: honeycomb
      type: honeycomb
      host: "<ADD HONEYCOMB HOST>" 
      api_key: {{Env "TEST_HC_APIKEY"}}
      dataset_name: "<ADD-DATASET_NAME>"
      unpacking: false
      features: metric,log,edac
      custom_tags:
        "app": "s_pos_transaction_manager"
        "region": "us-west-2"
        "File Path": "{{.FileGlobPath}}"
        "K8s PodName": "{{.K8sPodName}}"
        "K8s Namespace": "{{.K8sNamespace}}"
        "K8s ControllerKind": "{{.K8sControllerKind}}"
        "K8s ContainerName": "{{.K8sContainerName}}"
        "K8s ContainerImage": "{{.K8sContainerImage}}"
        "K8s ControllerLogicalName": "{{.K8sControllerLogicalName}}"
        "ECSCluster": "{{.ECSCluster}}"
        "ECSContainerName": "{{.ECSContainerName}}"
        "ECSTaskVersion": "{{.ECSTaskVersion}}"
        "ECSTaskFamily": "{{.ECSTaskFamily}}"
        "DockerContainerName": "{{.DockerContainerName}}"
        "ConfigID": "{{.ConfigID}}"
        "Host": "{{.Host}}"
        "Source": "{{.Source}}"
        "SourceType": "{{.SourceType}}"
        "Tag": "{{.Tag}}"

Parameters

name

Required

Enter a descriptive name for the output or integration.

For outputs, this name will be used to map this destination to a workflow.

name: honeycomb

integration_name

Optional

This parameter refers to the organization-level integration created in the Integrations page.

If you need to add multiple instances of the same integration into the config, then you can add a custom name to each instance via the name parameter. In this situation, the name should be used to refer to the specific instance of the destination in the workflows.

integration_name: orgs-honeycomb

type

Required

Enter honeycomb.

type: honeycomb

host

Optional

Enter a name to create a custom installation of the Honeycomb host that will receive the data.

host: api.honeycomb.io

api_key

Required

Enter the Honeycomb API key.

api_key: '{{ Env "TEST_HC_APIKEY" }}'

dataset_name

Required

Enter a name to create a dataset that will send data to Honeycomb.

At Honeycomb, datasets are high-level buckets for your data.

dataset_name: "<ADD-DATASET_NAME>"

unpacking

Optional

Enter true or false to unpack and flatten nested JSON objects into unique columns.

If you do not want to flatten nested fields, then enter false.

unpacking: false

custom_tags

Optional

This parameter defines key-value pairs that are streamed with every request.

custom_tags:
  "app": "s_pos_transaction_manager"
  "region": "us-west-2"
  "File Path": "{{.FileGlobPath}}"
  "K8s PodName": "{{.K8sPodName}}"
  "K8s Namespace": "{{.K8sNamespace}}"
  "K8s ControllerKind": "{{.K8sControllerKind}}"
  "K8s ContainerName": "{{.K8sContainerName}}"
  "K8s ContainerImage": "{{.K8sContainerImage}}"
  "K8s ControllerLogicalName": "{{.K8sControllerLogicalName}}"
  "ECSCluster": "{{.ECSCluster}}"
  "ECSContainerName": "{{.ECSContainerName}}"
  "ECSTaskVersion": "{{.ECSTaskVersion}}"
  "ECSTaskFamily": "{{.ECSTaskFamily}}"
  "DockerContainerName": "{{.DockerContainerName}}"
  "ConfigID": "{{.ConfigID}}"
  "Host": "{{.Host}}"
  "Source": "{{.Source}}"
  "SourceType": "{{.SourceType}}"
  "Tag": "{{.Tag}}"

features

Optional

This parameter defines which data types to stream to the destination.

To learn more, see the following section on supported feature types.

features: metric,log,edac

buffer_ttl

Optional

Enter a length of time to retry failed streaming data.

After this length of time is reached, the failed streaming data will no longer be tried.

buffer_ttl: 2h

buffer_path

Optional

Enter a folder path to temporarily store failed streaming data.

The failed streaming data will be retried until the data reaches its destinations or until the Buffer TTL value is reached.

If you enter a path that does not exist, then the agent will create directories, as needed.

buffer_path: /var/log/edgedelta/pushbuffer/

buffer_max_bytesize

Optional

Enter the maximum size of failed streaming data that you want to retry.

If the failed streaming data is larger than this size, then the failed streaming data will not be retried.

buffer_max_bytesize: 100MB

Supported Features

See Streaming Features.

Feature Type Supported?
Log Yes
Metrics Yes
Alert as event No
Alert as log Yes
Health No
Dimensions as attribute Yes
Send as is No
Send as JSON No
Custom tags Yes
EDAC enrichment No
Message template No
outgoing_bytes.sum Yes
outgoing__raw_bytes.sum Yes
outgoing_lines.count Yes
output buffering to disk No