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

Установка Grafana, InfluxDB и Telegraf с использованием Docker


Я использую PRTG для мониторинга нашей сети уже более 5 лет, но мне никогда не нравился внешний вид и удобство панелей управления. Поэтому, когда мы переехали в новый офис, пришло время получить что-то красивое на стене.

С помощью Grafana вы можете создать действительно красивую панель управления, используя данные из различных источников. Если у вас есть среда Windows, то самый быстрый способ начать работу - это использовать Docker.

Установка Docker

Скачайте здесь последнюю версию Docker для Windows 10 Pro 64bit и установите её. Вы можете использовать Powershell или Kitematic для управления вашими контейнерами Docker. Если вы новички в Docker, Kitematic — это простой способ начать.

Установка Grafana

Если вы используете Kitematic, вы можете просто нажать +новый и поискать Grafana. Вы получите много контейнеров на выбор, Grafana-xxl является хорошим выбором, так как содержит много плагинов. После установки контейнера вы можете установить тома, чтобы сопоставить файл конфигурации и местоположение хранения с вашим хостом.

При использовании PowerShell установите Grafana следующим образом:

docker run -d -p 3000:3000 `
    -v /var/lib/grafana:/var/lib/grafana `
    -e "GF_SECURITY_ADMIN_PASSWORD=admin" `
    grafana/grafana

Больше информации об установке здесь

После завершения вы можете получить доступ к Grafana по адресу http://localhost:3000 и войти с помощью admin/

Установка InfluxDB

Снова, если вы используете Kitematic, просто нажмите +новый и найдите InfluxDB. Просто выберите официальный. В настройках убедитесь, что вы сопоставили папку /var/lib/influxdb с вашим хостом.

Если вы выберете способ с PowerShell:

docker run -p 8086:8086 `
      -v $PWD:/var/lib/influxdb `
      influxdb`

Измените $PWD на вашу папку хоста. Дополнительная информация об установке здесь

Если вы используете Kitematic, вы можете получить доступ к оболочке Influx, перейдя в раздел Exec в верхней панели. Это откроет окно Powershell. Введите influx, чтобы подключиться к CLI InfluxDB.

Создайте базу данных с помощью CREATE DATABASE mydb. Проверьте, создана ли база данных с помощью Show Databases. Мы собираемся добавить в нее некоторые тестовые данные, чтобы проверить, все ли работает в Grafana, прежде чем мы продолжим:

Select the database you just created
USE mydb

Add some data to it (repeat it a couple of times so you can display a line chart later on)
INSERT cpu,host=serverA,region=us_west value=0.64

Вы можете найти больше информации о оболочке InfluxDB здесь

Отобразите данные в Grafana

Откройте Grafana (http://localhost:3000) и перейдите к источникам данных. Добавьте ваш InfluxDB здесь:

Имя: mydb
Тип: influxdb
URL: http://localhost:8086
Доступ: Прямой
База данных: mydb

Перейдите на панель управления и добавьте к ней график. Используйте следующую метрику:

Вы должны увидеть небольшой линейный график.

Сбор данных с помощью Telegraf

Чтобы собирать телеметрию и метрики серверов, сетевых устройств и приложений, вы можете использовать Telegraf. Это отправит их в хранилище временных рядов, такое как InfluxDB.

Вы можете снова установить Docker с помощью Kitematic, просто добавьте новый и выполните поиск. У меня возникли некоторые проблемы с сопоставлением конфигурационного файла, поэтому я в конечном итоге открыл exec и использовал VI, чтобы изменить telegraf.conf.

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

mkdir telegraf
docker run --rm telegraf -sample-config > telegraf/telegraf.conf

Откройте файл конфигурации telegraf/telegraf.conf и найдите раздел [[outputs.influxdb]]. Измените параметр url, чтобы он указывал на вашу инстанцию influxdb. Я пробовал использовать localhost:8086, но это, похоже, не сработало, поэтому в конечном итоге я добавил сюда IP-адрес хост-машины.

urls = ["http://10.0.75.1:8086"] # required
database = "telegraf" # required

По умолчанию Telegraf будет захватывать использование CPU, памяти и сети своего хост-машины (в данном случае Docker-контейнера). Запустите контейнер Telegraf с:

Docker run -v telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro telegraf

Теперь вы должны увидеть, как некоторые данные поступают в вашу InfluxDB. Вернитесь в Grafana и добавьте новый источник данных InfluxDB с базой данных Telegraf.

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