diff --git a/docs/sources/get-started/deployment-modes.md b/docs/sources/get-started/deployment-modes.md index 74a688a42e66b..67e9c46294a74 100644 --- a/docs/sources/get-started/deployment-modes.md +++ b/docs/sources/get-started/deployment-modes.md @@ -8,23 +8,27 @@ aliases: --- # Loki deployment modes -Loki is a distributed system consisting of many microservices. It also has a unique build model where all of those microservices exist within the same binary. +Loki is a distributed system consisting of many microservices. It also has a unique build model where all of those microservices exist within the same binary. You can configure the behavior of the single binary with the `-target` command-line flag to specify which microservices will run on startup. You can further configure each of the components in the `loki.yaml` file. Because Loki decouples the data it stores from the software which ingests and queries it, you can easily redeploy a cluster under a different mode as your needs change, with minimal or no configuration changes. -## Scalable monolithic +## Simple Scalable -The scalable monolithic deployment mode, previously referred to as a simple scalable deployment (SSD), is the preferred way to deploy Loki for most installations. The scalable monolithic deployment is the default configuration installed by the [Loki Helm Chart]({{< relref "../setup/install/helm" >}}). This deployment mode is the easiest way to deploy Loki at scale. It strikes a balance between deploying in [monolithic mode](#monolithic-mode) or deploying each component as a [separate microservice](#microservices-mode). +The simple scalable deployment mode, is the preferred way to deploy Loki for most installations. The simple scalable deployment is the default configuration installed by the [Loki Helm Chart]({{< relref "../setup/install/helm" >}}). This deployment mode is the easiest way to deploy Loki at scale. It strikes a balance between deploying in [monolithic mode](#monolithic-mode) or deploying each component as a [separate microservice](#microservices-mode). -Loki’s scalable monolithic deployment mode separates execution paths into read, write, and backend targets. These targets can be scaled independently, letting you customize your Loki deployment to meet your business needs for log ingestion and log query so that your infrastructure costs better match how you use Loki. +{{% admonition type="note" %}} +This deployment mode is sometimes referred to by the acronym SSD for simple scalable deployment, not to be confused with solid state drives. Loki uses an object store. +{{% /admonition %}} -The scalable monolithic deployment mode can scale up to a few TBs of logs per day, however if you go much beyond this, the microservices mode will be a better choice for most users. +Loki’s simple scalable deployment mode separates execution paths into read, write, and backend targets. These targets can be scaled independently, letting you customize your Loki deployment to meet your business needs for log ingestion and log query so that your infrastructure costs better match how you use Loki. -![Scalable monolithic mode diagram](../scalable-monolithic-mode.png "Scalable monolithic mode") +The simple scalable deployment mode can scale up to a few TBs of logs per day, however if you go much beyond this, the microservices mode will be a better choice for most users. -The three execution paths in scalable monolithic mode are each activated by appending the following arguments to Loki on startup: +![Simple scalable mode diagram](../scalable-monolithic-mode.png "Simple scalable mode") + +The three execution paths in simple scalable mode are each activated by appending the following arguments to Loki on startup: - `-target=write` - The write target is stateful and is controlled by a Kubernetes StatefulSet. It contains the following components: -- Distributor @@ -38,7 +42,7 @@ The three execution paths in scalable monolithic mode are each activated by appe -- Query scheduler -- Ruler -The scalable monolithic deployment mode requires a reverse proxy to be deployed in front of Loki, to direct client API requests to either the read or write nodes. The Loki Helm chart includes a default reverse proxy configuration, using Nginx. +The simple scalable deployment mode requires a reverse proxy to be deployed in front of Loki, to direct client API requests to either the read or write nodes. The Loki Helm chart includes a default reverse proxy configuration, using Nginx. ## Monolithic mode @@ -48,7 +52,7 @@ The simplest mode of operation is the monolithic deployment mode. You enable mon Monolithic mode is useful for getting started quickly to experiment with Loki, as well as for small read/write volumes of up to approximately 20GB per day. -You can horizontally scale a monolithic mode deployment to more instances by using a shared object store, and by configuring the [`ring` section]({{< relref "../configure#common" >}}) of the `loki.yaml` file to share state between all instances, but the recommendation is to use scalable monolithic mode if you need to scale your deployment. +You can horizontally scale a monolithic mode deployment to more instances by using a shared object store, and by configuring the [`ring` section]({{< relref "../configure#common" >}}) of the `loki.yaml` file to share state between all instances, but the recommendation is to use simple scalable mode if you need to scale your deployment. You can configure high availability by running two Loki instances using `memberlist_config` configuration and a shared object store and setting the `replication_factor` to `3`. You route traffic to all the Loki instances in a round robin fashion. @@ -74,7 +78,7 @@ For release 2.9 the components are: TIP: You can see the complete list of targets for your version of Loki by running Loki with the flag `-list-targets`, for example: ```bash -docker run docker.io/grafana/loki:2.9.0 -config.file=/etc/loki/local-config.yaml -list-targets +docker run docker.io/grafana/loki:2.9.2 -config.file=/etc/loki/local-config.yaml -list-targets ``` ![Microservices mode diagram](../microservices-mode.png "Microservices mode") diff --git a/docs/sources/operations/authentication.md b/docs/sources/operations/authentication.md index 78854868d55f8..065cd207a5811 100644 --- a/docs/sources/operations/authentication.md +++ b/docs/sources/operations/authentication.md @@ -1,23 +1,27 @@ --- title: Authentication -description: Authentication -weight: 10 +menuTitle: +description: Describes Loki's authentication. +weight: --- # Authentication Grafana Loki does not come with any included authentication layer. Operators are -expected to run an authenticating reverse proxy in front of your services. A helpful list of open-source reverse proxies to use: +expected to run an authenticating reverse proxy in front of your services. + +The simple scalable [deployment mode]({{< relref "../get-started/deployment-modes" >}}) requires a reverse proxy to be deployed in front of Loki, to direct client API requests to either the read or write nodes. The Loki Helm chart includes a default reverse proxy configuration, using Nginx. + +A list of open-source reverse proxies you can use: - [Pomerium](https://www.pomerium.com/docs), which has a [guide for securing Grafana](https://www.pomerium.com/docs/guides/grafana) - [NGINX](https://docs.nginx.com/nginx/) using their [guide on restricting access with HTTP basic authentication](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/) - [OAuth2 proxy](https://github.com/oauth2-proxy/oauth2-proxy) - [HAProxy](https://www.haproxy.org/) - Note that when using Loki in multi-tenant mode, Loki requires the HTTP header `X-Scope-OrgID` to be set to a string identifying the tenant; the responsibility of populating this value should be handled by the authenticating reverse proxy. -Read the [multi-tenancy]({{< relref "./multi-tenancy" >}}) documentation for more information. +For more inforamtion, read the [multi-tenancy]({{< relref "./multi-tenancy" >}}) documentation. -For information on authenticating Promtail, please see the docs for [how to +For information on authenticating Promtail, see the documentation for [how to configure Promtail]({{< relref "../send-data/promtail/configuration" >}}). diff --git a/docs/sources/setup/install/helm/install-scalable/_index.md b/docs/sources/setup/install/helm/install-scalable/_index.md index 031f5316ec9b7..ffa6a778561b7 100644 --- a/docs/sources/setup/install/helm/install-scalable/_index.md +++ b/docs/sources/setup/install/helm/install-scalable/_index.md @@ -1,5 +1,5 @@ --- -title: Install the scalable monolithic Helm chart +title: Install the simple scalable Helm chart menuTitle: Install scalable Loki description: Install Loki in scalable mode. aliases: @@ -9,13 +9,13 @@ weight: 300 keywords: --- -# Install the scalable monolithic Helm chart +# Install the simple scalable Helm chart This Helm Chart installation runs the Grafana Loki cluster within a Kubernetes cluster. -If object storge is configured, this chart configures Loki to run `read` and `write` targets in a [scalable mode]({{< relref "../../../../get-started/deployment-modes#scalable-monolithic-deployment-mode" >}}), highly available architecture (3 replicas of each) designed to work with AWS S3 object storage. It will also configure meta-monitoring of metrics and logs. +If object storge is configured, this chart configures Loki to run `read` and `write` targets in a [scalable mode]({{< relref "../../../../get-started/deployment-modes#simple-scalable" >}}), highly available architecture (3 replicas of each) designed to work with AWS S3 object storage. It will also configure meta-monitoring of metrics and logs. It is not possible to run the scalable mode with the `filesystem` storage. @@ -69,10 +69,14 @@ It is not possible to run the scalable mode with the `filesystem` storage. enabled: true ``` -1. Install or upgrade the Loki deployment with this command. - - ```bash - helm install --values values.yaml loki grafana/loki - # or upgrade for existing installations - helm upgrade --values values.yaml loki grafana/loki - ``` +1. Install or upgrade the Loki deployment. + - To install: + + ```bash + helm install --values values.yaml loki grafana/loki + ``` + - To upgrade: + ```bash + helm upgrade --values values.yaml loki grafana/loki + ``` + \ No newline at end of file diff --git a/docs/sources/setup/size/_index.md b/docs/sources/setup/size/_index.md index 7eb24046c8f96..7198db4e2eb4a 100644 --- a/docs/sources/setup/size/_index.md +++ b/docs/sources/setup/size/_index.md @@ -17,7 +17,7 @@ keywords: [] This tool helps to generate a Helm Charts `values.yaml` file based on specified expected ingestion, retention rate and node type. It will always configure a - [scalable]({{< relref "../../get-started/deployment-modes#scalable-monolithic-deployment-mode" >}}) deployment. The storage needs to be configured after generation. + [scalable]({{< relref "../../get-started/deployment-modes#simple-scalable" >}}) deployment. The storage needs to be configured after generation.