名称 最后更新
.github/workflows 正在载入提交数据...
.vscode 正在载入提交数据...
doc 正在载入提交数据...
stash 正在载入提交数据...
.dockerignore 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.golangci.yml 正在载入提交数据...
Dockerfile 正在载入提交数据...
LICENSE 正在载入提交数据...
go.mod 正在载入提交数据...
go.sum 正在载入提交数据...
readme-en.md 正在载入提交数据...
readme.md 正在载入提交数据...

English | 简体中文

go-stash

go-stash is a high performance, free and open source server-side data processing pipeline that ingests data from Kafka, processes it, and then sends it to ElasticSearch.

go-stash is about 4x throughput more than logstash, and easy to deploy, only one executable file.

go-stash

Quick Start

gostash -f etc/config.yaml

config.yaml example as below:

Clusters:
- Input:
    Kafka:
      Name: gostash
      Brokers:
        - "172.16.186.16:19092"
        - "172.16.186.17:19092"
      Topics:
        - k8slog
      Group: pro
      Consumers: 16
  Filters:
    - Action: drop
      Conditions:
        - Key: k8s_container_name
          Value: "-rpc"
          Type: contains
        - Key: level
          Value: info
          Type: match
          Op: and
    - Action: remove_field
      Fields:
        - message
        - _source
        - _type
        - _score
        - _id
        - "@version"
        - topic
        - index
        - beat
        - docker_container
    - Action: transfer
      Field: message
      Target: data
  Output:
    ElasticSearch:
      Hosts:
        - "172.16.141.4:9200"
        - "172.16.141.5:9200"
      # {.event} is the value of the json attribute from input
      # {{yyyy-MM-dd}} means date, like 2020-09-09
      Index: {.event}-{{yyyy-MM-dd}}