+++
заголовок = "Конфигурация"
description = "Документация по конфигурации"
keywords = ["harvest", "configuration", "documentation"]
aliases = ["/docs/harvest/latest/installation/configuration/"]
weight = 150
+++

# Конфигурация

Harvest имеет ряд параметров конфигурации, которые вы можете указать в файле конфигурации `.ini` или указать с помощью переменных среды.

> **Примечание.** Чтобы изменения конфигурации вступили в силу, необходимо перезапустить Harvest.

Чтобы увидеть все настройки, которые в настоящее время применяются к серверу Harvest, обратитесь к [Просмотр настроек сервера]({{< relref "view-server/view-server-settings.md" >}}).

## Местоположение файла конфигурации

_Не_ меняйте `defaults.ini`! В этом файле хранятся настройки Harvest по умолчанию. В зависимости от вашей ОС, внесите все изменения конфигурации либо в `custom.ini`, либо в `harvest.ini`.

- Конфигурация по умолчанию из `$WORKING_DIR/conf/defaults.ini`
- Пользовательская конфигурация из `$WORKING_DIR/conf/custom.ini`
- Путь к пользовательскому файлу конфигурации можно переопределить с помощью параметра `--config`

### Линукс

Если вы установили Harvest с помощью пакетов `deb` или `rpm`, то ваш файл конфигурации находится в `/etc/harvest/harvest.ini`, а отдельный `custom.ini` не используется. Этот путь указывается в скрипте Harvest init.d с использованием параметра файла `--config`.

### Докер

См. [Настройка образа Harvest Docker]({{< relref "configure-docker.md" >}}) для получения информации о переменных среды, постоянном хранилище и создании пользовательских образов Docker.

### Окна

`sample.ini` находится в том же каталоге, что и `defaults.ini`, и содержит все закомментированные настройки. Скопируйте `sample.ini` и назовите его `custom.ini`.

### macOS

По умолчанию файл конфигурации находится в `/usr/local/etc/harvest/harvest.ini`. Для экземпляра Harvest, установленного с помощью Homebrew, отредактируйте файл harvest.ini напрямую. В противном случае добавьте файл конфигурации с именем `custom.ini` в папку `conf`, чтобы переопределить любые настройки, определенные в `conf/defaults.ini`.

## Комментарии в файлах .ini

Точка с запятой (символ `;`) — это стандартный способ закомментировать строки в файле `.ini`. Если вы хотите изменить параметр, вы должны удалить точку с запятой (`;`) перед параметром, прежде чем он будет работать.

**Пример**

```
# HTTP-порт для использования
;http_порт = 3000
```

Распространенной проблемой является забывание раскомментировать строку в файле `custom.ini` (или `harvest.ini`), что приводит к игнорированию параметра конфигурации.

## Настроить с помощью переменных среды

Все параметры в файле конфигурации можно переопределить с помощью переменных среды, используя синтаксис:

``` ударить
GF_<Имя раздела>_<Имя ключа>
```

Где название раздела — это текст в скобках. Все должно быть в верхнем регистре, `.` и `-` должны быть заменены на `_`. Например, если у вас есть следующие параметры конфигурации:

``` ударить
# раздел по умолчанию
имя_экземпляра = ${ИМЯ_ХОСТА}

[безопасность]
admin_user = администратор

[автор.гугл]
client_secret = 0ldS3cretKey

[plugin.harvest-изображение-рендерер]
rendering_ignore_https_errors = истина
```

Вы можете переопределить их на машинах Linux с помощью:

``` ударить
экспортировать GF_DEFAULT_INSTANCE_NAME=мой экземпляр
экспорт GF_SECURITY_ADMIN_USER=владелец
экспорт GF_AUTH_GOOGLE_CLIENT_SECRET=новыйS3cretKey
экспорт GF_PLUGIN_GRAFANA_IMAGE_RENDERER_RENDERING_IGNORE_HTTPS_ERRORS=true
```

## Расширение переменной

> **Примечание.** Доступно только в Harvest 7.1+.

Если какой-либо из ваших параметров содержит выражение `$__<поставщик>{<аргумент>}`
или `${<переменная окружения>}`, тогда они будут обработаны Harvest.
переменный расширитель. Расширитель запускает провайдер с предоставленным аргументом
чтобы получить окончательную стоимость опциона.

Есть три провайдера: `env`, `file` и `vault`.

### Поставщик Env

Поставщик `env` можно использовать для расширения переменной среды. если ты
установите параметр `$__env{PORT}`, переменная окружения `PORT` будет
используется вместо него. Для переменных среды вы также можете использовать
сокращенный синтаксис `${PORT}`.
Каталог журнала Harvest будет установлен в каталог `harvest` в
каталог за переменной среды `LOGDIR` в следующем
пример.

```ini
[пути]
журналы = $__env{LOGDIR}/графана
```

### Файловый провайдер

`file` читает файл из файловой системы. Он обрезает пробелы из
начало и конец файлов.
Пароль базы данных в следующем примере будет заменен на
содержимое файла `/etc/secrets/gf_sql_password`:

```ini
[база данных]
пароль = $__file{/etc/secrets/gf_sql_password}
```

### Поставщик хранилища

Поставщик «хранилища» позволяет вам управлять своими секретами с помощью [Hashicorp Vault] (https://www.hashicorp.com/products/vault).

> Поставщик хранилища доступен только в Harvest Enterprise v7.1+. Для получения дополнительной информации см. [Интеграция Vault]({{< relref "../enterprise/vault.md" >}}) в [Harvest Enterprise]({{< relref "../enterprise" >}}).

<ч />

## режим_приложения

Варианты «производство» и «разработка». По умолчанию используется «производство». _Не_ меняйте этот параметр, если только вы не работаете над разработкой Harvest.

## instance_name

Установите имя экземпляра harvest-server. Используется в ведении журнала, внутренних метриках и информации о кластеризации. По умолчанию: `${HOSTNAME}`, который будет заменен на
переменная среды `HOSTNAME`, если она пуста или не существует, Harvest попытается использовать системные вызовы для получения