Як встановити InfluxDB на Ubuntu 24.04|22.04|20.04
Ласкаво просимо до нашого посібника про те, як встановити InfluxDB на систему Linux Ubuntu 22.04|20.04|18.04. InfluxDB — це платформа бази даних часових рядів з відкритим вихідним кодом для зберігання даних часових рядів, це метрики та події, зібрані з різних пристроїв. Він є продуктом InfluxData і частиною TICK Stack, до складу якого входять:
T – Telegraf; Це агент, написаний на Go для збору показників продуктивності системи, на якій він працює, і служб, що працюють у цій системі. Зібрані метрики виводяться в InfluxDB або інші підтримувані сховища даних.
I – InfluxDB
C – Chronograf; Веб-додаток, написаний на мові Go and React.js, який надає інструменти для візуалізації даних моніторингу та легкого створення правил оповіщення та автоматизації.
K – Kapacitor Двигун обробки даних. Він може обробляти як потокові, так і пакетні дані з InfluxDB
У своїх посібниках із серії моніторингу я зосередився на використанні:
- Телеграф для збору метрик із систем
- InfluxDB як сховище даних
- Grafana для візуалізації метрик
Встановіть InfluxDB на Ubuntu 22.04|20.04|18.04
Встановлення InfluxDB на Ubuntu22.04|20.04|18.04 виконується з репозиторію Influxdata. Після того, як репозиторій буде додано, пакет може бути встановлений за допомогою apt менеджера пакетів. Додайте репозиторій InfluxData до файлу /etc/apt/sources.list.d/influxdb.list :
Перш ніж ви почнете, оновіть індекс системного репозиторію APT.
sudo apt update
Імпортувати ключ репозиторію GPG.
curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/influxdata.gpg
Потім додайте репозиторій InfluxDB APT.
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
Оновіть apt index та встановіть InfluxDB на Ubuntu 22.04|20.04|18.04:
sudo apt update && sudo apt install influxdb2
Запустіть і увімкніть запуск служби при завантаженні:
sudo systemctl enable --now influxdb
Перевірити статус послуги:
$ systemctl status influxdb
● influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2023-08-19 09:20:14 UTC; 5s ago
Docs: https://docs.influxdata.com/influxdb/
Process: 9335 ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh (code=exited, status=0/SUCCESS)
Main PID: 9336 (influxd)
Tasks: 8 (limit: 4523)
Memory: 46.5M
CPU: 625ms
CGroup: /system.slice/influxdb.service
└─9336 /usr/bin/influxd
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.301686Z lvl=info msg="Open store (end)" log_id=0jkHMyRW000 service=storage-engine service=store op_name=tsdb_open op_eve>
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.301918Z lvl=info msg="Starting retention policy enforcement service" log_id=0jkHMyRW000 service=retention check_interval>
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.302172Z lvl=info msg="Starting precreation service" log_id=0jkHMyRW000 service=shard-precreation check_interval=10m adva>
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.303778Z lvl=info msg="Starting query controller" log_id=0jkHMyRW000 service=storage-reads concurrency_quota=1024 initial>
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.310436Z lvl=info msg="Configuring InfluxQL statement executor (zeros indicate unlimited)." log_id=0jkHMyRW000 max_select>
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.319793Z lvl=info msg=Starting log_id=0jkHMyRW000 service=telemetry interval=8h
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9336]: ts=2023-08-19T09:20:14.322095Z lvl=info msg=Listening log_id=0jkHMyRW000 service=tcp-listener transport=http addr=:8086 port=8086
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9359]: Command "print-config" is deprecated, use the influx-cli command server-config to display the configuration values from the running server
Aug 19 09:20:14 jammy influxd-systemd-start.sh[9335]: InfluxDB started
Aug 19 09:20:14 jammy systemd[1]: Started InfluxDB is an open-source, distributed, time series database.
Відкрийте сервісні порти influxdb на брандмауері
За замовчуванням InfluxDB використовує наступні мережеві порти:
- TCP-порт 8086 використовується для зв’язку клієнт-сервер через HTTP API InfluxDB
- TCP-порт 8088 використовується для служби RPC для резервного копіювання та відновлення
Якщо у вас запущена служба UFW, вам потрібно буде відкрити порт 8086, оскільки telegraf буде надсилати показники за допомогою цього порту.
sudo ufw allow 8086/tcp
Файл конфігурації за замовчуванням InfluxDB знаходиться в розділі /etc/influxdb/influxdb.conf. Більшість розділів закоментовані, ви можете доопрацювати його на свій смак і перезапустити сервіс influxdb після.
Налаштування InfluxDB
Запустіть скрипт конфігурації.
$ sudo influx setup
> Welcome to InfluxDB 2.0!
? Please type your primary username admin
? Please type your password **********
? Please type your password again **********
? Please type your primary organization name Infoit
? Please type your primary bucket name mybucket
? Please type your retention period in hours, or 0 for infinite 0
? Setup with these parameters?
Username: admin
Organization: Infoit
Bucket: mybucket
Retention Period: infinite
Yes
User Organization Bucket
admin Infoit mybucket
root@jammy:~#
Відкрийте веб-браузер і перейдіть за посиланням: http://server_or_hostname:8086
Ви можете переглянути параметри, доступні в інтерфейсі користувача.
У розділі “Завантажити дані” ви можете отримати посилання на те, як налаштувати ваші програми для відправки даних в Telegraf.