Linuxoid.pro

Сообщество разработчиков программного обеспечения и IT-специалистов

Как установить InfluxDB в Windows

При поиске руководств по установке InfluxDB в Windows я не мог найти хороших и актуальных статей о том, как это сделать правильно. Честно говоря, это нормально.

Такие технологии постоянно меняются и совершенствуются, и образовательные ресурсы необходимо адаптировать.

Итак, как установить InfluxDB в Windows?

Цель этого руководства — создать содержательную и актуальную статью о том, как это сделать .

В этом руководстве мы рассмотрим все необходимые шаги для чистой установки InfluxDB.

Подробно мы рассмотрим:

  • Как скачать InfluxDB в Windows
  • Как настроить InfluxDB на вашем компьютере
  • Как использовать инструмент NSSM для создания настраиваемой службы Windows

Готовы?

I — Загрузка InfluxDB

а — Скачивание архива

Скачать InfluxDB очень просто.

Перейдите на страницу загрузок InfluxDB. Там вы увидите следующие четыре поля.

Для чего нужны эти четыре коробки?

Они являются частью TICK stack . ( Telegraf, I nfluxDB, Chronograf и Kapacitor).

У каждого из этих инструментов есть очень специфическая роль: сбор показателей, хранение данных, визуализация временных рядов или выполнение определенных функций постобработки ваших данных.

В этом руководстве мы сосредоточимся на InfluxDB (компонент базы данных временных рядов TICK).

Итак, следует ли вам загружать версию v1.7.6 или v2.0.0?

В своих предыдущих статьях я ответил на основное различие между двумя версиями, но вот главное различие, которое вам нужно запомнить.

Поскольку версия 2.0 все еще является экспериментальной, мы выберем версию 1.7.6 .

Нажмите кнопку v1.7.6.

Еще одно окно откроется со всеми операционными системами. Прокрутите, пока не увидите двоичные файлы Windows (64-разрядная версия).

Просто щелкните URL-адрес в белом поле, и загрузка автоматически начнется в вашем браузере.

Храните его где хотите, в моем случае он будет в папке Program Files .

Разархивируйте архив с помощью вашей любимой утилиты для архивирования (в моем случае — 7-Zip) или выполните следующую команду в командной строке PowerShell.

Expand-Archive -Force C:\path\to\archive.zip C:\where\to\extract\to

Хорошо! Давайте посмотрим, что у вас здесь.

б — Просмотр архива

Внутри вашей папки теперь есть 5 двоичных файлов и 1 файл конфигурации:

  • Influx.exe : интерфейс командной строки, используемый для выполнения команд IFQL и перехода к вашим базам данных.
  • Influx_inspect.exe: получите некоторую информацию о шардах InfluxDB (в многоузловой среде)
  • Influx_stress.exe: используется для стресс-тестирования вашей базы данных InfluxDB
  • Influx_tsm.exe: Утилита InfluxDB с временным деревом слияния (здесь не актуальна)
  • Influxd.exe : используется для запуска вашего сервера InfluxDB
  • Influxdb.conf : используется для настройки вашего экземпляра InfluxDB.

Соответствующие двоичные файлы были выделены жирным шрифтом.

II — Настройка сервера InfluxDB

Прежде чем продолжить, вам необходимо настроить свой экземпляр InfluxDB для Windows .

Нас по существу интересуют четыре раздела в файле конфигурации.

a — Мета-раздел

Здесь будет храниться ваша база данных плотов. Он хранит метаданные о вашем экземпляре InfluxDB.

Создание мета — папку в директории InfluxDB (помните , в моем случае это был Program Files).

Измените следующий раздел в файле конфигурации.

[meta]
# Where the metadata/raft database is stored
dir = "C:\\Program Files\\InfluxDB\\meta"

б — Раздел данных

InfluxDB хранит файлы TSM и WAL как часть своего внутреннего хранилища. Здесь ваши данные будут храниться на вашем компьютере.

Создайте в своей папке папку data и wal . Опять же, соответствующим образом измените файл конфигурации.

[data]
# The directory where the TSM storage engine stores TSM files.
dir = "C:\\Program Files\\InfluxDB\\data"

# The directory where the TSM storage engine stores WAL files.
wal-dir = "C:\\Program Files\\InfluxDB\\wal

Важно: путь нужно заключать в двойные кавычки!

c — HTTP-раздел

Есть много способов вставить данные в базу данных InfluxDB.

Вы можете использовать клиентские библиотеки для использования в приложениях Python, Java или Javascript. Или вы можете напрямую использовать конечную точку HTTP.

InfluxDB предоставляет конечную точку, которую можно использовать для взаимодействия с базой данных. Он находится на port 8086 .

Вернемся к вашему конфигурационному файлу. Настройте раздел HTTP следующим образом:

[http]
# Determines whether HTTP endpoint is enabled.
enabled = true

# The bind address used by the HTTP service.
bind-address = ":8086"

# Determines whether HTTP request logging is enabled.
log-enabled = true

Не стесняйтесь менять порт, если он не взаимодействует с портами, уже используемыми на вашем компьютере или сервере Windows.

d — Раздел журнала

Раздел ведения журнала используется для определения, какие уровни журнала будут храниться для вашего сервера InfluxDB. Параметр по умолчанию — «информация» , но вы можете изменить его, если, например, вы хотите получать уведомления только о сообщениях «об ошибках».

[logging]
# Determines which log encoder to use for logs. Available options
# are auto, logfmt, and json. auto will use a more a more user-friendly
# output format if the output terminal is a TTY, but the format is not as
# easily machine-readable. When the output is a non-TTY, auto will use
# logfmt.
# format = "auto"

# Determines which level of logs will be emitted. The available levels
# are error, warn, info, and debug. Logs that are equal to or above the
# specified level will be emitted.
level = "error"

e — Быстрый тест

Прежде чем настраивать InfluxDB как службу, давайте проведем быстрый сухой тест, чтобы убедиться, что все в порядке.

В командной строке выполните исполняемый файл Infxd. Примите разрешение брандмауэра, если вам будет предложено это сделать.

Теперь, когда ваш сервер InfluxDB запущен, запустите новую утилиту командной строки и выполните следующую команду .

C:\Users\Antoine>curl -sl -I http://localhost:8086/ping
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 7dacef6d-8c2f-11e9-8018-d8cb8aa356bb
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.6
X-Request-Id: 7dacef6d-8c2f-11e9-8018-d8cb8aa356bb
Date: Tue, 11 Jun 2019 09:58:41 GMT

/ Ping конечная точка используется для проверки , если ваш сервер работает или нет.

Получаете ли вы HTTP-ответ 204 No Content?

Поздравляю!

Теперь вам просто нужно запустить его как службу, и все будет готово.

III — Запустите InfluxDB как службу Windows

Как вы уже догадались, вы не собираетесь запускать InfluxDB через командную строку каждый раз, когда захотите его запустить. Это не очень практично.

Вы собираетесь запустить его как службу, используя очень популярный инструмент NSSM в Windows .

Вы можете использовать инструмент SC, изначально доступный в Windows, но я считаю его более сложным, чем NSSM.

Чтобы загрузить NSSM, перейдите по адресу https://nssm.cc/download.

Распакуйте его в нужную папку, для меня это будет «C: Program FilesNSSM».

Оттуда в текущей папке NSSM выполните следующую команду (для этого вам нужны права администратора)

> nssm install

Вам будет предложено окно NSSM.

Введите в него следующие данные (не забудьте раздел конфигурации, иначе наша предыдущая работа будет бесполезна)

Вот и все!

Теперь ваша служба установлена.

Перейдите к службам в Windows 10. Найдите свою службу под именем и убедитесь, что ее статус — «Выполняется» (если вы, конечно, указали тип автоматического запуска в NSSM)

Это работает? Давайте проверим еще раз с помощью curl.

C:\Users\Antoine>curl -sL -I http://localhost:8086/ping
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: ef473e13-8c38-11e9-8005-d8cb8aa356bb
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.6
X-Request-Id: ef473e13-8c38-11e9-8005-d8cb8aa356bb
Date: Tue, 11 Jun 2019 11:06:17 GMT

Поздравляю! Ты сделал это!

Вы установили InfluxDB в Windows как службу, и она работает на port 8086.

Бонус: самые распространенные ошибки в процессе

  • Служба не ответила вовремя.

Я столкнулся с этой ошибкой, когда пытался настроить InfluxDB как службу с помощью SC. Поскольку в Google и на Youtube существует множество решений, я решил это с помощью NSSM.

Пытался настроить реестр Windows, но это было не очень полезно.

  • Обычно разрешается только одно использование каждого адреса сокета (протокол / сетевой адрес / порт).

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

  • У меня нет такой же реакции завитков

Ответ 204 на команду curl — единственный признак того, что ваш InfluxDB работает правильно. Если вы не получите тот же результат, вам следует вернуться и дважды проверить предыдущие шаги.

  • В моем файле конфигурации есть ошибка синтаксического анализа!

Помните, что в системах Windows необходимо избегать обратной косой черты. Это двойная обратная косая черта в путях вашего файла конфигурации InfluxDB.

Если ваш путь содержит пробелы, например «Program Files», обязательно заключите его в кавычки.