Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[for analysis] Not working airmail #5217

Closed
wants to merge 24 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
ca69835
Add Dockerfile for creating Ubuntu image
guilload Jun 28, 2024
49c566d
remove hits beyond max requested hit (#5180)
trinity-1686a Jun 28, 2024
5eb270d
feat(glasskube-doc): write the documentation about quickwit install w…
idrissneumann Jun 29, 2024
694cd5c
Fix k8s deployment docs title.
fmassot Jun 29, 2024
be20923
Making shard throughput configurable (#5183)
fulmicoton Jul 2, 2024
84572ea
Making all metastore tests serial (#5185)
fulmicoton Jul 2, 2024
a209b6d
Retry on metastore timeout or unavailable error (#5182)
guilload Jul 2, 2024
31ff364
Fix: Remove / when calling search endpoint (#5187)
JulesVautier-io Jul 2, 2024
c7abc50
Add missing `gs://` protocol to storage config doc
guilload Jul 4, 2024
b4bf457
Add `Google Cloud Storage` to list of supported storage providers
guilload Jul 4, 2024
0b4f35f
Optimize json parsing for validation (#5181)
fulmicoton Jul 5, 2024
b373552
update tantivy (#5188)
PSeitz Jul 5, 2024
1fba1d1
Adds a circuit breaker layer. (#5134)
fulmicoton Jul 5, 2024
622a12f
docs: Vector fixes (#5094)
jpds Jul 5, 2024
d1022d6
Revert "Consider ingesters returning ResourceExhausted temporarily un…
fulmicoton Jul 5, 2024
9e1476a
Revert "Added rebuild plan rest debug handler. (#5150)" (#5192)
fulmicoton Jul 5, 2024
cb63d32
Fixing rest api tests (#5194)
fulmicoton Jul 5, 2024
7845137
optimize topn requests (#5075)
PSeitz Jul 5, 2024
b600b4a
Plugging the shard throughput limit configuration to the ingest (#5193)
fulmicoton Jul 5, 2024
43e5ced
Using the shard throughput information in the scheduling logic. (#5196)
fulmicoton Jul 5, 2024
97889f6
Reverting the change in the shard opening rate limits. (#5197)
fulmicoton Jul 5, 2024
15d45c7
Bump certifi from 2024.2.2 to 2024.7.4 in /quickwit/rest-api-tests (#…
dependabot[bot] Jul 6, 2024
075be7a
Emitting both a short term average and a long term average of shard
fulmicoton Jul 8, 2024
b8e996f
better support for hex in code tokenizer
trinity-1686a Jul 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions distribution/docker/ubuntu/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
FROM ubuntu:noble AS builder

RUN apt-get update && apt-get install -y curl
RUN curl -L https://install.quickwit.io | sh


FROM ubuntu:noble AS quickwit

LABEL org.opencontainers.image.title="Quickwit"
LABEL maintainer="Quickwit, Inc. <[email protected]>"
LABEL org.opencontainers.image.vendor="Quickwit, Inc."
LABEL org.opencontainers.image.licenses="AGPL-3.0"

RUN apt-get -y update \
&& apt-get -y install ca-certificates \
libssl3 \
&& rm -rf /var/lib/apt/lists/*

WORKDIR /quickwit
RUN mkdir config qwdata
COPY --from=builder /quickwit-v*/quickwit /usr/local/bin/quickwit
COPY --from=builder /quickwit-v*/config/quickwit.yaml /quickwit/config/quickwit.yaml

ENV QW_CONFIG=/quickwit/config/quickwit.yaml
ENV QW_DATA_DIR=/quickwit/qwdata
ENV QW_LISTEN_ADDRESS=0.0.0.0

RUN quickwit --version

ENTRYPOINT ["quickwit"]
Binary file added docs/assets/images/screenshot-glasskube-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion docs/configuration/storage-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,19 @@ sidebar_position: 2

## Supported Storage Providers

Quickwit currently supports three types of storage providers:
Quickwit currently supports four types of storage providers:
- Amazon S3 and S3-compatible (Garage, MinIO, ...)
- Azure Blob Storage
- Local file storage*
- Google Cloud Storage (native API)

## Storage URIs

Storage URIs refer to different storage providers identified by a URI "protocol" or "scheme". Quickwit supports the following storage URI protocols:
- `s3://` for Amazon S3 and S3-compatible
- `azure://` for Azure Blob Storage
- `file://` for local file systems
- `gs://` for Google Cloud Storage

In general, you can use a storage URI or a file path anywhere you would intuitively expect a file path. For instance:
- when setting the `index_uri` of an index to specify the storage provider and location;
Expand Down
2 changes: 1 addition & 1 deletion docs/deployment/cluster-sizing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Cluster sizing
sidebar_position: 2
sidebar_position: 3
---

In this guide, we discuss how to size your Quickwit cluster and nodes. As shown
Expand Down
3 changes: 3 additions & 0 deletions docs/deployment/kubernetes/_category_.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
label: 'Kubernetes'
position: 2
collapsed: true
3 changes: 2 additions & 1 deletion docs/deployment/kubernetes/gke.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: Google GKE
title: Install Quickwit on Google GKE
sidebar_label: Google GKE
sidebar_position: 2
---

Expand Down
69 changes: 69 additions & 0 deletions docs/deployment/kubernetes/glasskube.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: Install Quickwit with Glasskube
sidebar_label: Glasskube
sidebar_position: 3
---

[Glasskube](https://glasskube.dev) is a package manager for Kubernetes that empowers you to effortlessly install, upgrade, configure, and manage your Kubernetes cluster packages, all while streamlining repetitive and cumbersome maintenance tasks.

## Requirements

To deploy Quickwit on Kubernetes, you will need:

- kubectl, compatible with your cluster (+/- 1 minor release from your cluster) (`kubectl version`)
- A Kubernetes cluster

1. Install `kubectl` and `glasskube` cli.

To install `kubectl` locally, you can refere to [this documentation](https://kubernetes.io/docs/tasks/tools/#install-kubectl).

To install `glasskube` cli locally, you can refer to [this documentation](https://glasskube.dev/docs/getting-started/install) and choose the right installation options according to your operating system.

For example, let's assume that you're on MacOS using homebrew and kind, this is what you'll have to do:

```shell
brew install glasskube/tap/glasskube # install the glasskube cli
kind create cluster # create a kind Kubernetes cluster
```

2. Install glasskube in your Kubernetes cluster:

```shell
glasskube bootstrap
```

3. Start and access to the Glasskube's GUI:

```shell
glasskube serve
```

You'll be able to access to the GUI of Glasskube here: http://localhost:8580

## Install Quickwit using Glasskube

`glasskube` will install Quickwit in the `quickwit` namespace. You can perform the Quickwit installation directly with the GUI:

![screenshot-glasskube-ui.png](../../assets/images/screenshot-glasskube-ui.png)

Or use the CLI instead:

```shell
glasskube install quickwit
```

In both, you'll have to set the value of thoses parameters:

* `defaultIndexRootUri`: the default index URI is a S3 compliant bucket which usually looks like this: `s3://<bucket-name>/<optional-base-path>`
* `metastoreUri`: if you're not using PostgreSQL and object storage, you can pick the same bucket and value you used for the `defaultIndexRootUri` parameter
* `s3Endpoint`: the http(s) URL of your object storage service which should looks like `https://s3.{region}.{your object storage domain}`
* `s3Flavor`: which can be one of the following: `do`, `garage`, `gcp`, `minio`. You can leave it empty if your object storage is compliant with AWS S3
* `s3Region`
* `s3AccessKeyId`
* `s3SecretAccessKey`

## Uninstall quickwit

```shell
glasskube uninstall quickwit
```
7 changes: 3 additions & 4 deletions docs/deployment/kubernetes/helm.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
title: Kubernetes
title: Install Quickwit with Helm
sidebar_label: Helm
sidebar_position: 1
---

[Helm](https://helm.sh) is a package manager for Kubernetes that allows you to configure, install, and upgrade containerized applications in a Kubernetes cluster in a version-controlled and reproducible way.

## Install Quickwit using Helm

Install Quickwit on Kubernetes with the official Quickwit Helm chart. If you encounter any problem with the chart, please, open an issue in our [GitHub repository](https://github.com/quickwit-oss/helm-charts).
You can install Quickwit on Kubernetes with the official Quickwit Helm chart. If you encounter any problem with the chart, please, open an issue in our [GitHub repository](https://github.com/quickwit-oss/helm-charts).

## Requirements

Expand Down
1 change: 1 addition & 0 deletions docs/get-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Quickwit compiles to a single binary and we provide different methods to install
- Linux/MacOS binaries that you can [download manually](#download) or with the [install script](#install-script)
- [Docker image](#use-the-docker-image)
- [Helm chart](../deployment/kubernetes/helm.md)
- [Glasskube](../deployment/kubernetes/glasskube.md)

## Prerequisites

Expand Down
83 changes: 5 additions & 78 deletions docs/log-management/send-logs/using-vector.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,83 +43,9 @@ docker run --rm -v $(pwd)/qwdata:/quickwit/qwdata -p 7280:7280 quickwit/quickwit

## Taking advantage of Quickwit's native support for logs

Let's embrace the OpenTelemetry standard and take advantage of Quickwit features. With the native support for OpenTelemetry standards, Quickwit already comes with an index called `otel-logs_v0_6` that is compatible with the OpenTelemetry [logs data model](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md). This means we can start pushing log data without any prior usual index setup.

Here is the OpenTelemetry index configuration for reference.

```yaml title="otel-logs_v0_6"
version: 0.7

index_id: otel-logs-v0_6

doc_mapping:
mode: strict
field_mappings:
- name: timestamp_nanos
type: datetime
input_formats: [unix_timestamp]
output_format: unix_timestamp_nanos
indexed: false
fast: true
fast_precision: milliseconds
- name: observed_timestamp_nanos
type: datetime
input_formats: [unix_timestamp]
output_format: unix_timestamp_nanos
- name: service_name
type: text
tokenizer: raw
- name: severity_text
type: text
tokenizer: raw
fast: true
- name: severity_number
type: u64
fast: true
- name: body
type: json
- name: attributes
type: json
tokenizer: raw
fast: true
- name: dropped_attributes_count
type: u64
indexed: false
- name: trace_id
type: bytes
- name: span_id
type: bytes
- name: trace_flags
type: u64
indexed: false
- name: resource_attributes
type: json
tokenizer: raw
fast: true
- name: resource_dropped_attributes_count
type: u64
indexed: false
- name: scope_name
type: text
indexed: false
- name: scope_version
type: text
indexed: false
- name: scope_attributes
type: json
indexed: false
- name: scope_dropped_attributes_count
type: u64
indexed: false

timestamp_field: timestamp_nanos

indexing_settings:
commit_timeout_secs: 10

search_settings:
default_search_fields: [body.message]
```
Let's embrace the OpenTelemetry standard and take advantage of Quickwit features. With the native support for OpenTelemetry standards, Quickwit already comes with an index called `otel-logs_v0_7` that is compatible with the OpenTelemetry [logs data model](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md). This means we can start pushing log data without any prior usual index setup.

The OpenTelemetry index configuration can be found in the [quickwit-opentelemetry/src/otlp/logs.rs](https://github.com/quickwit-oss/quickwit/blob/main/quickwit/quickwit-opentelemetry/src/otlp/logs.rs) source file.

## Setup Vector

Expand All @@ -140,7 +66,7 @@ inputs = [ "generate_syslog"]
type = "remap"
source = '''
structured = parse_syslog!(.message)
.timestamp_nanos, err = to_unix_timestamp(structured.timestamp, unit: "nanoseconds")
.timestamp_nanos = to_unix_timestamp!(structured.timestamp, unit: "nanoseconds")
.body = structured
.service_name = structured.appname
.resource_attributes.source_type = .source_type
Expand All @@ -163,6 +89,7 @@ source = '''
.scope_name = structured.msgid
del(.message)
del(.timestamp)
del(.service)
del(.source_type)
'''

Expand Down
Loading
Loading