<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Set up a Grafana Enterprise Logs cluster on Grafana Labs</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/</link><description>Recent content in Set up a Grafana Enterprise Logs cluster on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/enterprise-logs/v1.9.x/setup/index.xml" rel="self" type="application/rss+xml"/><item><title>Get a GEL license</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/license/</link><pubDate>Tue, 16 Jul 2024 15:42:20 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/license/</guid><content><![CDATA[&lt;h1 id=&#34;get-a-gel-license&#34;&gt;Get a GEL license&lt;/h1&gt;
&lt;p&gt;To get a license, &lt;a href=&#34;/contact?about=support&amp;amp;topic=Grafana%20Enterprise%20Logs&#34;&gt;contact a Grafana Labs representative&lt;/a&gt; and give them the cluster name that you want to associate with the license.&lt;/p&gt;
]]></content><description>&lt;h1 id="get-a-gel-license">Get a GEL license&lt;/h1>
&lt;p>To get a license, &lt;a href="/contact?about=support&amp;amp;topic=Grafana%20Enterprise%20Logs">contact a Grafana Labs representative&lt;/a> and give them the cluster name that you want to associate with the license.&lt;/p></description></item><item><title>GEL hardware requirements</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/hardware-requirements/</link><pubDate>Tue, 16 Jul 2024 15:42:20 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/hardware-requirements/</guid><content><![CDATA[&lt;h1 id=&#34;gel-hardware-requirements&#34;&gt;GEL hardware requirements&lt;/h1&gt;
&lt;p&gt;This page outlines the current hardware requirements for running Grafana Enterprise Logs (GEL). Grafana Labs reserves the right to mark a support issue as &amp;lsquo;unresolvable&amp;rsquo; if these requirements are not followed. See the &lt;a href=&#34;/legal/grafana-enterprise-slas/&#34;&gt;Grafana Labs Enterprise Support SLA&lt;/a&gt; for more details.&lt;/p&gt;
&lt;h2 id=&#34;cpu-and-memory&#34;&gt;CPU and memory&lt;/h2&gt;
&lt;p&gt;GEL should be deployed on machines with a 1:4 ratio of CPU to memory, so for every CPU core there should be 4 gigabytes of memory. For most clusters, Grafana Labs recommends deploying GEL onto machines with 16 CPU cores and 64 gigabytes of memory. All the nodes in the cluster should be of the same type. This is a good mix of CPU to memory for the type of workloads that GEL usually performs.&lt;/p&gt;
&lt;h2 id=&#34;disk&#34;&gt;Disk&lt;/h2&gt;
&lt;p&gt;Various components of GEL (&lt;code&gt;ingester&lt;/code&gt;, &lt;code&gt;alertmanager&lt;/code&gt;) require fast, persistent disk resources to be available to the host machine. For example, in the case of the &lt;code&gt;ingester&lt;/code&gt; and &lt;code&gt;ruler&lt;/code&gt; components, all incoming data is sent to a write-ahead log (WAL) to help withstand unexpected node termination. The following are supported configurations for several cloud providers as well as guidance for custom hardware:&lt;/p&gt;
&lt;h3 id=&#34;amazon-web-services-aws&#34;&gt;Amazon Web Services (AWS)&lt;/h3&gt;
&lt;p&gt;GEL is tested to run with &lt;code&gt;io1&lt;/code&gt; Provisioned IOPS SSD EBS volumes to ensure adequate performance to run the system correctly. The &lt;code&gt;io1&lt;/code&gt; storage must be provisioned at 50 IOPS per gigabyte, with a minimum of &lt;code&gt;150Gi&lt;/code&gt; allocated to ensure performant I/O.&lt;/p&gt;
&lt;h3 id=&#34;google-cloud-platform-gcp&#34;&gt;Google Cloud Platform (GCP)&lt;/h3&gt;
&lt;p&gt;GEL is tested to run with &lt;code&gt;pd-ssd&lt;/code&gt; SSD persistent disks to ensure adequate performance to run the system correctly.&lt;/p&gt;
&lt;h3 id=&#34;microsoft-azure&#34;&gt;Microsoft Azure&lt;/h3&gt;
&lt;p&gt;GEL is tested to run with &lt;code&gt;Premium SSD&lt;/code&gt; SSD persistent disks to ensure adequate performance to run the system correctly.&lt;/p&gt;
&lt;h3 id=&#34;custom-cluster-hardware&#34;&gt;Custom cluster hardware&lt;/h3&gt;
&lt;p&gt;GEL requires fast disks to run. Build your cluster with fast, locally attached SSD-based disks.&lt;/p&gt;
&lt;h2 id=&#34;network&#34;&gt;Network&lt;/h2&gt;
&lt;p&gt;All components of GEL require fast network access. Nodes on which the software runs should be connected by 10 gigabit/second or faster network connection speed.&lt;/p&gt;
&lt;h2 id=&#34;object-storage&#34;&gt;Object storage&lt;/h2&gt;
&lt;p&gt;Various GEL components require object storage for config storage as well as long-term data storage.&lt;/p&gt;
&lt;h3 id=&#34;amazon-web-services-aws-1&#34;&gt;Amazon Web Services (AWS)&lt;/h3&gt;
&lt;p&gt;GEL is tested to run with AWS&amp;rsquo;s S3 object storage service using the &lt;code&gt;Standard&lt;/code&gt; storage class.&lt;/p&gt;
&lt;h3 id=&#34;google-cloud-platform-gcp-1&#34;&gt;Google Cloud Platform (GCP)&lt;/h3&gt;
&lt;p&gt;GEL is tested to run with GCP&amp;rsquo;s GCS object storage service using the &lt;code&gt;STANDARD&lt;/code&gt; storage class in both regional and dual regional storage locations.&lt;/p&gt;
&lt;h3 id=&#34;microsoft-azure-1&#34;&gt;Microsoft Azure&lt;/h3&gt;
&lt;p&gt;GEL is tested to run Azure&amp;rsquo;s Blob Storage object storage service using the &lt;code&gt;Standard&lt;/code&gt; storage class with replication type &lt;code&gt;LRS&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;unmanaged-object-storage&#34;&gt;Unmanaged object storage&lt;/h3&gt;
&lt;p&gt;GEL generally works with object storage installations which support the popular AWS S3 API. However, vendors have various performance characteristics for each solution and installation, so performance testing with your individual solution will be necessary to determine if the performance profile will work for your use case. Slower storage backed by hard disks might be acceptable for less intensive workloads, but more intensive workloads will likely require more performant object storage solutions backed by SSDs.&lt;/p&gt;
]]></content><description>&lt;h1 id="gel-hardware-requirements">GEL hardware requirements&lt;/h1>
&lt;p>This page outlines the current hardware requirements for running Grafana Enterprise Logs (GEL). Grafana Labs reserves the right to mark a support issue as &amp;lsquo;unresolvable&amp;rsquo; if these requirements are not followed. See the &lt;a href="/legal/grafana-enterprise-slas/">Grafana Labs Enterprise Support SLA&lt;/a> for more details.&lt;/p></description></item><item><title>Deploy GEL on Kubernetes with Helm</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/helm/</link><pubDate>Tue, 16 Jul 2024 15:42:20 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/helm/</guid><content><![CDATA[&lt;h1 id=&#34;deploy-gel-on-kubernetes-with-helm&#34;&gt;Deploy GEL on Kubernetes with Helm&lt;/h1&gt;
&lt;p&gt;The Helm charts for Grafana Enterprise Logs allows you to configure, install, and upgrade Grafana Enterprise Logs within a Kubernetes cluster.&lt;/p&gt;
&lt;p&gt;To install Grafana Enterprise Logs on Kubernetes, use &lt;a href=&#34;/docs/helm-charts/&#34;&gt;the Grafana Helm chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;
&lt;p&gt;You need a license to run Grafana Enterprise Logs. Your Grafana Labs representative should have provided you with a &lt;code&gt;license.jwt&lt;/code&gt; license file for the cluster name you provided. The following section details various ways of setting the license for the Helm chart. Choose the one most appropriate for you.&lt;/p&gt;
&lt;p&gt;The text &amp;ldquo;found a valid license&amp;rdquo; can be found in the logs of the Grafana Enterprise Logs components if the license has been specified correctly.&lt;/p&gt;
&lt;p&gt;Once you have obtained your license, do either of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configure the license in the Helm values file&lt;/li&gt;
&lt;li&gt;Store the license in a Kubernetes secret&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;configure-the-license-in-the-helm-values-file&#34;&gt;Configure the license in the Helm values file&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Add the following section to the Helm chart values file:&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;enterprise:
  enabled: true
  cluster_name: &amp;lt;cluster name&amp;gt;
license:
  contents: &amp;lt;content of license.jwt&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;store-the-license-in-a-kubernetes-secret&#34;&gt;Store the license in a Kubernetes secret&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Run the following command to load your GEL license file (&lt;code&gt;license.jwt&lt;/code&gt;) as a Kubernetes secret.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;kubectl create secret generic ge-logs-license --from-file license.jwt&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify you have successfully created the secret by running the following command:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;kubectl get secret ge-logs-license -oyaml&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The preceding command prints a Kubernetes Secret object with a &lt;code&gt;license.jwt&lt;/code&gt; field that contains a long base64-encoded value string.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the following section to the Helm chart values file:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;enterprise:
  enabled: true
  cluster_name: &amp;lt;cluster name&amp;gt;
  useExternalLicense: true
  externalLicenseName: ge-logs-license&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="deploy-gel-on-kubernetes-with-helm">Deploy GEL on Kubernetes with Helm&lt;/h1>
&lt;p>The Helm charts for Grafana Enterprise Logs allows you to configure, install, and upgrade Grafana Enterprise Logs within a Kubernetes cluster.&lt;/p></description></item><item><title>Set up the Grafana Enterprise Logs plugin for Grafana</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/grafana-plugin/</link><pubDate>Mon, 14 Apr 2025 21:05:47 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/grafana-plugin/</guid><content><![CDATA[&lt;h1 id=&#34;set-up-the-grafana-enterprise-logs-plugin-for-grafana&#34;&gt;Set up the Grafana Enterprise Logs plugin for Grafana&lt;/h1&gt;
&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt;
&lt;p&gt;Grafana Enterprise 7.3.0 or higher.&lt;/p&gt;
&lt;p&gt;If you are using Kubernetes, refer to &lt;a href=&#34;/docs/grafana/latest/installation/kubernetes/#deploy-grafana-enterprise-on-kubernetes&#34;&gt;Deploy Grafana Enterprise on Kubernetes&lt;/a&gt;. Otherwise, refer to &lt;a href=&#34;/docs/grafana/latest/installation/&#34;&gt;Install Grafana&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;install-the-plugin-in-your-gel-instance&#34;&gt;Install the plugin in your GEL instance&lt;/h2&gt;
&lt;p&gt;There are multiple ways to install the plugin in your local Grafana Enterprise instance.
For more information, refer to &lt;a href=&#34;/grafana/plugins/grafana-enterprise-logs-app/&#34;&gt;Grafana Enterprise Logs app installation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;enable-and-configure-the-plugin&#34;&gt;Enable and configure the plugin&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Log in to your Grafana Enterprise Logs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to the Config/Plugins page and select the Grafana Enterprise Logs (GEL) plugin from list.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the configuration page of the plugin, enable the plugin by clicking on the &amp;ldquo;Enable plugin&amp;rdquo; button.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provide the necessary API settings so that the plugin can connect to your cluster:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Access Token&lt;/strong&gt;: Enter the admin-scoped access token that you generated when setting up your GEL cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grafana Enterprise Logs URL&lt;/strong&gt;: Enter the URL of your GEL cluster. For single-process clusters, this is any node in the cluster. For microservice deployments, the URL is the GEL gateway. If you followed the &lt;a href=&#34;/docs/enterprise-logs/v1.9.x/setup/helm/&#34;&gt;Deploy on Kubernetes&lt;/a&gt; guide, your URL is &lt;code&gt;http://ge-logs.&amp;lt;namespace&amp;gt;.svc.cluster.local:8100/&lt;/code&gt;, where &lt;code&gt;&amp;lt;namespace&amp;gt;&lt;/code&gt; is the namespace that you used. For example, if you used the default namespace, then your URL would be &lt;code&gt;http://ge-logs.default.svc.cluster.local:8100/&lt;/code&gt;.
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 900px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;../assets/grafana-plugin-config-page.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;../assets/grafana-plugin-config-page.png&#34;alt=&#34;Configuration GEL plugin page&#34;title=&#34;Configuration GEL plugin page&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;../assets/grafana-plugin-config-page.png&#34;
            alt=&#34;Configuration GEL plugin page&#34;title=&#34;Configuration GEL plugin page&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Configuration GEL plugin page&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save API settings&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify that the plugin loads and can communicate with the GEL admin API endpoints.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigate to the GEL plugin through the main menu to see the default access policy under the &lt;strong&gt;Access Policies&lt;/strong&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now that you have correctly configured the GEL app plugin, follow directions in &lt;a href=&#34;../../tenant&#34;&gt;Set up a GEL tenant&lt;/a&gt; and visualize your data.&lt;/p&gt;
]]></content><description>&lt;h1 id="set-up-the-grafana-enterprise-logs-plugin-for-grafana">Set up the Grafana Enterprise Logs plugin for Grafana&lt;/h1>
&lt;h2 id="requirements">Requirements&lt;/h2>
&lt;p>Grafana Enterprise 7.3.0 or higher.&lt;/p>
&lt;p>If you are using Kubernetes, refer to &lt;a href="/docs/grafana/latest/installation/kubernetes/#deploy-grafana-enterprise-on-kubernetes">Deploy Grafana Enterprise on Kubernetes&lt;/a>. Otherwise, refer to &lt;a href="/docs/grafana/latest/installation/">Install Grafana&lt;/a>.&lt;/p></description></item><item><title>Set up a Grafana Enterprise Logs tenant</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/tenant/</link><pubDate>Mon, 14 Apr 2025 21:05:47 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/tenant/</guid><content><![CDATA[&lt;h1 id=&#34;set-up-a-grafana-enterprise-logs-tenant&#34;&gt;Set up a Grafana Enterprise Logs tenant&lt;/h1&gt;
&lt;p&gt;Tenants provide a mechanism for log stream isolation.
Access policies may be set on a per-tenant basis.
Authorization of requests is based on specified access policies.&lt;/p&gt;
&lt;p&gt;These instructions assume that you have the &lt;a href=&#34;/docs/enterprise-logs/v1.9.x/setup/grafana-plugin/&#34;&gt;Grafana Enterprise Logs administrative plugin&lt;/a&gt; installed. Use this plugin to create tenants, access policies, and tokens for your GEL cluster.&lt;/p&gt;
&lt;h2 id=&#34;create-a-tenant&#34;&gt;Create a tenant&lt;/h2&gt;
&lt;p&gt;Once a cluster is running, you can create new tenants.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Grafana Enterprise Logs&lt;/strong&gt; &amp;gt; &lt;strong&gt;Tenants&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Create tenant&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a chosen display name and name for this tenant.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose the cluster for this tenant.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save changes&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;create-an-access-policy&#34;&gt;Create an access policy&lt;/h2&gt;
&lt;p&gt;Access policies are used to authorize actions and operations by specified tenants. Access policies have a realm, which defines the set of tenants they apply to, and a scope which defines the set of actions that they confer permissions to use.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Grafana Enterprise Logs&lt;/strong&gt; &amp;gt; &lt;strong&gt;Access Policies&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Create access policy&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a chosen display name and name for access policy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To enter the scopes for this access policy, click on either the &lt;strong&gt;Yes&lt;/strong&gt; or &lt;strong&gt;No&lt;/strong&gt; box, as appropriate to answer the question, under the Scopes heading to bring up a list of clickable scopes. Place check marks next to those scopes that correspond to operations that will be authorized under this access policy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sequentially select all tenants this access policy will grant access to.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;create-tokens-for-the-access-policies&#34;&gt;Create tokens for the access policies&lt;/h2&gt;
&lt;p&gt;A token will be needed by any entity requesting actions or operations.
One or more tokens may be created for each access policy.
Tokens can be created with an expiration date, if the administrator wishes access granted to the system for a specific length of time.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Grafana Enterprise Logs&lt;/strong&gt; &amp;gt; &lt;strong&gt;Access Policies&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Add token&lt;/strong&gt; for the access policy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a chosen name for the token and specify the expiration details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy and save the token displayed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;create-a-grafana-data-source&#34;&gt;Create a Grafana data source&lt;/h2&gt;
&lt;p&gt;To allow Grafana to read logs from GEL,
you must create a Loki data source with the proper credentials.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create an access policy with scope &lt;code&gt;logs:read&lt;/code&gt; for the tenant you want to read logs from. Create and save a token for this access policy.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In Grafana Enterprise, navigate to &lt;strong&gt;Configuration&lt;/strong&gt; &amp;gt; &lt;strong&gt;Data Sources&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Add data source&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specify a name for this data source. Set the URL to &lt;code&gt;http://&amp;lt;GEL host&amp;gt;:3100&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable &lt;strong&gt;Basic Auth&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;User&lt;/strong&gt; differs based on use case. Set the &lt;strong&gt;User&lt;/strong&gt; to one of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;For single tenant access, set the &lt;strong&gt;User&lt;/strong&gt; to the name of the tenant you want to read from.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For explicitly-specified, multiple-tenant access, set the &lt;strong&gt;User&lt;/strong&gt; to include the names of the each tenant you want to read from; delimit the tenant names with a pipe character (&lt;code&gt;|&lt;/code&gt;). As an example, for the two tenants named &lt;code&gt;team-engineering&lt;/code&gt; and &lt;code&gt;team-finance&lt;/code&gt;, the &lt;strong&gt;User&lt;/strong&gt; will be &lt;code&gt;team-engineering|team-finance&lt;/code&gt;. This data source explicitly limits the tenants. The data source must be modified to add or remove a tenant.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For multiple tenant access by all tenants specified in an access policy, set the &lt;strong&gt;User&lt;/strong&gt; to &lt;code&gt;*&lt;/code&gt;. If the access policy changes, the data source will not need to be modified to honor the modified access policy.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the &lt;strong&gt;Password&lt;/strong&gt; to your saved token for the access policy with &lt;code&gt;logs:read&lt;/code&gt; access to the tenant(s).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save &amp;amp; Test&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;promtail-access-policy-and-token&#34;&gt;Promtail access policy and token&lt;/h2&gt;
&lt;p&gt;Promtail will need an access policy with &lt;code&gt;logs:write&lt;/code&gt; scope in order to push logs to a GEL cluster.
Create an access policy and token to be used by Promtail.
Capture the token and specify it in the Promtail configuration.&lt;/p&gt;
]]></content><description>&lt;h1 id="set-up-a-grafana-enterprise-logs-tenant">Set up a Grafana Enterprise Logs tenant&lt;/h1>
&lt;p>Tenants provide a mechanism for log stream isolation.
Access policies may be set on a per-tenant basis.
Authorization of requests is based on specified access policies.&lt;/p></description></item><item><title>Use label-based access control with GEL</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/lbac/</link><pubDate>Mon, 14 Apr 2025 21:05:47 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/lbac/</guid><content><![CDATA[&lt;h1 id=&#34;use-label-based-access-control-with-gel&#34;&gt;Use label-based access control with GEL&lt;/h1&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;This feature is available from v1.1.0. For the latest releases, refer to &lt;a href=&#34;/docs/enterprise-logs/v1.9.x/gel-releases/&#34;&gt;Download Grafana Enterprise Logs&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Label-based access control creates access policies that allow you to query only the logs that meet specific label requirements. The feature allows you to associate multiple sets of &lt;a href=&#34;https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus label selectors&lt;/a&gt; with a policy. As a result, queries only return data from the logs that match at least one of the provided selectors. This correlates to &lt;a href=&#34;https://en.wikipedia.org/wiki/Disjunctive_normal_form&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;disjunctive normal form&lt;/a&gt;, which allows you to express any required policy.&lt;/p&gt;
&lt;h2 id=&#34;setting-up-a-label-policy&#34;&gt;Setting up a label policy&lt;/h2&gt;
&lt;p&gt;Label policies are set when you create an access policy on a per-tenant basis. This means that each tenant that is associated with an access policy can have a unique label policy.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Create access policy&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Fill in the &lt;strong&gt;Display name&lt;/strong&gt; field with the access policy name.&lt;/li&gt;
&lt;li&gt;Select the &lt;code&gt;logs:read&lt;/code&gt; scope.&lt;/li&gt;
&lt;li&gt;Select a tenant.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add label selector&lt;/strong&gt; and add a label selector.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;../create-gel-lbac-policy.png&#34;
  alt=&#34;Create LBAC policy&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;alertmanager-and-ruler&#34;&gt;Alertmanager and ruler&lt;/h2&gt;
&lt;p&gt;Label policies are not enforced by the alertmanager and ruler. This means that the requests that they serve contain
everything for a particular tenant without applying label-based access control. For example, listing all rule groups
in the ruler will return all rule groups for the tenant even if a label selector in the access policy excludes some
of the labels on the rules.&lt;/p&gt;
&lt;p&gt;In the case of the ruler this only applies to the HTTP endpoints. All metrics that the ruler generates for
alerting or recording rules (alerting rules generate the &lt;code&gt;ALERTS&lt;/code&gt; and &lt;code&gt;ALERTS_FOR_STATE&lt;/code&gt; metrics) are subject to
label-based access control when queried in GEM. Note that GEL recording rules generate metrics which can be
sent to a Prometheus-compatible metrics system.&lt;/p&gt;
&lt;h2 id=&#34;writing-log-lines&#34;&gt;Writing log lines&lt;/h2&gt;
&lt;p&gt;GEL does not enforce label-based access control on the write requests. This means a &lt;code&gt;logs:write&lt;/code&gt;
scope in the access policy allows clients to push any log lines without restrictions regarding the labels.&lt;/p&gt;
&lt;h2 id=&#34;label-policy-scope&#34;&gt;Label policy scope&lt;/h2&gt;
&lt;p&gt;Label policies are only applied to the log stream selector of the Loki query. They do not apply to label filter expressions. For more information, refer to the &lt;a href=&#34;/docs/loki/latest/logql/#log-stream-selector&#34;&gt;Log stream selector&lt;/a&gt; and &lt;a href=&#34;/docs/loki/latest/logql/#label-filter-expression&#34;&gt;Label filter expression&lt;/a&gt; sections in the Loki documentation about &lt;a href=&#34;/docs/loki/latest/logql/#log-queries&#34;&gt;Log queries&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;exclude-a-label&#34;&gt;Exclude a label&lt;/h2&gt;
&lt;p&gt;One common use case for creating an LBAC policy is to exclude logs that have a specific label. For example, you can create a label policy that excludes all log lines with the label &lt;code&gt;secret=true&lt;/code&gt; by adding a selector with &lt;code&gt;secret!=&amp;quot;true&amp;quot;&lt;/code&gt; when you create an access policy:&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;../label-exclude.png&#34;
  alt=&#34;Create exclude label&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;use-multiple-selectors&#34;&gt;Use multiple selectors&lt;/h2&gt;
&lt;p&gt;To create a policy that allows someone to access the production and development environments and excludes logs with the label &lt;code&gt;secret=true&lt;/code&gt; in the production environment, use multiple selectors.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;../multiple-selectors.png&#34;
  alt=&#34;Create multiple selectors&#34;/&gt;&lt;/p&gt;
&lt;p&gt;The selectors &lt;code&gt;{secret!=&amp;quot;true&amp;quot;, env=&amp;quot;prod&amp;quot;}&lt;/code&gt; and &lt;code&gt;{env=&amp;quot;dev&amp;quot;}&lt;/code&gt; enforce the policy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The selector &lt;code&gt;{secret!=&amp;quot;true&amp;quot;, env=&amp;quot;prod&amp;quot;}&lt;/code&gt; matches and returns log lines from the production environment that do not have the &lt;code&gt;secret: true&lt;/code&gt; label.&lt;/li&gt;
&lt;li&gt;The selector &lt;code&gt;{env=&amp;quot;dev&amp;quot;}&lt;/code&gt; matches and returns log lines from the development environment, even if they have the &lt;code&gt;secret: true&lt;/code&gt; label.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="use-label-based-access-control-with-gel">Use label-based access control with GEL&lt;/h1>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>This feature is available from v1.1.0. For the latest releases, refer to &lt;a href="/docs/enterprise-logs/v1.9.x/gel-releases/">Download Grafana Enterprise Logs&lt;/a>.&lt;/p>&lt;/blockquote>&lt;/div>
&lt;p>Label-based access control creates access policies that allow you to query only the logs that meet specific label requirements. The feature allows you to associate multiple sets of &lt;a href="https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors" target="_blank" rel="noopener noreferrer">Prometheus label selectors&lt;/a> with a policy. As a result, queries only return data from the logs that match at least one of the provided selectors. This correlates to &lt;a href="https://en.wikipedia.org/wiki/Disjunctive_normal_form" target="_blank" rel="noopener noreferrer">disjunctive normal form&lt;/a>, which allows you to express any required policy.&lt;/p></description></item><item><title>Metamonitoring using Grafana Cloud</title><link>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/metamonitoring/</link><pubDate>Tue, 16 Jul 2024 15:42:20 +0000</pubDate><guid>https://grafana.com/docs/enterprise-logs/v1.9.x/setup/metamonitoring/</guid><content><![CDATA[&lt;h1 id=&#34;metamonitoring-using-grafana-cloud&#34;&gt;Metamonitoring using Grafana Cloud&lt;/h1&gt;


&lt;div data-shared=&#34;gex-metamonitoring.md&#34;&gt;
            &lt;!-- # Metamonitoring using Grafana Cloud --&gt;
&lt;p&gt;Grafana Labs champions the value of observability for your software applications and infrastructure.
This extends to the Database solutions offered as part of the Grafana Enterprise Stack: namely Grafana Enterprise Metrics, Logs, and Traces.
Successful operation of these databases requires comprehensive monitoring and alerting.
This allows the teams managing these Databases to swiftly identify issues and diagnose their root causes.
Grafana Labs itself maintains robust observability for the Grafana Enterprise Metrics, Logs, and Traces Databases it operates to power &lt;a href=&#34;/products/cloud/&#34;&gt;Grafana Cloud&lt;/a&gt;, our hosted observability-as-a-service offering.&lt;/p&gt;
&lt;p&gt;Our recommended approach for monitoring your Grafana Enterprise Databases is to use Grafana Cloud.
This approach is the easiest, most robust way to observe your database in accordance with Grafana Labs best practices and is included free of charge with your purchase of a Grafana Enterprise Database.&lt;/p&gt;
&lt;h2 id=&#34;how-it-works&#34;&gt;How it works&lt;/h2&gt;
&lt;p&gt;Each Grafana Enterprise Database is instrumented for observability by default.
Each Database component exposes metrics on a scrapable Prometheus compatible &lt;code&gt;/metrics&lt;/code&gt; endpoint and emits logs and traces.&lt;/p&gt;
&lt;p&gt;The Helm chart for each Enterprise Database includes an option for meta monitoring.
When enabled, the Helm chart deploys Grafana Alloy alongside the Enterprise Database.
Alloy is configured to collect metrics and logs from all database components and apply additional metadata, such as extra labels to indicate where the metrics or logs were scraped from.
&lt;em&gt;Alloy ONLY collects logs and metrics relevant to the internal system state of the Grafana Enterprise Databases; no other information is collected.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From there, Grafana Alloy forwards the telemetry data to your Grafana Cloud account, where it can be stored and queried to help you understand the health of your Grafana Enterprise Database.
You can access this account at any time, and have complete control over who has access to it using Grafana Cloud’s &lt;a href=&#34;/docs/grafana-cloud/account-management/authentication-and-permissions/&#34;&gt;identity and access management&lt;/a&gt; functionality.
Availability and uptime adhere to the Grafana Cloud SLA.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/loki/gex-metamonitoring-alloy.svg&#34;
  alt=&#34;Overview of monitoring a Grafana Enterprise Database product using Grafana Cloud&#34;/&gt;&lt;/p&gt;
&lt;p&gt;Additionally, this Grafana Cloud account is preconfigured with Grafana Labs’ recommended dashboards for visualizing the telemetry data collected from your Grafana Enterprise Database.
Should you choose, you can also create alerts on the data in this account to notify you when the telemetry data collected from your Grafana Enterprise Database is no longer within expected parameters.
Grafana Labs can provide a recommended set of alerts to configure.&lt;/p&gt;
&lt;p&gt;If you need to file a support escalation, you can choose to give the Grafana Labs support team access to the telemetry data in your Grafana Cloud account.
Historically, Grafana Labs has found that faster access to telemetry data radically reduces the time needed to resolve escalations.&lt;/p&gt;
&lt;/div&gt;

        
]]></content><description>&lt;h1 id="metamonitoring-using-grafana-cloud">Metamonitoring using Grafana Cloud&lt;/h1>
&lt;div data-shared="gex-metamonitoring.md">
&lt;!-- # Metamonitoring using Grafana Cloud -->
&lt;p>Grafana Labs champions the value of observability for your software applications and infrastructure.
This extends to the Database solutions offered as part of the Grafana Enterprise Stack: namely Grafana Enterprise Metrics, Logs, and Traces.
Successful operation of these databases requires comprehensive monitoring and alerting.
This allows the teams managing these Databases to swiftly identify issues and diagnose their root causes.
Grafana Labs itself maintains robust observability for the Grafana Enterprise Metrics, Logs, and Traces Databases it operates to power &lt;a href="/products/cloud/">Grafana Cloud&lt;/a>, our hosted observability-as-a-service offering.&lt;/p></description></item></channel></rss>