Chronograf - это средство сбора данных временных рядов, аналогичное Grafana, которое использует InfluxDB в качестве своего бэкэнда. Chronograf - это гораздо больше, чем просто инструмент визуализации данных; через Kapacitor предоставляется целый бэкэнд для оповещения и мониторинга.
Установка
инструменты
В этом руководстве используются различные инструменты для различных целей, поэтому убедитесь, что в вашей системе установлены следующие пакеты.
sudo apt-get install wget curl
InfluxDB
Поскольку Chronograf полагается на InfluxDB в качестве основного источника данных, мы должны сначала установить последнюю версию. Его можно заархивировать, просто загрузив и установив предварительно созданный .deb
файл.
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb
sudo dpkg -i influxdb_1.2.4_amd64.deb
Если установка прошла успешно, мы можем продолжить с включения и запуска службы systemctl
.
sudo systemctl enable influxdb
sudo systemctl start influxdb
Чтобы убедиться, что служба работает правильно, мы можем вызвать следующую команду, подключившись напрямую к InfluxDB HTTP API
.
curl "http://localhost:8086/query?q=show+databases"
Если все в порядке, вывод должен выглядеть примерно так:
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"]}]}]}
Если вы столкнулись с ошибкой при выполнении вышеуказанной команды, убедитесь, что InfluxDB включен и правильно запущен, и повторите попытку.
Kapacitor
Kapacitor обеспечивает большую часть функциональности Chronograf. В частности, он отвечает за отправку оповещений. Уведомления могут быть отправлены с использованием различных различных услуг , начиная от SMTP
к Slack
и HipChat
. Этот пакет также предоставляется через предварительно созданный .deb
файл.
wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.3.1_amd64.deb
sudo dpkg -i kapacitor_1.3.1_amd64.deb
Включите и запустите сервис, используя systemctl
.
sudo systemctl enable kapacitor
sudo systemctl start kapacitor
Чтобы убедиться, что все установлено правильно, мы можем вызвать следующую команду, которая обычно возвращает текущие поставленные в очередь задачи.
kapacitor list tasks
Убедитесь, что вывод выглядит как этот текст.
ID Type Status Executing Databases and Retention Policies
В случае возникновения ошибки будет показан подробный отчет об ошибке.
Telegraf
После установки InfluxDB
и Kapacitor
успешно, мы можем продолжить с установкой Telegraf
. Telegraf отвечает за сбор всех метрик, которые в дальнейшем будут визуализироваться через Chronograf.
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.3.2-1_amd64.deb
sudo dpkg -i telegraf_1.3.2-1_amd64.deb
Включите и запустите службу.
sudo systemctl enable telegraf
sudo systemctl start telegraf
Дважды проверьте исходную конфигурацию, предоставленную при установке. Откройте /etc/telegraf/telegraf.conf
и убедитесь, что строки ниже отражают вашу конфигурацию.
urls = ["http://localhost:8086"]
database = "telegraf"
Chronograf
Далее мы продолжим установку core-пакета Chronograf.
wget https://dl.influxdata.com/chronograf/releases/chronograf_1.3.3.0_amd64.deb
sudo dpkg -i chronograf_1.3.3.0_amd64.deb
После этого сервис может быть включен и запущен.
sudo systemctl enable chronograf
sudo systemctl start chronograf
Чтобы убедиться, что установка прошла успешно, укажите в своем браузере http://<server-ip>:8888
страницу начальной настройки, на которой мы продолжим.
Начальная настройка
Введите сведения о подключении InfluxDB. Заполните доступные формы, как указано ниже.
"Connection String" - http://localhost:8086
"Name" - InfluxDB
"Telegraf Database" - telegraf
Не забудьте также установить флажок с надписью Make this the default source
.
Kapacitor
Нажмите на значок шестерни на левой панели навигации (последний пункт). Под Active Kapacitor
колонкой нажмите Add config
. Заполните предоставленную форму, используя значения ниже.
"Kapacitor URL" - http://localhost:9092
"Name" - Kapacitor
Теперь вы можете продолжить добавление конечных точек оповещений через предоставленную форму.
Добавить другие хосты
Чтобы добавить другие хосты в Chronograf с использованием SNMP, мы должны внести изменения в нашу конфигурацию Telegraf и установить несколько необходимых плагинов.
sudo apt-get install snmp snmp-mibs-downloader
После авторизации хоста, на котором запущен Chronograf на другом хосте, мы можем добавить указанный хост в нашу конфигурацию Telegraf, используя строки ниже.
[[inputs.snmp]]
agents = [ "<ip-address-of-other-host>:161" ]
version = 2
community = "<snmp-community>"
name = "snmp"
[[inputs.snmp.field]]
name = "hostname"
oid = "RFC1213-MIB::sysName.0"
is_tag = true
[[inputs.snmp.table]]
name = "snmp"
inherit_tags = [ "hostname" ]
oid = "IF-MIB::ifXTable"
[[inputs.snmp.table.field]]
name = "ifName"
oid = "IF-MIB::ifName"
is_tag = true
Это, в частности, отслеживает все показатели, такие как использование ЦП, использование памяти и использование сети, по каждому интерфейсу с подробной статистикой, включая такие значения, как одноадресные пакеты и ошибки интерфейса.
Межсетевой экран
На данный момент Chronograf не предоставляет классическую систему аутентификации, такую как username
и password
аутентификация. Чтобы обеспечить безопасность нашей установки, мы будем использовать эту Vultr Firewall
функцию, чтобы блокировать любые порты, идущие на порт 8888
TCP, и добавим правило исключения для IP-адреса нашего клиента, которое должно быть разрешено для его просмотра.
Поскольку другие установленные службы прослушивают только IP-адрес обратной связи ( 127.0.0.1
), мы не обязаны явно блокировать поступающие на него запросы.
Вывод
Chronograf - это очень гибкий и красивый инструмент для визуализации метрик, в комплекте с приличными пакетами оповещений и сбора данных, создающими достойное решение для мониторинга.