All Projects → odpf → firehose

odpf / firehose

Licence: Apache-2.0 License
Firehose is an extensible, no-code, and cloud-native service to load real-time streaming data from Kafka to data stores, data lakes, and analytical storage systems.

Programming Languages

java
68154 projects - #9 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to firehose

dagger
Dagger is an easy-to-use, configuration over code, cloud-native framework built on top of Apache Flink for stateful processing of real-time streaming data.
Stars: ✭ 238 (+11.74%)
Mutual labels:  influxdb, dataops, apache-kafka
Flink Learning
flink learning blog. http://www.54tianzhisheng.cn/ 含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例,还有 Flink 落地应用的大型项目案例(PVUV、日志存储、百亿数据实时去重、监控告警)分享。欢迎大家支持我的专栏《大数据实时计算引擎 Flink 实战与性能优化》
Stars: ✭ 11,378 (+5241.78%)
Mutual labels:  streaming, influxdb
Kafka Streams Workshop
Stars: ✭ 69 (-67.61%)
Mutual labels:  streaming, apache-kafka
formula1-telemetry-kafka
No description or website provided.
Stars: ✭ 99 (-53.52%)
Mutual labels:  influxdb, apache-kafka
Netdata
Real-time performance monitoring, done right! https://www.netdata.cloud
Stars: ✭ 57,056 (+26686.85%)
Mutual labels:  influxdb, prometheus
Kafka Connect Hdfs
Kafka Connect HDFS connector
Stars: ✭ 400 (+87.79%)
Mutual labels:  streaming, apache-kafka
Scio
A Scala API for Apache Beam and Google Cloud Dataflow.
Stars: ✭ 2,247 (+954.93%)
Mutual labels:  bigquery, streaming
Haproxy Configs
80+ HAProxy Configs for Hadoop, Big Data, NoSQL, Docker, Elasticsearch, SolrCloud, HBase, MySQL, PostgreSQL, Apache Drill, Hive, Presto, Impala, Hue, ZooKeeper, SSH, RabbitMQ, Redis, Riak, Cloudera, OpenTSDB, InfluxDB, Prometheus, Kibana, Graphite, Rancher etc.
Stars: ✭ 106 (-50.23%)
Mutual labels:  influxdb, prometheus
pulsar-adapters
Apache Pulsar Adapters
Stars: ✭ 18 (-91.55%)
Mutual labels:  streaming, apache-kafka
tilt-pitch
Simple replacement for the Tilt Hydrometer mobile apps and TiltPi with lots of features
Stars: ✭ 32 (-84.98%)
Mutual labels:  influxdb, prometheus
hastic
Hastic standalone
Stars: ✭ 37 (-82.63%)
Mutual labels:  influxdb, prometheus
Influxdb exporter
A server that accepts InfluxDB metrics via the HTTP API and exports them via HTTP for Prometheus consumption
Stars: ✭ 159 (-25.35%)
Mutual labels:  influxdb, prometheus
Ohmgraphite
Export Open Hardware sensor data to Graphite / InfluxDB / Prometheus / Postgres / Timescaledb
Stars: ✭ 155 (-27.23%)
Mutual labels:  influxdb, prometheus
Stream Reactor
Streaming reference architecture for ETL with Kafka and Kafka-Connect. You can find more on http://lenses.io on how we provide a unified solution to manage your connectors, most advanced SQL engine for Kafka and Kafka Streams, cluster monitoring and alerting, and more.
Stars: ✭ 753 (+253.52%)
Mutual labels:  streaming, influxdb
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+832.39%)
Mutual labels:  influxdb, prometheus
prometheus-bigquery-exporter
An exporter for converting BigQuery results into Prometheus metrics
Stars: ✭ 27 (-87.32%)
Mutual labels:  bigquery, prometheus
Trickster
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator
Stars: ✭ 1,306 (+513.15%)
Mutual labels:  influxdb, prometheus
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+21463.38%)
Mutual labels:  influxdb, prometheus
continuous-analytics-examples
A collection of examples of continuous analytics.
Stars: ✭ 17 (-92.02%)
Mutual labels:  streaming, influxdb
microservices-observability
🎉 Microservices Observability - Log Aggregation, Distributed Tracking, Metrics
Stars: ✭ 40 (-81.22%)
Mutual labels:  influxdb, prometheus

Firehose

build workflow package workflow License Version

Firehose is a cloud native service for delivering real-time streaming data to destinations such as service endpoints (HTTP or GRPC) & managed databases (Postgres, InfluxDB, Redis, Elasticsearch, Prometheus and MongoDB). With Firehose, you don't need to write applications or manage resources. It can be scaled up to match the throughput of your data. If your data is present in Kafka, Firehose delivers it to the destination(SINK) that you specified.

Key Features

Discover why users choose Firehose as their main Kafka Consumer

  • Sinks: Firehose supports sinking stream data to :

    • log console
    • MongoDB
    • Prometheus
    • HTTP
    • GRPC
    • PostgresDB(JDBC)
    • InfluxDB
    • Elasticsearch
    • Redis
    • Bigquery
    • Blob Storage/Object Storage :
      • Google Cloud Storage
  • Scale: Firehose scales in an instant, both vertically and horizontally for high performance streaming sink and zero data drops.

  • Extensibility: Add your own sink to firehose with a clearly defined interface or choose from already provided ones.

  • Runtime: Firehose can run inside VMs or containers in a fully managed runtime environment like kubernetes.

  • Metrics: Always know what’s going on with your deployment with built-in monitoring of throughput, response times, errors and more.

To know more, follow the detailed documentation

Usage

Explore the following resources to get started with Firehose:

  • Guides provides guidance on creating Firehose with different sinks.
  • Concepts describes all important Firehose concepts.
  • Reference contains details about configurations, metrics and other aspects of Firehose.
  • Contribute contains resources for anyone who wants to contribute to Firehose.

Run with Docker

Use the docker hub to download firehose docker image. You need to have docker installed in your system.

# Download docker image from docker hub
$ docker pull odpf/firehose

# Run the following docker command for a simple log sink.
$ docker run -e SOURCE_KAFKA_BROKERS=127.0.0.1:6667 -e SOURCE_KAFKA_CONSUMER_GROUP_ID=kafka-consumer-group-id -e SOURCE_KAFKA_TOPIC=sample-topic -e SINK_TYPE=log -e SOURCE_KAFKA_CONSUMER_CONFIG_AUTO_OFFSET_RESET=latest -e INPUT_SCHEMA_PROTO_CLASS=com.github.firehose.sampleLogProto.SampleLogMessage -e SCHEMA_REGISTRY_STENCIL_ENABLE=true -e SCHEMA_REGISTRY_STENCIL_URLS=http://localhost:9000/artifactory/proto-descriptors/latest odpf/firehose:latest

Note: Make sure your protos (.jar file) are located in work-dir, this is required for Filter functionality to work.

Run with Kubernetes

  • Create a firehose deployment using the helm chart available here
  • Deployment also includes telegraf container which pushes stats metrics

Running locally

# Clone the repo
$ git clone https://github.com/odpf/firehose.git  

# Build the jar
$ ./gradlew clean build 

# Configure env variables
$ cat env/local.properties

# Run the Firehose
$ ./gradlew runConsumer 

Note: Sample configuration for other sinks along with some advanced configurations can be found here

Running tests

# Running unit tests
$ ./gradlew test

# Run code quality checks
$ ./gradlew checkstyleMain checkstyleTest

#Cleaning the build
$ ./gradlew clean

Contribute

Development of Firehose happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving Firehose.

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Firehose.

To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started.

Credits

This project exists thanks to all the contributors.

License

Firehose is Apache 2.0 licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].