Как узнать параметры текущего интернет соединения в линукс.
Проверено на сервере под управлением Debian 9.
Для работы скрипта устанавливаем из репозитория speedtest-cli. Проверяем его работу в консоли сервера.
Создаем объект Internet со свойствами:
Создаем сценарий speedInternet:
$provider = 'none';
$ip = '0.0.0.0';
$download = 0;
$upload = 0;
$on = 0;
$command = exec('/usr/bin/speedtest-cli', $out);
foreach ($out as $value) {
/* Поиск провайдера */
$provider_search = 'esting from ';
$provider_pos = strpos( $value, $provider_search);
if ($provider_pos > 0) {
/* Провайдер найден определяем внешний IP */
$tmp = explode('(', $value);
$ip = str_replace(')...', '', $tmp[1]);
/* Определяем провайдера */
$provider = str_replace('Testing from ', '', $tmp[0]);
}
/* Поиск Download */
$download_search = 'ownload: ';
$download_pos = strpos( $value, $download_search);
if ($download_pos > 0) {
$tmp = explode(' ', $value);
$download = $tmp[1];
$download_v = $tmp[2];
/* Доступ в интернет */
$on = 1;
}
/* Поиск Upload */
$upload_search = 'pload: ';
$upload_pos = strpos( $value, $upload_search);
if ($upload_pos > 0) {
$tmp = explode(' ', $value);
$upload = $tmp[1];
$upload_v = $tmp[2];
}
}
setGlobal('Internet.Provider', $provider);
setGlobal('Internet.Ip', $ip);
setGlobal('Internet.Download', $download);
setGlobal('Internet.Upload', $upload);
setGlobal('Internet.On', $on);
С помощью модуля Cron устанавливаем переодичность запуска сценария каждые 15 минут. Добавляем построение графиков с помощью модуля Charts.
Тверь, Россия