В этом примере мы настроим отслеживание температуры процессора вашего сервера, ПК или майнинг-фермы, работающих под управлением Linux, и автоматическую отправку данных в VizIoT.
Статья подойдёт для:
Компьютер с Linux
Утилиты:
nano — текстовый редакторgrep — фильтрация текста в командной строкеcurl — отправка HTTP-запросовlm_sensors — получение температуры CPU и датчиковcron — автоматический запуск задачСоздайте новое устройство с именем «Тест температура процессора».
Добавьте параметры (пример для четырёхъядерного CPU):
phys0 — Температура CPUcore0 — Температура ядра 0core1 — Температура ядра 1core2 — Температура ядра 2core3 — Температура ядра 3В «Основных настройках» скопируйте:
Эти данные понадобятся в скрипте.
Обычно lm_sensors и curl уже установлены, но если нет — установите вручную.
sudo yum install lm_sensors curl
sudo apt-get install lm-sensors curl
После установки выполните автоматическую конфигурацию:
sudo sensors-detect
На все вопросы можно нажимать Enter, соглашаясь с вариантами по умолчанию.
Теперь выведите температуры:
sensors
Пример вывода:
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +29.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +23.0°C
Core 1: +26.0°C
Core 2: +24.0°C
Core 3: +24.0°C
Например, получим температуру ядра 0:
sensors | grep -Eo '^Core 0: +\+[0-9]+\.[0-9]+' | grep -Eo '\+[0-9]+\.[0-9]+'
Ручной пример запроса:
curl --silent "https://viziot.com/update?key=_____&pass=_____&temp=28" > /dev/null
Откройте файл:
nano /var/viziot.sh
Вставьте содержание:
key='_____________'
pass='_________________'
phys0=$(sensors | grep -Eo '^Physical id 0: +\+[0-9]+\.[0-9]+' | grep -Eo '[0-9]+\.[0-9]+')
core0=$(sensors | grep -Eo '^Core 0: +\+[0-9]+\.[0-9]+' | grep -Eo '[0-9]+\.[0-9]+')
core1=$(sensors | grep -Eo '^Core 1: +\+[0-9]+\.[0-9]+' | grep -Eo '[0-9]+\.[0-9]+')
core2=$(sensors | grep -Eo '^Core 2: +\+[0-9]+\.[0-9]+' | grep -Eo '[0-9]+\.[0-9]+')
core3=$(sensors | grep -Eo '^Core 3: +\+[0-9]+\.[0-9]+' | grep -Eo '[0-9]+\.[0-9]+')
curl --silent "https://viziot.com/update?key=$key&pass=$pass&phys0=$phys0&core0=$core0&core1=$core1&core2=$core2&core3=$core3" > /dev/null
Сохраните файл и сделайте его исполняемым:
chmod +x /var/viziot.sh
Откройте crontab:
crontab -e
Добавьте запуск скрипта каждую минуту:
0-59 * * * * /var/viziot.sh
Теперь данные будут обновляться автоматически.
Создайте панель с именем «Тест Сервер».
Добавьте виджет «Температура процессора»:
phys0, core0, core1, core2, core3Теперь ваш сервер автоматически отправляет температуру процессора на VizIoT, где вы можете: