Поиск по сайту:

Как установить InfluxDB и Telegraf на Rocky Linux 9


На этой странице

  1. Предпосылки
  2. Настройка репозитория
  3. Установка InfluxDB
  4. Установка интерфейса командной строки influxdb
  5. Настройка InfluxDB через интерфейс командной строки InfluxDB
  6. Защита InfluxDB с помощью TLS
  7. Сбор данных через Telegraf
  8. Визуализация данных и создание информационной панели
  9. Заключение

InfluxDB — это база данных временных рядов с открытым исходным кодом, написанная на Go. Это высокопроизводительная платформа временных рядов, специально созданная для сбора, хранения, обработки и визуализации данных временных рядов. InfluxDB — это идеальное решение для баз данных временных рядов, оно предоставляет высокопроизводительный механизм данных временных рядов со встроенным мощным API для создания приложений реального времени. InfluxDB — это платформа, которая используется для мониторинга операций, показателей производительности приложений и серверов, данных датчиков IoT и аналитики в реальном времени.

В этом руководстве вы установите базу данных временных рядов с открытым исходным кодом influxdb и Telegraf на сервер Rocky Linux 9. Вы также защитите развертывание influxdb с помощью аутентификации и сертификатов TLS, настроите интерфейс командной строки influxdb и соберете метрики через агента Telegraf. В конце этого руководства вы создадите и визуализируете базу данных временных рядов influxdb с помощью панели управления influxdb.

Предпосылки

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

  • Сервер Rocky Linux 9.
  • Пользователь без полномочий root с правами администратора sudo/root.
  • SELinux с разрешительным режимом.

Настройка репозитория

InfluxDB — это база данных временных рядов с открытым исходным кодом, которую можно развернуть в нескольких средах, включая виртуальные машины с Linux, Windows и macOS. А также контейнерные среды, такие как Docker и Kubernetes.

Чтобы установить influxdb в Linux, вы можете установить его вручную с помощью бинарного пакета или установить его через репозиторий influxdb. На этом этапе вы установите influxdb через официальный репозиторий influxdb.

Выполните следующую команду, чтобы добавить репозиторий influxdb в вашу систему Rocky Linux.

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = influxdb Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

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

sudo dnf repolist

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

Установка InfluxDB

После добавления репозитория influxdb вы установите пакет influxdb в свою систему Rocky Linux, запустите службу influxdb и включите ее.

Запустите следующую команду dnf ниже, чтобы установить пакет influxdb v2. На момент написания этой статьи вы установите последнюю версию influxdb v2.5.1.

sudo dnf install influxdb2

При появлении запроса введите y для подтверждения и нажмите ENTER для продолжения.

Кроме того, при запросе ключа GPG influxdb введите y для подтверждения и нажмите ENTER.

После установки influxdb запустите приведенную ниже команду systemctl, чтобы запустить и включить службу influxdb.

sudo systemctl start influxdb
sudo systemctl enable influxdb

Теперь служба influxdb должна быть запущена и включена. И он запустится автоматически при загрузке.

Проверьте службу influxdb с помощью приведенной ниже команды. Затем вы увидите, что служба influxdb запущена и включена.

sudo systemctl status influxdb

По умолчанию служба influxdb работает на TCP-порту 8085. Теперь, когда influxdb работает, вам нужно добавить порт influxdb в файл firewalld.

Запустите приведенную ниже команду firewall-cmd, чтобы добавить порт 8086 в файл firewalld.

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

Теперь перезагрузите firewalld, чтобы применить новые изменения. Затем проверьте состояние firewalld, чтобы убедиться, что порт influxdb добавлен в файл firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

Вы получите следующий вывод: Порт 8089 influxdb добавлен в файл firewalld.

После установки influxdb и настройки брандмауэра вы установите и настроите интерфейс командной строки influxdb, который будет использоваться для управления influxdb через командную строку.

Установка интерфейса командной строки influxdb

После установки базы данных временных рядов influxdb вы установите командную строку influxdb2-cli или influxdb. Influxdb2-cli предоставляет интерфейс командной строки, который позволяет вам управлять администрированием influxdb, например, управлять сегментами, организациями, пользователями, задачами и т. д.

Выполните следующую команду dnf, чтобы установить пакет influxdb2-cli.

sudo dnf install influxdb2-cli

Введите y, когда будет предложено подтверждение, и нажмите ENTER, чтобы продолжить.

После установки influxdb2-cli выполните приведенную ниже команду, чтобы проверить двоичный файл inlfuxdb2-cli и проверить версию influxdb-cli.

which influx
influx version

Такой вывод будет напечатан на вашем экране — двоичный файл influxdb2-cli доступен по адресу /bin/influx, а текущая версия influxdb2-cli, установленная в вашей системе, — v2.5.0.

Influxdb2-cli обеспечивает завершение команд для нескольких оболочек, таких как bash и zsh. Большинство машин Linux используют оболочку bash по умолчанию. Итак, вы настроите завершение команды influxdb2-cli для оболочки bash.

Запустите приведенную ниже команду, чтобы сгенерировать завершение команды influxdb2-cli для /etc/bash_completion.d/influx.sh. Затем сделайте файл /etc/bash_completion.d/influx.sh исполняемым с помощью команды chmod.

sudo influx completion bash > /etc/bash_completion.d/influx.sh
sudo chmod +x /etc/bash_completion.d/influx.sh

Теперь, если вы введете команду influx в своей системе и нажмете TAB, вы увидите доступные параметры для команды influx.

sudo influx TAB

На данный момент вы установили базу данных временных рядов influxdb и influxdb2-cli в вашей системе Rocky Linux. Затем вы настроите установку influxdb через influxdb2-cli.

Настройка InfluxDB через CLI InfluxDB

На этом шаге вы настроите установку influxdb через файл influxdb2-cli. Вы настроите пользователя и пароль администратора influxdb, настроите корзину или базу данных по умолчанию, проверите пользователя списка и аутентификацию на influxdb. Вы также узнаете, как подключиться к оболочке influxdb с помощью команды influx и токена пользователя, а также получить доступ к панели веб-администрирования influxdb через веб-браузер.

Сначала выполните следующую команду influx, чтобы начать настройку развертывания influxdb.

sudo influx setup

Теперь вас спросят о конфигурации influxdb ниже:

  • Настройка пользователя-администратора — введите новое имя пользователя для вашего сервера influxdb. В этом примере Алиса используется в качестве пользователя-администратора для influxdb.
  • Установите пароль администратора. Введите новый пароль администратора для развертывания influxdb и повторите пароль.
  • Укажите название организации — введите название вашей организации. В этом примере организация — HW.IO.
  • Настройте имя основной корзины, которую вы создадите. Введите имя корзины для установки по умолчанию. В этом примере имя корзины — test-bucket.
  • Настройте срок хранения для influxdb. Введите 0, чтобы указать бесконечность.
  • Теперь введите Да, чтобы подтвердить базовые настройки influxdb.

Ниже приведен полный вывод во время настройки influxdb с помощью команды influx.

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

sudo influx user list
sudo influx auth list

Вывод ниже подтверждает, что пользователь-администратор influxdb alice создан, а также вы должны увидеть данные аутентификации для пользователя alice, включая идентификатор аутентификации, токен и разрешения.

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

Прежде чем войти в оболочку influxdb, выполните приведенную ниже команду, чтобы создать переменную среды INFLUX_TOKEN. И обязательно измените токен в приведенной ниже команде на свой токен.

export INFLUX_TOKEN=FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g==

Теперь войдите в оболочку influxdb с помощью команды influx ниже. После входа в систему вы должны увидеть сообщение, такое как Connected to InfluxDB OSS v2.5.1.

sudo influx v1 shell $INFLUX_TOKEN

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

show DATABASES

И вы должны получить базу данных тестового сегмента, доступную на сервере influxdb.

Теперь вы можете нажать q, чтобы выйти из интерактивного режима, и ввести exit, чтобы выйти из оболочки influxdb.

Затем вы также можете получить доступ к администрированию influxdb из веб-браузера.

Откройте веб-браузер и перейдите на IP-адрес сервера influxdb, за которым следует порт 8086 (например, http://192.168.5.100:8086). Теперь вы должны получить страницу входа в influxdb.

Введите пользователя и пароль influxdb, которые вы создали в процессе установки influxdb, и нажмите «ВОЙТИ». В этом примере пользователем-администратором является alice.

После входа в систему вы должны увидеть веб-панель администрирования influxdb.

В меню слева нажмите \Загрузить данные\ и выберите вкладку \Корзины\. И вы должны увидеть, что тестовая корзина доступна на сервере influxdb.

После завершения базовой настройки influxdb вы приступите к добавлению уровня безопасности в influxdb, включив безопасное соединение через сертификаты TLS.

Защита InfluxDB с помощью TLS

После завершения базовой настройки сервера influxdb вам необходимо защитить развертывание influxdb с помощью сертификатов SSL/TLS. Затем вы обновите конфигурацию/профиль influx по умолчанию с помощью нового защищенного сервера influxdb.

Прежде чем начать, убедитесь, что вы создали сертификаты SSL/TLS. Вы можете использовать самозаверяющие SSL/TLS-сертификаты или использовать сгенерированные SSL-сертификаты сторонних производителей, таких как Letsencrypt.

Сначала создайте новый каталог для хранения сертификатов SSL/TLS /etc/influxdb/ssl.

mkdir -p /etc/influxdb/ssl

Теперь скопируйте сертификаты SSL/TLS в каталог /etc/influxdb/ssl и измените владельца каталога /etc/influxdb/ssl на пользователя influx.

cp /etc/letsencrypt/live/influxdb.hwdomain.io/{fullchain.pem,privkey.pem} /etc/influxdb/ssl/
sudo chown -R influx: /etc/influxdb/ssl

После копирования сертификатов SSL/TLS откройте файл конфигурации influxdb /etc/influxdb/config.toml с помощью следующей команды редактора nano.

sudo nano /etc/influxdb/config.toml

Добавьте в файл следующие строки.

tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

сохраните файл и выйдите из редактора, когда закончите.

Затем выполните приведенную ниже команду systemctl, чтобы перезапустить службу influxdb и применить новые изменения.

sudo systemctl restart influxdb

Теперь, когда influxdb работает с включенным TLS, вы не сможете запрашивать и управлять сервером influxdb через командную строку influx. Чтобы решить эту проблему, вы должны обновить профиль притока по умолчанию в вашей системе.

Выполните следующую команду, чтобы обновить конфигурацию/профиль по умолчанию в среде притока. В этом примере вы обновите URL-адрес до https://influxdb.hwdomain.io:8086 с включенным безопасным SSL/TLS и обновите токен с помощью переменной среды INFLUX_TOKEN и организацию на HW.IO.

sudo influx config set -a -n default -u https://influxdb.hwdomain.io:8086 -t $INFLUX_TOKEN -o HW.IO

Проверьте список конфигураций/профилей притока, используя приведенную ниже команду. Теперь вы должны увидеть, что URL-адрес изменен на https://influxdb.hwdomain.io:8086, который включен SSL/TLS на сервере influxdb.

sudo influx config ls

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

sudo influx user list
sudo influx auth list

Предположим, что конфигурация/профиль притока обновлены правильно. В этом случае вы должны получить список пользователей и аутентификацию на сервере influxdb, и вы подключились к серверу influxdb через безопасное соединение SSL/TLS.

На этом вы завершили установку и настройку сервера influxdb в Rocky Linux и обеспечили развертывание influxdb с помощью сертификатов SSL/TLS. Затем вы начнете собирать данные и показатели через телеграф, а затем визуализировать данные временных рядов influxdb, создав панель инструментов.

Сбор данных через Телеграф

Telegraf является частью платформы временных рядов, созданной influxdata. Это серверный агент с открытым исходным кодом для сбора и отправки метрик и событий из нескольких сред, таких как датчики IoT, системы баз данных, системная телеметрия, а также инструменты и платформы DevOps. Telegraf скомпилирован в виде одного бинарного файла и написан на Go, нет необходимости во внешних зависимостях для установки.

На этом этапе вы установите telegaf на сервер Rocky Linux и настроите его для отправки метрик на сервер influxdb.

Telegraf доступен в репозитории influxdb. Перед установкой телегафа убедитесь, что репозиторий influxdb добавлен в вашу систему.

Теперь запустите приведенную ниже команду dnf, чтобы установить телеграф в вашу систему. При запросе подтверждения введите y и нажмите ENTER, чтобы продолжить.

sudo dnf install telegraf

После установки телеграфа запустите и включите службу телеграфа с помощью команды systemctl ниже.

sudo systemctl start telegraf
sudo systemctl enable telegraf

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

sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

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

Теперь, когда телеграф запущен, вы должны добавить сервер influxdb в конфигурацию телеграфа.

Откройте конфигурацию телеграфа /etc/telegraf/telegraf.conf с помощью приведенной ниже команды редактора nano.

sudo nano /etc/telegraf/telegraf.conf

В разделе [[outputs.influxdb_v2]] добавьте URL-адрес, токен, организацию и имя корзины с данными сервера influxdb.

 [[outputs.influxdb_v2]]
#   ## The URLs of the influxdb cluster nodes.
.........
#   ###   ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
   urls = ["https://influxdb.hwdomain.io:8086"]
#
#   ## Token for authentication.
   token = "FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g=="
#
#   ## Organization is the name of the organization you wish to write to.
   organization = "HW.IO"
#
#   ## Destination bucket to write into.
   bucket = "test-bucket"

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните приведенную ниже команду systemctl, чтобы перезапустить службу телеграфа и применить новые изменения. Теперь сервис телеграфа будет собирать метрики вашей системы и отправлять собранные метрики на сервер influxdb.

sudo systemcl restart telegraf

Теперь вы можете проверить установку телеграфа и influxdb через панель управления веб-администрирования influxdb и оболочку influxdb.

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

Проверьте метрики телеграфа через оболочку influxdb — подключитесь к оболочке influxdb с помощью приведенной ниже команды influx.

sudo influx v1 shell

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

use test-bucket
SHOW MEASUREMENTS

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

После завершения установки и настройки телеграфа метрики доступны на сервере influxdb. Теперь вы можете настроить новую панель мониторинга и начать мониторинг своего сервера через telegraf и influxdb.

Визуализация данных и создание информационной панели

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

Для начала выберите меню Dashboard и нажмите CREATE DASHBOARD.

Введите имя панели инструментов и нажмите ДОБАВИТЬ ЯЧЕЙКУ. В этом примере вы создадите тестовую панель мониторинга.

Теперь вы можете начать добавлять новые ячейки для мониторинга вашей системы. Ниже приведены примеры графиков для мониторинга системы через телеграф.

Ниже приведены настройки графика для доступной памяти и использования памяти.

Ниже приведены настройки графика для мониторинга процесса.

Ниже приведен график загрузки системы.

Ниже простой график времени безотказной работы.

Ниже приведен график активности пользователя.

Наконец, ниже приведен график доступных процессоров в системе.

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

Заключение

В этом руководстве вы установили базу данных временных рядов influxdb и influxdb2-cli на сервер Rocky Linux 9. Вы также защитили развертывание influxdb с помощью сертификатов SSL/TLS и настроили сервер influxdb с помощью командной строки influx.

Кроме того, вы установили и настроили телеграф для сбора и отправки метрик на сервер influxdb через безопасное соединение SSL/TLS. И, наконец, вы создали панель мониторинга системы через сервер influxdb и телеграф.

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