Docs
test1test2
6.5
6.5
  • ElastiFlow Documentation
  • Unified Flow Collector
    • General Configuration
    • Changelog
    • Maxmind GeoIP2 and GeoLite2
    • RiskIQ PassiveTotal
    • Network Interfaces
    • User-Defined Metadata
    • Docker
    • Linux
    • Unified Flow Collector Introduction
    • System Requirements
    • Supported IEs
    • AWS VPC Flow Log IEs
    • IPFIX IEs
    • Netflow IEs
    • sFlow IEs
  • Unified SNMP Collector
    • Device Groups
    • Changelog
    • Devices
    • Downloading Definitions
    • Enumerations
    • Objects
    • Object Groups
    • User-Defined Metadata
    • Docker
    • Network Interfaces
    • United SNMP Collector Introduction
    • Linux
    • Scheduling Rediscovery
  • Monitoring ElastiFlow
    • Liveness & Readiness
    • Metrics
    • Prometheus & Grafana
  • Configuration Reference
    • YAML Configuration Files
    • Configuration Reference Overview
    • Common
      • API
      • Licensing
      • Overview
      • Logging
      • HTTP output
      • Elasticsearch output
      • Kafka output
      • Monitor output
      • OpenSearch output
      • Splunk output
      • stdout output
      • Processor
    • Unified Flow Collector
      • Overview
      • Community/Conversation IDs
      • EF_PROCESSOR_ENRICH_TOTALS_IF_NO_DELTAS
      • Overview
      • RiskIQ PassiveTotal
      • Maxmind
      • User-Defined Metadata
      • Overview
      • Overview
      • User-Defined Metadata
      • Overview
      • Benchmark Input
      • Netflow/IPFIX/sFlow (UDP)
      • Licensing
      • Decoder/Processor
      • Sample Rate
      • Configuration Changes
    • Unified SNMP Collector
      • User-Defined Metadata
      • Overview
      • Licensing
      • SNMP Poller
      • EF_PROCESSOR_SNMP_ENUM_DEFINITIONS_DIRECTORY_PATH
  • API Reference
    • API Reference Overview
    • SNMP Operations
  • Data Platforms
    • Elastic
      • Basic Cluster
      • Advanced Cluster
      • Single Server
      • Multi-Tier Cluster
      • Single "Lab" Server
      • Elasticsearch
      • ElastiFlow vs. Filebeat and Logstash
      • RHEL/CentOS
      • Ubuntu/Debian
      • Kibana
      • ML
        • Network Security
        • Machine Learning
        • Availability
          • Network Availability
          • DHCP
          • LDAP
          • DNS
          • NTP
          • RADIUS
          • TCP Sessions
        • Network Security Activity
          • Rare Autonomous System
          • Network Activity
          • Rare Conversation
          • Rare Geolocation
        • Network Security Brute Force
          • Brute Force CLI Access
          • Brute Force Remote Desktop Access
          • Brute Force Attacks
        • Network Security DDoS
          • Denial-of-Service
          • ICMP Flood Attack
          • SYN Flood Attack
          • TCP DDoS Attack
          • UDP Amplification Attack
        • Network Security Recon
          • ICMP Scan
          • Reconnaissance
          • Port Scan
        • Performance
          • Unusual ASN Traffic Volume
          • Unusual Network Interface Traffic Volume
          • Network Performance
    • Opensearch
      • Dashboards
      • Auth Sig V4
    • Splunk
      • Default Search Macro
      • Configuring Data Input & Index
      • Splunk App Installation
    • Output Configuration
  • Additional Guides
    • Catalyst (sFlow)
    • FortiGate
    • hsflowd
    • Configuring Flow Sampling on Juniper Routers
    • Junos OS (sFlow)
    • MikroTik RouterOS
    • OpenWRT (softflowd)
    • Ubiquiti EdgeRouter
    • SonicWall
    • Junos OS
    • Extending SNMP Device Support
    • Flow Device Support Overview
    • SNMP Device Support Overview
    • Generating A Support Bundle
  • FAQ
    • Flows stopped showing up in Kibana (Disk(s) Full)
    • Common reasons why you have discrepancies between ElastiFlow data & reality
    • What Are Snapshots?
    • Importing the wrong dashboards (No data)
  • Knowledge Base
    • Config
      • Elasticsearch Authentication Failure
      • CA Certificate Path Incorrect
      • license/error Invalid Segments
    • Flow
      • Bidirectional Flow Support
      • Configure the UDP Input
      • Flow Records Not Received
      • Netflow v9/IPFIX Template Not Receieved
      • Unsupported sFlow Structures
    • General
      • License Has Expired
      • License Agreement Not Accepted
    • Install
      • .deb Upgrade Fails File Overwrite
    • Operation
      • Flow Collector Queues 90% Full
      • Dashboard Updates
      • Change elastiflow-* Index Name?
  • Elastic Stack Deployment
  • Download Links
Powered by GitBook
On this page
  • EF_OUTPUT_GENERIC_HTTP_ENABLE
  • EF_OUTPUT_GENERIC_HTTP_ECS_ENABLE
  • EF_OUTPUT_GENERIC_HTTP_BATCH_DEADLINE
  • EF_OUTPUT_GENERIC_HTTP_BATCH_MAX_BYTES
  • EF_OUTPUT_GENERIC_HTTP_TIMESTAMP_SOURCE
  • EF_OUTPUT_GENERIC_HTTP_ADDRESSES
  • EF_OUTPUT_GENERIC_HTTP_USERNAME
  • EF_OUTPUT_GENERIC_HTTP_PASSWORD
  • EF_OUTPUT_GENERIC_HTTP_TLS_ENABLE
  • EF_OUTPUT_GENERIC_HTTP_TLS_SKIP_VERIFICATION
  • EF_OUTPUT_GENERIC_HTTP_TLS_CA_CERT_FILEPATH
  • EF_OUTPUT_GENERIC_HTTP_DROP_FIELDS
  1. Configuration Reference
  2. Common

HTTP output

:::info The Generic HTTP output is currently a technology preview. The design and implementation are less mature than stable features and subject to change. :::

The Generic HTTP output can be used to send records to an HTTP endpoint such as the http_endpoint input of Elastic's Filebeat, or the http input of Elastic's Logstash.

The following is a example configuration for Elastic Filebeat:

filebeat.inputs:
  - type: http_endpoint
    enabled: true
    listen_address: 0.0.0.0
    listen_port: 8888
    processors:
      - convert:
          fields:
            - {from: "json", type: "string"}
          ignore_missing: true
          fail_on_error: false
      - decode_json_fields:
          fields: ["json"]
          process_array: true
          target: ""
          overwrite_keys: true
          add_error_key: false
      - drop_fields:
          fields: ["json"]
          ignore_missing: false

processors:
  - drop_fields:
      fields:
        - agent
        - ecs
        - host
        - input

:::note The ElastiFlow Generic HTTP Output supports sending data using the ECS Schema. The global processor section in the above config is necessary to remove the fields automatically added by Filebeat. These would otherwise conflict with the fields ElastiFlow is emitting. This must be done in a global processor as (from the Filebeat source code) "Builtin fields can be modified using global processors, and fields only." This works because as of 6.0.0 ElastiFlow has transitioned to flattened field names. Dropping the Filebeat-emitted parent fields in a global processor does not affect the equivalent flattened field names. :::

The following is a example pipeline for Elastic Logstash:

input {
  http {
    host => "0.0.0.0"
    port => 8888
    ecs_compatibility => "disabled"
  }
}

filter {
  mutate {
    remove_field => ["host", "event", "headers"]
  }
}

EF_OUTPUT_GENERIC_HTTP_ENABLE

Specifies whether the Generic HTTP output is enabled.

  • Valid Values

    • true, false

  • Default

    • false

EF_OUTPUT_GENERIC_HTTP_ECS_ENABLE

Specifies whether the data will be sent using Elastic Common Schema (ECS).

  • Valid Values

    • true, false

  • Default

    • false

EF_OUTPUT_GENERIC_HTTP_BATCH_DEADLINE

The maximum time, in milliseconds, to wait for a batch of records to fill before being sent to the HTTP Endpoint.

  • Default

    • 2000

EF_OUTPUT_GENERIC_HTTP_BATCH_MAX_BYTES

The maximum size, in bytes, for a batch of records being sent to the HTTP Endpoint.

  • Default

    • 8388608

EF_OUTPUT_GENERIC_HTTP_TIMESTAMP_SOURCE

Determines the timestamp source to be used to set the @timestamp field. Usually end would be the best setting. However, in the case of poorly behaving or misconfigured devices, collect may be the better option. For this reason the default value is collect as it best handles a variety of scenarios.

  • Valid Values

    • start - Use the timestamp from flow.start.timestamp. The flow start time indicated in the flow.

    • end - Use the timestamp from flow.end.timestamp. The flow end time (or last reported time).

    • export - Use the timestamp from flow.export.timestamp. The time from the flow record header.

    • collect - Use the timestamp from flow.collect.timestamp. The time that the collector processed the flow record.

  • Default

    • collect

EF_OUTPUT_GENERIC_HTTP_ADDRESSES

This setting specifies the HTTP servers to which the output should connect. It is a comma-separated list of HTTP servers, including port number.

:::danger Do NOT include http:// or https:// in the provided value. TLS communications is enabled/disabled using EF_OUTPUT_GENERIC_HTTP_TLS_ENABLE. :::

  • Default

    • 127.0.0.1:8888

EF_OUTPUT_GENERIC_HTTP_USERNAME

The username to use when connecting to the HTTP endpoint.

  • Default

    • ``

EF_OUTPUT_GENERIC_HTTP_PASSWORD

The password to use when connecting to the HTTP endpoint.

  • Default

    • ``

EF_OUTPUT_GENERIC_HTTP_TLS_ENABLE

This setting is used to enable/disable TLS connections to the HTTP server.

  • Valid Values

    • true, false

  • Default

    • false

EF_OUTPUT_GENERIC_HTTP_TLS_SKIP_VERIFICATION

This setting is used to enable/disable TLS verification of the HTTP server to which the output is attempting to connect.

  • Valid Values

    • true, false

  • Default

    • false

EF_OUTPUT_GENERIC_HTTP_TLS_CA_CERT_FILEPATH

The path to the Certificate Authority (CA) certificate to use for verification of the HTTP server to which the output is attempting to connect.

  • Default

    • ''

EF_OUTPUT_GENERIC_HTTP_DROP_FIELDS

This setting allows for a comma-separated list of fields that are to be removed from all records.

:::note Fields are dropped after any output specific fields have been added and after any schema conversion. This means that you should use the field names as you see them in the user interface. :::

  • Valid Values

    • any field names related to the enabled schema, comma-separated

  • Example

    • flow.export.sysuptime,flow.export.version.ver,flow.start.sysuptime,flow.end.sysuptime,flow.seq_num

  • Default

    • ''

PreviousLoggingNextElasticsearch output