Telegraf influxdb grafana настройка windows

Обновлено: 04.07.2024

В двух словах, telegraf — агент для передачи метрик в различные базы временных рядов. В данной инструкции мы рассмотрим процесс установки и настройки сервера InfluxDB на Linux (Ubuntu и CentOS) и настройки telegraf для отправки данных в установленную базу. Сам агент для отправки метрик мы установим на Linux и Windows.

Установка и настройка InfluxDB

Если у нас уже есть сервер баз данных, совместимый с telegraf, можно пропустить данный раздел. В противном случае, рассмотрим процесс подготовки сервера и установки InfluxDB. В данной инструкции мы будем разворачивать сервер баз данных на Linux, но при необходимости, InfluxDB может быть установлен на Windows.

Подготовка сервера

1. Время

Для любой базы хранения временных рядов важно своевременно обновлять время на сервере.

Задаем временную зону:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере задаем московское время. В каталоге /usr/share/zoneinfo список всех возможных вариантов.

Устанавливаем и запускаем сервис для автоматической синхронизации времени.

а) в CentOS / Red Hat / Fedora:

yum install chrony

systemctl enable chronyd --now

б) в Ubuntu / Debian:

apt-get install chrony

systemctl enable chrony

2. Брандмауэр

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

а) Firewalld

По умолчанию, используется в системах на базе RPM. Для открытия нужного нам порта вводим команды:

firewall-cmd --permanent --add-port=8086/tcp

б) Iptables

Чаще всего, используется в системах на базе DEB или в ранних версиях RPM. Вводим команду:

iptables -I INPUT 1 -p tcp --dport 8086 -j ACCEPT

. и сохраняем правила:

* если система вернет ошибку, что программа не установлена, выполним инсталляцию командой apt-get install netfilter-persistent.

3. SELinux

По умолчанию, пакет безопасности SELinux установлен на системах RPM. Чаще всего, его выключают командами:

* но если мы хотим настроить SELinux, принцип конфигурирования можно прочитать в инструкции Настройка SELinux в CentOS.

Установка InfluxDB

Мы выполним установку базы данных на примере двух различных систем — CentOS и Ubuntu.

а) Установка InfluxDB на CentOS

Создаем файл с настройками репозитория:

Можно устанавливать InfluxDB:

yum install influxdb

Разрешаем автоматический запуск сервиса и стартуем его:

systemctl enable influxdb --now

б) Установка InfluxDB на Ubuntu

Устанавливаем ключ для репозитория:

Вводим команду для создания переменных в системном окружении, в которых будут храниться данные о версии дистрибутива:

Следующей командой мы создадим файл с настройкой репозитория:

Обновляем список пакетов:

Теперь установим InfluxDB:

apt-get install influxdb

Разрешаем автоматический запуск сервиса и стартуем его:

systemctl enable influxdb

systemctl start influxdb

Установка Telegraf

Выполним установку Telegraf для различных операционных систем. В зависимости от текущей версии агента, команды будут разные. Поэтому мы переходим на страницу загрузки influxdata и кликаем по последней версии telegraf:

Кликаем по последней версии telegraf

* на момент написания инструкции это была v1.14.1.

В открывшемся окне мы увидим конкретные команды для загрузки и установки Telegraf под различные операционные системы.

Linux CentOS (Red Hat / Fedora)

Устанавливаем утилиту для загрузки файлов:

yum install wget

* напоминаю, что версия может быть другой.

Устанавливаем загруженный пакет:

yum localinstall telegraf-*.rpm

Linux Ubuntu (Debian / Mint)

* обратите внимание, что версия может быть другой.

Устанавливаем скачанный пакет:

dpkg -i telegraf_*.deb

Windows

Скачиваем архив по ссылке на сайте. На момент написания инструкции, это было:

Создаем каталог Telegraf в папке Program Files. В моем случае, получился путь C:\Program Files\Telegraf. Распаковываем в него содержимое скачанного архива — файлы telegraf.conf и telegraf.exe.

Теперь открываем командную строку от администратора и запускаем установку Telegraf в качестве службы:

"C:\Program Files\Telegraf\telegraf.exe" --service install

Настройка telegraf и отправка данных в InfluxDB

Независимо от операционной системы, создание конфига происходит в командной строке. Рассмотрим процедуры генерирования конфигурационного файла, настройки сервера баз данных и запуска агента по сбору метрик.

Создание конфигурационного файла для telegtaf

В командной строке переходим в каталог с конфигом телеграфа.

cd "c:\Program Files\Telegraf"

* если мы установили агент в другой каталог, переходим в него.

Затем генерируем конфигурационный файл. Синтаксис для команды следующий:

telegraf -sample-config --input-filter <плагины сбора метрик через ":"> --output-filter <плагины передачи данных с метрик через ":"> > <имя конфигурационного файла>

Если мы введем команду:

telegraf -sample-config > telegraf.conf

. то мы получим конфигурационный файл telegraf.conf со всеми возможными плагинами.

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

telegraf -sample-config --input-filter disk:diskio:hddtemp --output-filter influxdb > telegraf.conf

* перечень плагинов для получения метрик идет после ключа --input-filter; после --output-filter мы перечисляем системы, для отправки в которые будут подготовлены данные — в нашем случае это influxdb. Также это могут быть Elasticsearch, Graphite, OpenTSDB, Prometheus и другие.

Проверить полученный конфигурационный файл можно командой:

* если путь до конфигурационного файла отличается от стандартного, его можно указать с помощью ключа --config.

Если в настройках telegraf будут ошибки, мы увидим:

[telegraf] Error running agent:

Настройка адреса базы

Как правило, сервер баз данных находится на одном сервере, но по умолчанию, в telegtaf создается конфигурационный файл для отправки метрик на локальный сервер баз данных. Чтобы изменить настройку, открываем созданный нами ранее конфиг.

а) в Linux с помощью текстового редактора, например:

б) в Windows также текстовым редактором, например, обычным блокнотом или Notepad++.

Находим строку в разделе OUTPUT PLUGINS:

Снимаем комментарий и меняем адрес сервера, например:

* где 192.168.1.16 — IP-адрес нашего сервера баз данных.

Если наш сервер баз данных требует аутентификации, добавим 2 строки:

username = "username"
password = "userpass"

* где username и password — соответственно, логин и парлоль для подключения к базе.

Запуск агента

Процедуры в Linux и Windows немного отличаются.

В Linux

Разрешаем автозапуск telegraf:

systemctl enable telegraf

systemctl restart telegraf

В Windows

Открываем службы Windows. Находим службу Telegraf Data Collector Service - открываем ее. Проверяем, чтобы тип запуска был автоматический и кликаем по Запустить:

Настройка службы telegraf для автоматического запуска

Также запустить службу можно из командной строки:

net start telegraf

Проверка данных в базе

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

Мы подключимся к базе. Смотрим список баз:

* если influxdb требует аутентификации, то мы получим ошибку ERR: unable to parse authentication credentials. Необходимо сначала ввести команду auth и последовательно логин и пароль.

Мы должны увидеть базу telegraf:

name: databases
name
----
_internal
telegraf

Подключаемся к базе и смотрим список таблиц:

Смотрим список значений для нужной нам метрики, например, для diskio:

> SELECT * FROM diskio ORDER BY time DESC LIMIT 15

* так как значений будет очень много, лучше ограничить вывод — в данном примере последних 15 записей.

Чтобы получить данные для определенного хоста, вводим запрос:

* в данном примере мы получим данные, которые пришли с компьютера server1.

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

telegraf - агент по сбору данных

InfluxDB - база, предназначенная для хранения временных рядов (time series)

Grafana - для отображения метрик

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

Предусловия

Все дальнейшие действия выполняются на машине с установленным CentOS7/Red Hat 7.

На сайте influxdata - разработчика InfluxDB и Telegraf представлена следующая схема:


Называют они этот стек технологий TICK stack - по первым буквам (Telegraf, Influxdb, Chronograf, Kapacitor).

В рамках этого поста мы упрощаем эту схему и она принимает следующий вид:


Во-первых мы пока убираем Kapacitor - движок для real-time обработки получаемых данных - его рассмотрим отдельно.

Во-вторых вместо предлагаемого influxdata дашборда Chronograf будем использовать более мощную и гибкую Grafana (хотя это по большому счету - дело вкуса).

Установка и настройка InfluxDB

Начнем с базы, в которой будут храниться результаты наших измерений.

Добавим репозиторий в менеджер пакетов YUM:

Установим influxdb и запустим сервис:

Чтобы сервис работал после перезагрузки машины, введем команду:

Проверяем, что все прошло хорошо, выполнив в консоли команду:

Создадим нашу первую базу командой:

Посмотрим что получилось:

Видим список:отать с базой, ее сначала нужно выбрать - для этого выполняем команду:

Попробуем добавить в базу значения. В документации указан такой формат:

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

После этого смотрим какие измерения стали доступны:

Документация обещает нам SQL-like синтаксис, пробуем:

На что обращаем внимание: колонка time в таблице сформировалась автоматически - время мы указали только в первом случае, в остальных - добавилось текущее. Каждый тег стал "колонкой" в табличном представлении, результат измерения попал в колонку value.

Новые теги могут добавляться с любого момента, например так:

Используя SQL-like синтаксис легко можем получить выборку по квартире:

И даже посчитать среднюю температуру по больнице:

Также можно добавлять данные через REST API:

И читать данные через REST API в формате JSON:

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

Установка и настройка Telegraf

Telegraf - агент для сбора данных, у него есть множество плагинов как для ввода так и для вывода. Yum-репозиторий influxdata мы уже добавили в самом начале, так что сразу установим telegraf.

Далее надо сгенерировать конфигурационный файл. Для этого наберем команду:

Команда означает следующее: ув. телеграф, будь добр - создай нам конфигурационный файл telegraf.conf, в котором задействуй плагины ввода данных cpu, mem и exec (их вообще очень много, можно хоть данные с сервера minecraft собирать), вывода данных - influxdb (можно еще в grafite, elasticsearch и много куда еще).

Встроенные плагины cpu и mem отвечают за сбор данных об активности процессора и памяти соответственно. А вот плагин exec - предоставляет возможность использовать для сбора данных произвольные скрипты.

В сгенерированном файле видим следующее:

В output plugins -> influxdb указываем/изменяем данные для подключения к базе:

Cмотрим пример настроек плагина exec для сбора данных произвольным скриптом:

Попробуем написать свой такой скрипт:

Задача у скрипта простая - пробуем найти в процессах [k]araf.main.Main ([k] - взято в скобки специально, таким образом мы исключим из вывода сам grep), если выходной код 0 - то выводим строку с данными для influxdb.

Добавляем метрику process_status с тегами host и proc и значением working равным 0 или 1 в зависимости от результата проверки.

Сохраняем этот скрипт как /opt/telegraf/check_karaf.sh и редактируем конфиг:

Кладем полученный конфиг в /etc/telegraf/telegraf.conf и запускаем сервис:

Посмотрим в базе - появились ли данные:

Данные пишутся, на этом с telegraf пока закончим, выполнив напоследок следующую команду, чтобы сервис telegraf запускался после каждой перезагрузки:

Установка и настройка Grafana

Почти готово - осталось настроить дашборд для отображения собранных метрик.

Установим и запустим Grafana:


Авторизуемся, используя стандартные логин и пароль: admin / admin.

Если чуда не произошло и на порту 3000 искомого веб-интерфейса мы не увидели, смотрим логи в /var/log/grafana.

В интерфесе первым делом настраиваем источник данных (datasources - add datasource):


Далее создаем свой первый дашборд и следуя подсказкам интерфейса конструируем запрос, например так:


Дальнейший процесс носит скорее творческий, чем технический характер. По большому счету можно и не знать синтаксис SQL, а ориентироваться на настройки, предоставляемые интерфейсом Grafana.

Создав dashboard, мы можем его экспортировать в json-формате и в дальнейшем загрузить на другом хосте. Мы будем активно использовать эту возможность при создании ansible-скрипта.

Ansible-playbook для быстрого деплоя

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

Ниже привожу код playbook-а, выполняющего описанные в статье действия. Сразу оговорюсь - playbook приведен для примера и не является образцом аккуратности и правильности с т.з. лучших практик ansible. На практик, конечно, лучше выделить отдельные роли и вызывать их и т.д.

На первом шаге плейбука мы добавляем нужные репозитории и устанавливаем telegraf, influxdb, grafana. Далее на втором шаге конфигурируем telegraf, используя шаблон jinja2, затем запускаем все сервисы и создаем источник данных/импортируем дашборд в grafana, используя REST API.


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

Для каждой компании значимой частью рабочего процесса является мониторинг инфраструктурных узлов, особенно при отсутствии прямого доступа для решения возникающих проблем. Более того, интенсивное использование некоторых ресурсов может быть индикатором неисправностей и перегрузок инфраструктуры. Однако мониторинг может использоваться не только для профилактики, но и для оценки возможных последствий использования нового ПО в продакшне. Сейчас для отслеживания потребляемых ресурсов на рынке существует несколько готовых к использованию решений, но с ними, тем не менее, возникают две ключевые проблемы: дороговизна установки и настройки и связанные со сторонним ПО вопросы безопасности.

Первая проблема это вопрос цены: стоимость может варьироваться от десяти евро (потребительские расценки) до нескольких тысяч (корпоративные расценки) в месяц, в зависимости от числа подлежащих мониторингу хостов. Для примера, предположим что мне нужен мониторинг трех узлов в течение одного года. При цене в 10 евро в месяц я потрачу 120 евро, тогда как небольшая компания будет вынуждена раскошелиться на десять-двадцать тысяч, что окажется финансово несостоятельным решением и попросту подорвет весь бюджет.

Вторая проблема это стороннее ПО. Учитывая, что для анализа данные пользователя — будь то частное лицо или компания — должны обрабатываться третьей стороной, возникает вопрос: каким образом третья сторона собирает данные и представляет их пользователю? Обычно для этого на узел устанавливают специальное приложение, через которое и ведется мониторинг, но зачастую такие приложения успевают устареть или оказываются несовместимы с операционной системой клиента. Опыт исследователей в области информационной безопасности проливает свет на проблемы в работе с «проприетарным ПО». Стали бы вы доверять такому ПО? Я — нет.

У меня есть свои узлы как для Tor, так и для некоторых криптовалют, поэтому для мониторинга я предпочитаю бесплатные, легко настраиваемые альтернативы с открытыми исходниками. В этом посте мы рассмотрим три таких инструмента: Grafana, InfluxBD и CollectD.


Мониторинг

Для эффективного анализа каждой метрики нашей инфраструктуры нужно приложение, способное подхватывать статистику с интересующих нас устройств. В этом отношении нам на помощь приходит CollectD: этот демон группирует и собирает («collects», потому и такое имя) все параметры, которые можно хранить на диске или передать по сети.

Данные затем будут переданы инстансу InfluxDB: это база данных временных рядов (time series database, TSBD), которая связывает данные со временем (закодированным в UNIX временную метку) в которое их получил сервер. Таким образом, отправленные CollectD данные поступят уже как последовательность событий.

Наконец, мы воспользуемся Grafana: эта программа свяжется с InfluxDB и отобразит данные на удобных для пользователя цветастых приборных панелях. Благодаря всевозможным графикам и гистограммам мы сможем в реальном времени отслеживать данные CPU, оперативной памяти и так далее.


InfluxDB


Давайте начнем с InfluxDB, свободно распространяемой TSBD для хранения данных в виде последовательности событий. Эта разработанная на Go база данных станет сердцем нашей мониторинговой «системы».

Всякий раз при поступлении данных к ним по умолчанию привязывается UNIX метка. Гибкость такого подхода освобождает пользователя от необходимости хранить переменную «time», что в противном случае оказывается довольно сложным. Давайте представим, что у нас есть несколько расположенных на разных материках устройств. Каким образом мы будем обрабатывать переменную «time»? Станем ли мы привязывать все данные ко времени по Гринвичу, или мы зададим каждому узлу свой часовой пояс? Если данные сохраняются в разных часовых поясах, каким образом нам корректно отобразить их на графиках? Как можно видеть, проблемы возникают одна за другой.

Так как InfluxDB отслеживает время и автоматически проставляет метки на каждое поступление данных, она может синхронно записывать данные в конкретную базу данных. Именно поэтому InfluxDB часто представляют в виде таймлайна: запись данных не влияет на производительность базы данных (что порой случается у MySQL), поскольку запись это всего лишь добавление конкретного события в таймлайн. Поэтому название программы происходит от восприятия времени как бесконечного и неограниченного «потока».

Установка и настройка


Наконец, мы обновим и установим InfluxDB:


Для запуска мы воспользуемся systemctl :


Чтобы к нам не залогинился кто-нибудь с гнусными намерениями, мы создадим пользователя «administrator». Взаимодействовать с базой данных можно через имеющийся в InfluxDB и похожий на SQL язык запросов «InfluxQL». Для создания нового пользователя мы выполним запрос create user .


В том же CLI интерфейсе мы создадим базу данных «metrics», в которой и будем хранить наши метрики.


Затем мы настроим конфигурацию InfluxBD ( /etc/influxdb/influxdb.conf ) таким образом, чтобы интерфейс открывался через порт 24589 (UDP) с прямым соединением к базе данных «metrics» для поддержки CollectD. Также нам надо будет скачать файл types.db и поместить его по адресу /usr/share/collectd/ (или в любую другую папку) для корректного определения данных, которые CollectD передает в родном формате.


Больше про CollectD в конфигурации можно прочесть в документации.

CollectD


CollectD в нашей мониторинговой инфраструктуре будет исполнять роль агрегатора данных, который упрощает передау данных до InfluxDB. По определению CollectD собирает метрики с CPU, оперативной памяти, жестких дисков, сетевых интерфейсов, процессов… Потенциал этой программы безграничен, особенно если учесть широкий выбор как уже доступных плагинов, так и набор запланированных.

Как можно видеть, установка CollectD проста:


Давайте проиллюстрируем работу CollectD упрощенным примером. Допустим, я хочу знать число процессов на моем узле. Для проверки этого CollectD совершит вызов API чтобы узнать число процессов за единицу времени (по определению это 5000 миллисекунд) и ничего более. Как только агрегатор получит данные, он передаст их для настройки в InfluxDB через модуль (под названием «Network»), который нам надо будет настроить.

Откройте нашим редактором файл /etc/collectd.conf , пролистайте до секции Network и отредактируйте его как указано ниже. Обязательно укажите IP по которому находится интерфейс InfluxDB ( INFLUXDB_IP ).


Я предлагаю изменить в файле конфигурации имя хоста, который пересылается InfluxDB (в нашей инфраструктуре это «централизованная» база данных, поскольку она расположена на одном узле). Таким образом, к нам не будут поступать лишние данные и исчезнет риск перезаписи данных другими узлами.


Grafana


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

Grafana это совместимый с широким набором баз данных (включая InfluxDB) свободно распространяемый инструмент по графическому отображению метрик, в котором пользователь может создавать оповещения об удовлетворении частью данных конкретного условия. Например, если ваш процессор достигает пиковых значений, оповещение может прийти вам в Slack, Mattermost, на почту и так далее. Более того, свои оповещения я настроил так, чтобы активно отслеживать каждый случай, когда кто-то «заходит» в мою инфраструктуру.

Grafana не требует каких-то особых настроек: как мы уже отметили ранее, InfluxDB «сканирует» переменную «time». Сама же интеграция очень проста: мы начнем с импорта публичного ключа чтобы добавить пакет с официального сайта Grafana (он зависит от вашей операционной системы):


Затем запустим его через systemctl:


Теперь, когда мы перейдем в браузере на страницу localhost:3000, мы должны будем увидеть интерфейс входа в Grafana. По определению, зайти можно через логин admin и пароль admin (после первого входа учетные данные рекомендуется сменить).


Давайте перейдем в раздел Sources (Источники) и добавим туда нашу базу данных Influx:



Теперь под надписью New Dashboard виднеется небольшой зеленый прямоугольник. Наведите на него свой курсор и выберите Add Panel (Добавить Панель), а затем Graph (График):


Теперь можно увидеть график с тестовыми данными. Нажмите на заголовок этой диаграммы и нажмите Edit(Изменить). С Grafana можно создавать умные запросы: вам не нужно знать каждое поле в базе, Grafana предложит их вам из списка подходящих для анализа параметров.

Писать запросы еще никогда не было так легко: просто выберите интересующую вас метрику и нажмите Refresh (Обновить). Еще я рекомендую разделить метрики по хостам, чтобы было проще изолировать проблемы. Если вам интересны другие идеи по созданию контрольных панелей, для вдохновения можно посетить сайт Grafana со всевозможными примерами.

Мы заметили, что Grafana это очень легко расширяемый инструмент, и он позволяет нам сравнивать очень разные по сравнению друг с другом данные. Нет ни одной метрики, которую нельзя было бы заполучить, так что вас ограничивает только ваша же изобретательность. Отслеживайте ваши устройства и получайте самый полный обзор вашей инфраструктуры в реальном времени!


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

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

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

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

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

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

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


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

Они являются частью TICK stack . ( T elegraf, I nfluxDB, C hronograf и K apacitor).

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Поздравляю!

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

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

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

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

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

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

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

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


Вот и все!

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также: