Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 1 addition & 14 deletions docs/.pages
Original file line number Diff line number Diff line change
@@ -1,19 +1,6 @@
nav:
<<<<<<< HEAD
<<<<<<< HEAD
- Introduction: index.md
- Getting started: getting-started.md
- Quickstart: quickstart.md
- Enterprise Edition Installation: openobserve-enterprise-edition-installation-guide.md
- Releases: releases.md
- Example Queries: example-queries.md
- SQL Function Reference: sql_reference.md
- Architecture: architecture.md
=======
=======
>>>>>>> b992089 (nav bar modification:)
- Overview: overview
- Architecture: architecture.md
- Architechture: architecture.md
- Getting started: getting-started.md
- Features: features
- Enterprise Edition Installation Guide: openobserve-enterprise-edition-installation-guide.md
Expand Down
2 changes: 1 addition & 1 deletion docs/features/logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ OpenObserve provides powerful log management capabilities for collecting, storin

Logs in OpenObserve offer comprehensive observability into your system's behavior, allowing you to track events, debug issues, and monitor application performance. Built with high performance and cost efficiency in mind, OpenObserve handles log ingestion and querying at scale.

![Logs Page](../images/features/logs-page.png)
![Logs Page](../images/features/logs-hero.png)
*Logs Page view*

## Key Features
Expand Down
2 changes: 1 addition & 1 deletion docs/features/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ OpenObserve provides comprehensive metrics collection, storage, and visualizatio

Metrics in OpenObserve enable you to track key performance indicators, monitor system health, and gain insights into your application's behavior over time. Designed for high-throughput environments, OpenObserve efficiently handles metrics ingestion, storage, and querying at scale while maintaining cost-effectiveness.

![Metrics Page](../images/features/metrics-page.png)
![Metrics Page](../images/features/metrics-hero.png)
*Metrics Page view*

## Key Features
Expand Down
289 changes: 209 additions & 80 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
@@ -1,148 +1,277 @@
# Quickstart
# OpenObserve Quickstart Guide

You can get started with [OpenObserve Cloud](https://cloud.openobserve.ai) or a self hosted installation.
This guide will help you get started with OpenObserve. You can choose between [OpenObserve Cloud](https://cloud.openobserve.ai) (recommended) or a self-hosted installation.

OpenObserve Cloud is recommended for most users due to following benefits:
## Choose Your Installation Method

1. No effort in setting up a `Highly Available` installation and maintaining it.
1. OpenObserve Cloud with its generous free tier is quite a lot for most hobby users / smaller companies / startups.
1. Newer features and bug fixes are available earlier in OpenObserve Cloud.
1. And more...
=== "OpenObserve Cloud(Recommended)"

## OpenObserve Cloud
[OpenObserve Cloud](https://cloud.openobserve.ai) is the fastest way to get started and is recommended for most users because:

OpenObserve Cloud is offered as a hosted service backed by open source OpenObserve. It has the same features as that of OpenObserve with generous free tier with no effort on maintaining infrastructure for your own cluster.
- **Zero maintenance:** No need to set up, operate, or upgrade infrastructure — we handle it all for you.
- **Effortless scaling:** Easily handle growing data volumes without worrying about capacity planning or scaling issues.
- **Always up-to-date:** Get the latest features, improvements, and security patches automatically.

Let's go through it.
=== "Self-Hosted Installation"

1. Navigate to [https://cloud.openobserve.ai](https://cloud.openobserve.ai)
2. Use a social login to create an account or login

![Sign in page](./images/quickstart/signin.png)
Choose self-hosted if you need:

3. Now head over to `Ingestion` section and grab `CURL` command
- Full control over your data and infrastructure
- Custom configurations or integrations
- On-premises deployment requirements

![Ingestion](./images/quickstart/ingestion_credentials.png)

Now head over to [Load sample data](#load-sample-data) section
## Option 1: OpenObserve Cloud Setup

??? "Step 1: Create Your Account"

## Self hosted Installation
1. Navigate to [https://cloud.openobserve.ai](https://cloud.openobserve.ai)
2. Sign up using social login or create a new account

**Note**: Installation directions on this page is for single node installations. If you are looking for a `Highly Available` installation then head over to [HA deployment](./ha_deployment.md) section.
![Sign in page](./images/quickstart/signin.png)

You would need ZO_ROOT_USER_EMAIL and ZO_ROOT_USER_PASSWORD environment variables when you start OpenObserve for the first time. You don't need them on subsequent runs of OpenObserve.
??? "Step 2: Get Your Ingestion Credentials"

=== "Windows"
1. After logging in, navigate to the **Data Sources** section in the sidebar

Binaries can be downloaded from [releases](https://github.com/openobserve/openobserve/releases) page for appropriate platform.
![Ingestion](./images/quickstart/ingestion_credentials.png)

2. Copy the provided cURL command - it contains your unique credentials
3. Your endpoint will look like: `https://api.openobserve.ai/api/[YOUR_ORG]/default/_json`

set [email protected]
set ZO_ROOT_USER_PASSWORD=Complexpass#123
openobserve.exe
You are ready to ingest data. Now head over to [Load sample data](#load-sample-data) section.

## Option 2: Self-Hosted Installation

Now point your browser to [http://localhost:5080](http://localhost:5080) and login
> **Important**: These instructions are for single-node installations. For production high-availability setups, see our [HA deployment guide](./ha_deployment.md).

=== "MacOS/Linux Binaries"
You could run the below command to download latest version of OpenObserve for your platform. Alternatively you could download the binary from [releases](https://github.com/openobserve/openobserve/releases) page manually:
You'll need to set root user credentials (ZO_ROOT_USER_EMAIL and ZO_ROOT_USER_PASSWORD) on first startup only. They are not required for subsequent runs.

=== "Windows"

**Download and Install**

1. Download the Windows binary from our [releases page](https://github.com/openobserve/openobserve/releases)
2. Open Command Prompt or PowerShell as Administrator
3. Run the following commands:

```cmd
#command prompt
set [email protected]
set ZO_ROOT_USER_PASSWORD=Complexpass#123
openobserve.exe
```

curl -L https://raw.githubusercontent.com/openobserve/openobserve/main/download.sh | sh
```powershell
#powershell
$env:ZO_ROOT_USER_EMAIL="[email protected]"
$env:ZO_ROOT_USER_PASSWORD="Complexpass#123"
.\openobserve.exe
```

!!! note
You can set email and password based on your preference

Once downloaded run it using below command:

ZO_ROOT_USER_EMAIL="[email protected]" ZO_ROOT_USER_PASSWORD="Complexpass#123" ./openobserve
=== "MacOS/Linux Binaries"

**Option A: Quick Install Script**
```bash
# Download and install latest version automatically
curl -L https://raw.githubusercontent.com/openobserve/openobserve/main/download.sh | sh

Now point your browser to [http://localhost:5080](http://localhost:5080) and login
# Run OpenObserve
ZO_ROOT_USER_EMAIL="[email protected]" ZO_ROOT_USER_PASSWORD="Complexpass#123" ./openobserve
```

**Getting glibc error running binary**
**Option B: Manual Download**

```shell
./openobserve: `/lib/libm.so.6`: version `GLIBC_2.27` not found (required by ./openobserve)
1. Download the appropriate binary from our [releases page](https://github.com/openobserve/openobserve/releases)
2. Make it executable: `chmod +x openobserve`
3. Run with environment variables as shown:
```bash
# Run OpenObserve
ZO_ROOT_USER_EMAIL="[email protected]" ZO_ROOT_USER_PASSWORD="Complexpass#123" ./openobserve
```

> Download the `musl` binary instead of regular binary from [releases](https://github.com/openobserve/openobserve/releases) page that has no external dependencies. This binary is not as performant as other binaries though. We recommend running the containerized version if performance is a concern for you and are unable to make the dependencies work.
!!! note
If you see an error like `version GLIBC_2.27 not found`, download the `musl` binary instead:

- Look for files ending in `-linux-musl.tar.gz` on the releases page
- musl binaries have slightly lower performance but no external dependencies

=== "Docker"

Docker images are available at [https://gallery.ecr.aws/zinclabs/openobserve](https://gallery.ecr.aws/zinclabs/openobserve)
**Prerequisites**: Ensure Docker is installed and running on your system.

docker run -v $PWD/data:/data -e ZO_DATA_DIR="/data" -p 5080:5080 \
-e ZO_ROOT_USER_EMAIL="[email protected]" -e ZO_ROOT_USER_PASSWORD="Complexpass#123" \
public.ecr.aws/zinclabs/openobserve:latest
Docker images are available at:

- Enterprise: [https://gallery.ecr.aws/zinclabs/openobserve-enterprise](https://gallery.ecr.aws/zinclabs/openobserve-enterprise)
- OSS : [https://gallery.ecr.aws/zinclabs/openobserve](https://gallery.ecr.aws/zinclabs/openobserve)


**Linux/macOS:**
```bash
docker run -v $PWD/data:/data -e ZO_DATA_DIR="/data" -p 5080:5080 \
-e ZO_ROOT_USER_EMAIL="[email protected]" -e ZO_ROOT_USER_PASSWORD="Complexpass#123" \
public.ecr.aws/zinclabs/openobserve:latest
```

**Windows:**
```cmd
# Windows Command Prompt
docker run -d --name openobserve -v %cd%/openobserve-data:/data -e ZO_DATA_DIR="/data" -e ZO_ROOT_USER_EMAIL="[email protected]" -e ZO_ROOT_USER_PASSWORD="Complexpass#123" -p 5080:5080 public.ecr.aws/zinclabs/openobserve:latest
```

Now point your browser to [http://localhost:5080](http://localhost:5080) and login
**Docker Image Options:**

**Error pulling image if you have AWS CLI installed?**
- `latest`: Compatible with most environments
- `latest-simd`: Optimized for systems with AVX512 (Intel) or NEON (ARM) for better performance

If you have AWS CLI installed and get login error then run below command:
!!! Troubleshooting

If you encounter AWS ECR login issues:
```bash
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws
```


*** Docker tags ***
=== "Kubernetes - Manifest"

**Prerequisites**: Ensure `kubectl` is configured and you have cluster access.

- `public.ecr.aws/zinclabs/openobserve:latest`
1. **Create namespace:**
```bash
kubectl create namespace openobserve
```

Compatible with environments of most users
2. **Deploy OpenObserve:**
```bash
kubectl apply -f https://raw.githubusercontent.com/zinclabs/openobserve/main/deploy/k8s/statefulset.yaml
```

- `public.ecr.aws/zinclabs/openobserve:latest-simd`
3. **Access the service:**
```bash
kubectl -n openobserve port-forward svc/openobserve 5080:5080
```

If you want to leverage OpenObserve's support for vectorization then you should use this image. OpenObserve supports `AVX512` on intel CPUs, or `NEON` on ARM CPUs. This will help you get higher performance.

=== "Kubernetes - Manifest"

Create a namespace:
## Verify Installation

After installation, verify OpenObserve is running:

1. Open your browser and navigate to:
- **Self-hosted**: [http://localhost:5080](http://localhost:5080)
- **Cloud**: [https://cloud.openobserve.ai](https://cloud.openobserve.ai)

2. Log in with your credentials:
- **Self-hosted**: Use the email/password you set in environment variables
- **Cloud**: Use your account credentials

3. You should see the OpenObserve dashboard


## Load Sample Data

Let's load some real-world log data to explore OpenObserve's features.

??? "Step 1: Download Sample Data"

```bash
# Download and extract sample Kubernetes logs
curl -L https://zinc-public-data.s3.us-west-2.amazonaws.com/zinc-enl/sample-k8s-logs/k8slog_json.json.zip -o k8slog_json.json.zip
unzip k8slog_json.json.zip
```

**What's in the sample data**: This file contains real Kubernetes application logs with various log levels (info, warning, error) and structured JSON fields.

??? "Step 2: Load Data into OpenObserve"

**For OpenObserve Cloud**:
```bash
# Use the cURL command from your Ingestion page
curl -u [email protected]:your-password \
-H "Content-Type: application/json" \
https://api.openobserve.ai/api/YOUR_ORG/default/_json \
-d "@k8slog_json.json"
```

**For Self-Hosted Installation**:
```bash
curl -u "[email protected]:Complexpass#123" \
-H "Content-Type: application/json" \
http://localhost:5080/api/default/default/_json \
-d "@k8slog_json.json"
```

??? "Step 3: Verify Data Upload"

You should see output similar to:
```json
{"code":200,"status":"ok","records":1000}
```

If you see errors, check:

- Your credentials are correct
- The JSON file was downloaded completely
- OpenObserve is running and accessible


## Search Your Data

Now let's explore the data you just loaded.

??? "Step 1: Access the Logs Interface"

kubectl create ns openobserve
1. Navigate to your OpenObserve instance
2. Click on **Logs** in the left sidebar
3. Select **default** from the stream dropdown (top-left)

Create the deployment and port forward:
![Logs page](./images/quickstart/logs_page.png)

kubectl apply -f https://raw.githubusercontent.com/zinclabs/openobserve/main/deploy/k8s/statefulset.yaml

Expose the openobserve service by port-forwarding:
??? "Step 2: Try These Sample Searches"

kubectl -n openobserve port-forward svc/openobserve 5080:5080
**Basic searches** (click the **Run Query** button after each):

Now point your browser to [http://localhost:5080](http://localhost:5080) and login
1. **View all logs**: Leave search box empty and click search
2. **Find errors**: `level='error'` or `match_all('error')`

## Load sample data
*Congratulations! You now have OpenObserve running with sample data.*

We will use JSON API to load sample log data.

Below commands will download a sample file of real life log data, unzip it and load it in OpenObserve using the JSON ingestion API.
## Next Steps - Send Your Own Data

**Download sample data**
- **Application logs**: Use our [logging libraries](./ingestion/logs/otlp.md) for your applications
- **Metrics**: Set up [Prometheus integration](./ingestion/metrics/prometheus.md)
- **Traces**: Configure [OpenTelemetry](./ingestion/traces/opentelemetry.md) for distributed tracing

```shell
curl -L https://zinc-public-data.s3.us-west-2.amazonaws.com/zinc-enl/sample-k8s-logs/k8slog_json.json.zip -o k8slog_json.json.zip
unzip k8slog_json.json.zip
```

**Load sample data**
## Troubleshooting Common Issues

*Note*: Replace the URL you got from OpenObserve Cloud and append it with `@k8slog_json.json`
??? "Can't access OpenObserve web interface"

```shell title="For OpenObserve Cloud"
curl -u [email protected]:abqlg4b673465w46hR2905 -k https://api.openobserve.ai/api/User_organization_435345/default/_json -d "@k8slog_json.json"
```
- Check if the process is running
- Verify port 5080 is not blocked by firewall
- For Docker: ensure port mapping is correct (`-p 5080:5080`)

```shell title="For self hosted installation"
curl http://localhost:5080/api/default/default/_json -i -u "[email protected]:Complexpass#123" -d "@k8slog_json.json"
```
??? "Authentication errors"

- Verify your email/password combination
- For self-hosted: ensure environment variables were set correctly
- For cloud: check your account credentials

## Search for data
??? "Data not appearing"

Point your browser to [http://cloud.openobserve.ai](http://cloud.openobserve.ai) (for OpenObserve Cloud) / [http://localhost:5080](http://localhost:5080) (for self hosted) and login
- Verify the curl command returned success (200 status)
- Check the time range in the web interface
- Ensure you selected the correct stream/index

1. Visit `logs` page
1. Select the index `default` from drop down in the left
![Logs page](./images/quickstart/logs_page.png)
1. Type `match_all('error')` in search bar and click the search button on right.
??? "Performance issues"

Click on the "syntax guide" button next to the search bar to see examples on how to search.
- Consider using the SIMD Docker image for better performance
- Check available memory and CPU resources
- For large datasets, consider the high-availability deployment

If you're still having issues, Join our [Slack Community](https://short.openobserve.ai/community) for help
Binary file added docs/images/features/logs-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/features/metrics-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.