Установка 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.
