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функцию, чтобы блокировать любые порты, идущие на порт 8888TCP, и добавим правило исключения для IP-адреса нашего клиента, которое должно быть разрешено для его просмотра.
Поскольку другие установленные службы прослушивают только IP-адрес обратной связи ( 127.0.0.1), мы не обязаны явно блокировать поступающие на него запросы.
Вывод
Chronograf - это очень гибкий и красивый инструмент для визуализации метрик, в комплекте с приличными пакетами оповещений и сбора данных, создающими достойное решение для мониторинга.