Skip to content

Cloud-native search engine for log management & analytics

License

Notifications You must be signed in to change notification settings

chuck-ma/quickwit

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CI codecov Contributor Covenant License: AGPL V3 Twitter Follow Discord Rust



Quickwit Log Management & Analytics Quickwit Log Management & Analytics

Search more with less

The new way to manage your logs at any scale


Quickwit is a cloud-native search engine for log management & analytics. It is designed to be very cost-effective, easy to operate, and scale to petabytes.



๐Ÿ’ก Features

  • Index data persisted on object storage (AWS S3, GCS, MinIO, Ceph)
  • Ingest JSON documents with or without a strict schema
  • Ingest & Aggregation API Elasticsearch compatible
  • Lightweight Embedded UI
  • Runs on a fraction of the resources: written in Rust, powered by the mighty tantivy
  • Works out of the box with sensible defaults
  • Optimized for multi-tenancy. Add and scale tenants with no overhead costs
  • Distributed search
  • Cloud-native: Kubernetes ready
  • Add and remove nodes in seconds
  • Decoupled compute & storage
  • Sleep like a log: all your indexed data is safely stored on object storage
  • Ingest your documents with exactly-once semantics
  • Kafka-native ingestion
  • Search stream API that notably unlocks full-text search in ClickHouse

๐Ÿ”ฎ Roadmap

  • Quickwit 0.4 - November 2022
    • Distributed indexing with Kafka
    • Native support for Kubernetes
    • Index partitioning
    • Boolean, datetime, and IP address fields
    • Retention policies
    • Support for BM25 scoring, snippeting
  • Quickwit 0.5 - Q1 2023
    • Grafana data source
    • Native support for OpenTelemetry
    • REST API for managing indexes
  • Long-term roadmap
    • Distributed indexing
    • Pipe-based query language
    • Security (TLS, authentication, RBAC)
    • and more...

๐Ÿ”Ž Uses & Limitations

โœ… ย  When to use โŒ ย  When not to use
Your documents are immutable: application logs, system logs, access logs, user actions logs, audit trail (logs), etc. Your documents are mutable.
Your data has a time component. Quickwit includes optimizations and design choices specifically related to time. You need a low-latency search for e-commerce websites.
You want a full-text search in a multi-tenant environment. You provide a public-facing search with high QPS.
You want to index directly from Kafka. You want to re-score documents at query time.
You want to add full-text search to your ClickHouse cluster.
You ingest a tremendous amount of logs and don't want to pay huge bills.
You ingest a tremendous amount of data and you don't want to waste your precious time babysitting your cluster.

โšก Getting Started

Quickwit compiles to a single binary and we provide various ways to install it. The easiest is to run the command below from your preferred shell:

curl -L https://install.quickwit.io | sh

You can now move this executable directory wherever sensible for your environment and possibly add it to yourย PATHย environment.

Take a look at our Quick Start to do amazing things, like Creating your first index or Adding some documents, or take a glance at our full Installation guide!

๐Ÿ“š Tutorials

๐Ÿ™‹ FAQ

How can I switch from Elasticsearch to Quickwit?

In Quickwit 0.3, we released Elasticsearch compatible Ingest-API, so that you can change the configuration of your current log shipper (Vector, Fluent Bit, Syslog, ...) to send data to Quickwit. You can query the logs using the Quickwit Web UI or Search API. We also support ES compatible Aggregation-API.

How is Quickwit different from traditional search engines like Elasticsearch or Solr?

The core difference and advantage of Quickwit is its architecture that is built from the ground up for cloud and log management. Optimized IO paths make search on object storage sub-second and thanks to the true decoupled compute and storage, search instances are stateless, it is possible to add or remove search nodes within seconds. Last but not least, we implemented a highly-reliable distributed search and exactly-once semantics during indexing so that all engineers can sleep at night. All this slashes costs for log management.

How does Quickwit compare to Elastic in terms of cost?

We estimate that Quickwit can be up to 10x cheaper on average than Elastic. To understand how, check out our blog post about searching the web on AWS S3.

What license does Quickwit use?

Quickwit is open-source under the GNU Affero General Public License Version 3 - AGPLv3. Fundamentally, this means that you are free to use Quickwit for your project, as long as you don't modify Quickwit. If you do, you have to make the modifications public. We also provide a commercial license for enterprises to provide support and a voice on our roadmap.

Is it possible to setup Quickwit for a High Availability (HA)?

Not today, but HA is on our roadmap.

What is Quickwit's business model?

Our business model relies on our commercial license. There is no plan to become SaaS in the near future.

๐Ÿช„ Third-Party Integration

Store logs on AWS S3 Store logs on AWS S3 ย  Google Cloud Storage ย  Metastore Backed by Postgresql ย ย  Integrate with Minio ย  Integration with Ceph Integration with Ceph ย  Collect Logs on Kubernetes cluster ย  Ingest Logs with Kafka Ingest Logs with Kafka ย  Ingest logs with Amazon Kinesis ย 

๐Ÿ’ฌ Community

Chat with us in Discord | Follow us on Twitter

๐Ÿค Contribute and spread the word

We are always super happy to have contributions: code, documentation, issues, feedback, or even saying hello on discord! Here is how you can help us build the future of log management:

โœจ And to thank you for your contributions, claim your swag by emailing us at hello at quickwit.io.

๐Ÿ”— Reference

About

Cloud-native search engine for log management & analytics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 95.2%
  • TypeScript 3.2%
  • JavaScript 0.6%
  • Shell 0.5%
  • Dockerfile 0.2%
  • Makefile 0.1%
  • Other 0.2%