Zabbix

Speedtest и Zabbix

Появилась задача – мониторинг скорости канала интернета. Решение решил сделать на Zabbix. В качестве замера скорости будет выступать speedtest-cli в виде консольной утилиты.

Установка Speedtest-cli.

Самое просто это установка, но нет!

Такая установка выдает ошибку: Unable to locate package speedtest-cli

На Ubuntu 16 установить не получилось, зато на версии 18 установка прошла без ошибок.

В итоге установку сделал через pip.

Если в процессе работы потребуется произвести обновление speedtest, то команда для обновления выглядит так:

Проверяем:

Или если убрать –bytes

Мне больше понравилось Mbit/s измерять скорость, как то привычнее.

Конфигурация Zabbix агента.

Теперь научим Zabbix понимать что мы хотим, внесем пользовательские значения в конфигурацию агента. Я обычно добавляю в самый низ.

Так же добавляем возможность выполнения удаленных команд:

Перезапустим агент, что бы он принял новую конфигурацию.

Настройка планировщика (crontab).

Теперь когда будет происходить замер скорости, данные будут записываться в файл, а Zabbix их забирать к себе в базу и строить графики. Но для начала настроим автоматизацию получения этих данных, к примеру через планировщик.

Необходимо для начала узнать путь до speedtest-cli, делается командой whereis.

Редактируем crontab.

Вносим следующую строчку, которая будет каждые 25 минут запускать за нас speedtest.

Настройка Zabbix.

Переходим к настройке web интерфейса Zabbix. Нам нужен узел самого Zabbix, в нем и будем добавлять новые элементы данных, если быть точнее, то всего требуется добавить два элемента.

Имя: Download

Ключ: download

Единица измерения: Mbit/s

Интервал обновления: 30m
Аналогично и для второго элемента, только с другим названием:

Имя: Upload

Ключ: upload

Единица измерения: Mbit/s

Интервал обновления: 30m
В случае ошибки of type “string” is not suitable for value type “Numeric (unsigned)” нужно поменять значение с Числовой (целое положительное) на числовое (с плавающей точкой).

P.S.

В итоге получаем следующую картину:

  • Speedtest-cli производит замер скорости каждые 25 минут и записывает результат в файл.
  • Zabbix каждые 30 минут считывает значения из файла.

Почему разница в 5 минут? Я подумал, что может произойти рассинхронизация и данные будут не корректны.

Графики скорости.

Параметры speedtest-cli.

usage: speedtest-cli [-h] [–no-download] [–no-upload] [–bytes] [–share]
[–simple] [–csv] [–csv-delimiter CSV_DELIMITER]
[–csv-header] [–json] [–list] [–server SERVER]
[–exclude EXCLUDE] [–mini MINI] [–source SOURCE]
[–timeout TIMEOUT] [–secure] [–no-pre-allocate]
[–version]

Один комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку Отправить комментарий Я даю согласие на обработку персональных данных.