update
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s

This commit is contained in:
2025-05-29 16:42:45 +04:00
parent e217f89702
commit 00717a92fb
2681 changed files with 173810 additions and 0 deletions

422
platform/install-loki.html Normal file
View File

@ -0,0 +1,422 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Install Loki</title>
<meta name="generator" content="Help+Manual" />
<meta name="keywords" content="" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Loki is an open platform for collecting, indexing, and storing logs. It enables debugging and problem detection in the system based on log data analysis and monitoring." />
<meta name="picture" content="" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
<meta property="og:url" content="https://brix365.com/en/help" />
<meta property="og:image" content="" />
<link rel="icon" href="favicon.png" type="image/png" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./jquery-ui.min.css" />
<link rel="stylesheet" href="default.css" />
<link rel="stylesheet" href="./search-yandex.css" />
<link rel="stylesheet" href="./article.css" />
<link rel="stylesheet" href="./glossary.css" />
<link rel="stylesheet" href="./theme.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="helpman_settings.js"></script>
<script type="text/javascript" src="helpman_topicinit.js"></script>
<script type="text/javascript" src="highlight.js"></script>
<script type="text/javascript">
$(document).ready(function(){highlight();});
</script>
</head>
<body>
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
<header class="header elma-365">
<div class="container">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-en.svg" alt="header logo">
</a>
<!-- <div class="hero__search-form" id="search-panel">
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
<label class="search-form__label">
<span id="reset-search" class="search__icon"></span>
<input class="search-form__input" type="text">
</label>
<input class="search-form__submit" type="submit" value="Submit">
</form>
</div> -->
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
<div class="hero__search">
<a href="#" id="search-icon" class="hero__search-icon">
<img src="search-icon-white.svg" alt="search string">
</a>
<a href="#" id="side-menu-icon" class="hero__side-icon">
<img src="side_menu.svg" alt="side menu">
</a>
</div>
<div class="header__navi">
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
</div>
</div>
</header>
<main class="main container">
<aside class="sidebar" id="sidebar">
<div class="sidebar__header">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-light-en.svg">
</a>
<span class="sidebar__close elma-365-close" id="close"></span>
</div>
<div class="sidebar__wrapper" id="side-menu">
</div>
</aside>
<article class="article" id="article">
<div class="article-inner">
<div class="content">
<header class="article__header">
<div class="article__bread" style="display:flex; gap:10px;">
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
<div class="topic__breadcrumbs">
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> &gt; <a href="elma365-enterprise.html">BRIX On-Premises Enterprise</a> &gt; Install add-on components for BRIX / Install Loki</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Install Loki</span></h1>
</div>
</header>
<section class="article__content">
<div class="scroll-top-inner">
<a href="#h1-article" class="scroll-top"></a>
</div>
<!-- Placeholder for topic body. -->
<p style="line-height: 1.28; margin: 0 0 11px 0;">Loki is an open platform for collecting, indexing, and storing logs. It enables debugging and problem detection in the system based on log data analysis and monitoring.</p>
<p style="text-align: justify; line-height: 1.28; margin: 0 0 11px 0;">Before installing Loki, configure the <a href="install-monitoring-tools.html" class="topiclink">monitoring tools</a>.</p>
<p style="text-align: justify; line-height: 1.28; margin: 0 0 11px 0;">This article describes how to:</p>
<ul style="list-style-type:disc">
<li style="text-align: justify; line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;">Install the Loki service using a chart. This is a universal option that can be applied to any Kubernetes platform in use.</li><li style="text-align: justify; line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><a href="install-loki.html#loki-module" class="topiclink">Configure the Loki module built into the Deckhouse Kubernetes Platform</a>.</li></ul>
<p style="text-align: justify; line-height: 1.28; margin: 0 0 11px 0;">The installation of Loki consists of five steps:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal"><a href="install-loki.html#download-helm-chart-and-config-file" class="topiclink">Download the Helm chart and the configuration file</a>.</li><li value="2" class="p_Normal"><a href="install-loki.html#create-bucket" class="topiclink">Create buckets in MinIO</a>.</li><li value="3" class="p_Normal"><a href="install-loki.html#filling-out-configuration-file" class="topiclink">Fill in the configuration file</a>.</li><li value="4" class="p_Normal"><a href="install-loki.html#install-chart-loki" class="topiclink">Install the Loki chart using Helm in the Kubernetes cluster</a>.</li><li value="5" class="p_Normal"><a href="install-loki.html#configure-connection" class="topiclink">Configure the connection to Loki in Grafana data sources</a>.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Начало&nbsp;внимание</span></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="background-color: #ffffff;">When installing Loki +&nbsp;<a href="install-tempo.html" class="topiclink">Tempo</a>, start with the Loki addon. This allows preserving cross-linking settings, as they are initially configured in the Datasource settings.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Конец&nbsp;внимание</span></p>
<h2 class="p_Heading2"><a id="download-helm-chart-and-config-file" class="hmanchor"></a><span class="f_Heading2">Step 1: Download the Helm chart and the configuration file</span></h2>
<p style="line-height: 1.28; margin: 0 0 11px 0;">To install over the internet, obtain the configuration file <code><b>values-loki.yaml</b></code> by executing the command:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;repo&nbsp;add&nbsp;elma365&nbsp;https://charts.elma365.tech</span><br />
<span class="f_CodeExample">helm&nbsp;repo&nbsp;update</span><br />
<span class="f_CodeExample">helm&nbsp;show&nbsp;values&nbsp;elma365/loki&nbsp;&gt;&nbsp;values-loki.yaml</span></p>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Getting configuration file for installation in a closed environment without internet access,</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.28; padding: 0 0 0 0; margin: 0 0 11px 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><ol style="list-style-type:decimal">
<li value="1" style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;">On a computer with internet access, download the archive of the latest version of the Loki chart from the BRIX repository using the command:</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">helm repo add elma365 https://charts.elma365.tech</span><br />
<span class="f_CodeExample">helm repo update</span><br />
<span class="f_CodeExample">helm pull elma365/loki</span></p>
<ol style="list-style-type:decimal">
<li value="2" class="p_Normal">Copy the obtained <code><b>loki-X.Y.Z.tgz</b></code> chart archive to the server where the installation will take place.</li><li value="3" class="p_Normal">Unpack the chart and copy the default configuration file <code><b>values.yaml</b></code> to <code><b>values- loki.yaml</b></code> <span style="font-weight: bold; color: #333333; background-color: #ffffff;">.</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">tar&nbsp;-xf&nbsp;loki-X.Y.Z.tgz</span><br />
<span class="f_CodeExample">cp&nbsp;loki/values.yaml&nbsp;values-loki.yaml</span></p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><a id="create-bucket" class="hmanchor"></a><span class="f_Heading2">Step 2: Create buckets in MinIO</span></h2>
<p class="p_Normal">1. Create <code><b>alias</b></code> for MinIO:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">mc&nbsp;alias&nbsp;set&nbsp;my_alias&nbsp;http://minio.local&nbsp;accessKey&nbsp;secretKey</span></p>
<p class="p_Normal">2. Create buckets with the names <code><b>admins</b></code>, <code><b>chunks</b></code> and <code><b>rules</b></code>:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">mc&nbsp;mb&nbsp;-p&nbsp;my_alias/admin&nbsp;--region=ru-central-1</span><br />
<span class="f_CodeExample">mc&nbsp;mb&nbsp;-p&nbsp;my_alias/chunks&nbsp;--region=ru-central-1</span><br />
<span class="f_CodeExample">mc&nbsp;mb&nbsp;-p&nbsp;my_alias/rules&nbsp;--region=ru-central-1</span></p>
<h2 class="p_Heading2"><a id="filling-out-configuration-file" class="hmanchor"></a><span class="f_Heading2">Step 3: Fill in the configuration file</span></h2>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A2')">Fill in the values-loki.yaml configuration file to install Loki</a></p>
<div id="TOGGLE0186A2" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; background: #fcfcfc; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample"> </span><span class="f_CodeExample">loki:</span><br />
<span class="f_CodeExample"># -- Deploy mode allows specifying the Loki deployment mode</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">deploymentMode:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">SimpleScalable</span><br />
<span class="f_CodeExample"># -- COnfiguration so start Enterprise Loki</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">enterprise:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample"># -- Use the GEL gateway if; if false, use the nginx gateway by default</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">gelGateway:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample"># -- enable caching of chunks based on memcached</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">chunksCache:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">loki:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- enable authentication</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">auth_enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- storage configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">storage:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">bucketNames:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">chunks:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">chunks</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">ruler:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">ruler</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">admin:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">admin</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">type:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">s3</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">s3:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">s3:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">null</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">endpoint:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">minio.local:9000</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">region:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">ru-central-1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">secretAccessKey:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">secretAccessKey</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">accessKeyId:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">accessKeyId</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">signatureVersion:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">null</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">s3ForcePathStyle:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">insecure:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">http_config:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">{}</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- additional compactor configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">compactor:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">delete_request_store:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">s3</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">compaction_interval:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">10m</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">retention_enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">retention_delete_delay:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">2h</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">retention_delete_worker_count:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">150</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">working_directory:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">/var/loki/chunks</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- schema settings</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">schemaConfig:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">configs:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">from:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">&quot;2024-04-01&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">index:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">period:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">24h</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">prefix:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">index_</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">object_store:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">s3</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">schema:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">v13</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">store:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">tsdb</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">useTestSchema:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- limits configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">limits_config:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">retention_period:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">744h</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">#</span><span class="f_CodeExample" style="font-weight: bold;">default</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">744h</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">per_stream_rate_limit:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">512M</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">per_stream_rate_limit_burst:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1024M</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">commonConfig:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">replication_factor:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># -- write module configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">write:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">replicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">autoscaling:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">minReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">2</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">6</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># -- read module configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">read:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">replicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">autoscaling:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">minReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">2</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">6</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># -- backend module configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">backend:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">replicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">autoscaling:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">minReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">2</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">6</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># -- gateway module configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">gateway:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">replicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">verboseLogging:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">autoscaling:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">minReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">3</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># -- Section for setting up additional Helm test</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">test:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Loki canary</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">lokiCanary:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="font-weight: bold;">&nbsp;</span><br />
<span class="f_CodeExample"># -- promtail settings</span><br />
<span class="f_CodeExample">promtail:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">daemonset:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- Deploys Promtail as DaemonSet</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">autoscaling:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">deployment:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample"># -- Deploys Promtail as Deployment</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">replicaCount:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">autoscaling:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">minReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxReplicas:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">10</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># -- Promtail configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">config:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">serverPort:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">3101</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">clients:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">url:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">http://loki-gateway/loki/api/v1/push</span></p>
</td>
</tr>
</table>
</div>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A3')">Filling in connection parameters to a private registry for installation in a closed environment without internet access</a></p>
<div id="TOGGLE0186A3" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">&nbsp;<br />
To connect to a private registry, follow these steps:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal">Download the BRIX images and load them into the local image registry. Read more about this in <a href="downloadin-images-elma365.html" class="topiclink">Download BRIX images</a>.</li></ol>
<ol style="list-style-type:decimal" start="2">
<li value="2" class="p_Normal">Set the address and path for the parameter <code><b>image.repository</b></code>.</li></ol>
<ol style="list-style-type:decimal" start="3">
<li value="3" class="p_Normal">Specify the name of the secret with access rights to the private registry in the parameter <code><b>image.pullSecrets</b></code>. The secret must be created manually and encoded in Base64.</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">loki:</span><br />
<span class="f_CodeExample"># parameters for connecting to the private registry</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">global:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">image:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">registry:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">null</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">imagePullSecrets:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">[]</span><span class="f_CodeExample" style="color: #ffffff;"> &nbsp;</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><br />
<span class="f_CodeExample">promtail:</span><br />
<span class="f_CodeExample"># parameters for connecting to the private registry</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">global:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">imageRegistry:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">&quot;&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">imagePullSecrets:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">[]</span></p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><a id="install-chart-loki" class="hmanchor"></a><span class="f_Heading2">Step 4: Install the Loki chart using Helm in the Kubernetes cluster</span></h2>
<p style="line-height: 1.28; page-break-inside: avoid; page-break-after: avoid; margin: 3px 0 0 0;">Execute the installation of the <span style="font-weight: bold;">Loki</span> chart in <code><b>namespace monitoring</b></code><span style="color: #333333;">.</span></p>
<p style="line-height: 1.20; background: #ffffff; margin: 10px 0 0 0;">For online installation via the internet:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;-n&nbsp;monitoring&nbsp;loki&nbsp;elma365/loki&nbsp;-f&nbsp;values-loki.yaml</span></p>
<p style="line-height: 1.0; white-space: nowrap; page-break-inside: avoid;">For&nbsp;offline&nbsp;installation&nbsp;without&nbsp;internet&nbsp;access,&nbsp;navigate&nbsp;to&nbsp;the&nbsp;directory&nbsp;with&nbsp;the&nbsp;downloaded&nbsp;chart&nbsp;and&nbsp;execute&nbsp;the&nbsp;command:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;loki&nbsp;./loki&nbsp;-f&nbsp;values-loki.yaml&nbsp;-n&nbsp;monitoring</span></p>
<h2 class="p_Heading2"><a id="configure-connection" class="hmanchor"></a><span class="f_Heading2">Step 5: Configure the connection to Loki in Grafana data sources</span></h2>
<p style="line-height: 1.28; margin: 0 0 11px 0;">The Loki data source is automatically added to Grafana during installation. You can check it in in the administrators menu: <span style="font-weight: bold;">Home &gt; Administration &gt; Data source</span> or <span style="font-weight: bold;">Home &gt; Connections &gt; Data sources</span>.</p>
<p style="line-height: 1.28; margin: 0 0 11px 0;">To add the source manually, in the <span style="font-weight: bold;">URL</span> field, specify <span style="font-weight: bold;">http://loki-gateway</span></p>
<p class="p_Normal"><img alt="install-loki-1" title="install-loki-1" width="586" height="381" style="margin:0;width:586px;height:381px;border:none" src="install-loki-1.png"/></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="background-color: #ffffff;">Example of viewing logs for&nbsp;</span><code><b>mongodb ({app="mongodb"} |= "error" != "timeout")</b></code><span style="background-color: #fffdf6;">:</span><br />
<img alt="install-loki-2" title="install-loki-2" width="1740" height="742" style="margin:0;width:1740px;height:742px;border:none" src="install-loki-2.png"/></p>
<h2 class="p_Heading2"><a id="loki-module" class="hmanchor"></a><span class="f_Heading2">Configure Loki in the Deckhouse platform</span></h2>
<p style="line-height: 1.28; margin: 0 0 11px 0;">If you use the Deckhouse platform, there are two ways to install Loki:</p>
<ul style="list-style-type:disc">
<li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;">Install the <span style="font-weight: bold;">Loki</span> chart into the Kubernetes cluster <a href="install-loki.html#download-helm-chart-and-config-file" class="topiclink">following the description above</a>.</li><li style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;">Enable the <span style="font-weight: bold;">Loki</span> module built into Deckhouse. When using this module, you can view the logs from all pods of the cluster in Grafana.</li></ul>
<p style="line-height: 1.28; margin: 0 0 11px 0;">To enable the <span style="font-weight: bold;">Loki</span> module in the Deckhouse platform, use the following code:</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">kubectl apply -f - &lt;&lt;EOF</span><br />
<span class="f_CodeExample"># Configure log collection from all pods</span><br />
<span class="f_CodeExample">apiVersion: deckhouse.io/v1alpha1</span><br />
<span class="f_CodeExample">kind: ClusterLoggingConfig</span><br />
<span class="f_CodeExample">metadata:</span><br />
<span class="f_CodeExample"> &nbsp;name: all-logs</span><br />
<span class="f_CodeExample">spec:</span><br />
<span class="f_CodeExample"> &nbsp;type: KubernetesPods</span><br />
<span class="f_CodeExample"> &nbsp;destinationRefs:</span><br />
<span class="f_CodeExample"> &nbsp;- d8-loki</span><br />
<span class="f_CodeExample">---</span><br />
<span class="f_CodeExample"># Enable the Loki module and configure data storage settings</span><br />
<span class="f_CodeExample">apiVersion: deckhouse.io/v1alpha1</span><br />
<span class="f_CodeExample">kind: ModuleConfig</span><br />
<span class="f_CodeExample">metadata:</span><br />
<span class="f_CodeExample"> &nbsp;name: loki</span><br />
<span class="f_CodeExample">spec:</span><br />
<span class="f_CodeExample"> &nbsp;settings:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;storageClass: localpath-deckhouse-system</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;diskSizeGigabytes: 30</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;retentionPeriodHours: 168</span><br />
<span class="f_CodeExample"> &nbsp;enabled: true</span><br />
<span class="f_CodeExample"> &nbsp;version: 1</span><br />
<span class="f_CodeExample">---</span><br />
<span class="f_CodeExample"># Enable the log-shipper module</span><br />
<span class="f_CodeExample">apiVersion: deckhouse.io/v1alpha1</span><br />
<span class="f_CodeExample">kind: ModuleConfig</span><br />
<span class="f_CodeExample">metadata:</span><br />
<span class="f_CodeExample"> &nbsp;name: log-shipper</span><br />
<span class="f_CodeExample">spec:</span><br />
<span class="f_CodeExample"> &nbsp;version: 1</span><br />
<span class="f_CodeExample"> &nbsp;enabled: true</span><br />
<span class="f_CodeExample">EOF</span></p>
<div class="bottom-nav">
<a id="prev-link" class="topic__navi_prev" href="install-cert-manager.html">
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
class="bottom-nav__link">install-cert-manager.html</span>
</a>
<a id="next-link" class="topic__navi_next" href="install-mimir.html">
<span class="bottom-nav__link">install-mimir.html</span> <span
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
</a>
</div>
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
</section>
</div>
<aside class="article__sidebar" style="display:none">
<input type="checkbox" />
<div class="article__arrow"></div>
<div class="table-of-contents elma365-right" id="toc2Content">
<h3 class="h3-toc">In this topic</h3>
<nav id="toc2"></nav>
</div>
</aside>
</div>
</article>
</main>
<footer class="footer">
<div class="footer-container">
<div class="footer-mobile">
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
</div>
<div class="footer-wrap">
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
<div class="footer-flex-b">
<span class="footer-copy">&copy; 2025 BRIX</span>
<ul class="footer-list">
<li class="footer-item">
<a href="#" class="arrow-top" style="display: block;"></a>
</li>
</ul>
</div>
</div>
</div>
</footer>
<iframe name="hmnavigation" style="display:none!important"></iframe>
<script src="./jquery-ui.js"></script>
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
<script src="./jquery.tocify.min.js"></script>
<script src="./TypoReporter.min.js"></script>
<script src="./google-search.js"></script>
<script src="./main.js"></script>
<script type="text/javascript">
HMInitToggle('TOGGLE0186A1','hm.type','dropdown','hm.state','0');
HMInitToggle('TOGGLE0186A2','hm.type','dropdown','hm.state','0');
HMInitToggle('TOGGLE0186A3','hm.type','dropdown','hm.state','0');
</script>
</body>
</html>