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]

Поделиться статьей:

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

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