Состояние системы Debian

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Состояние системы Debian

Сообщение Volter5000 » Пн мар 27, 2017 12:43 am

Доброго времени суток. Являюсь новичком в использовании таких систем. У меня такая конфигурация: НЕНУЖНЫЙ НОУТБУК + ДЕБИАН + АПАЧИ + МАЖОРДОМО. Потихоньку разбираюсь со всеми возможностями. Уже частично научился по средством голоса взаимодействовать с системой, настроил погоду и подрубил веб камеру. Так как часто нахожусь в разъездах очень удобно следить за домом, но и за сервером тоже следить нужно, особенно летом. Подскажите, как мне вывести состояние системы (температуру, загруженность и т.д) на дашборд или на отдельную станицу в меню, было бы наверное вообще круто еще и с графиками. Который день не могу это сделать, даже не нашел за что зацепиться. По форуму находил информацию как подобное делают для малины или оранжа, в общем на АРМ, а на Х64 не нашел ничего подобного.
Уважаемые гуру помогите решить вопрос или дайте солидный пинок в нужное направление.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Состояние системы Debian

Сообщение skysilver » Пн мар 27, 2017 10:02 am

Если речь про сбор данных о системе, то плохо искали. Обсуждалось неоднократно. ARM или не ARM - не важно. Суть везде одна - распарсить вывод консольных команд линукса с помощью регулярных выражений php. Большинство используемых на форуме ОС - это debian-based ОС, поэтому практически любой пример можно брать за основу.
Примеров на форуме полно:
viewtopic.php?f=4&t=2629&p=27562&hilit=hddtemp#p27553
viewtopic.php?f=3&t=2243&p=21252&hilit= ... ime#p21252
Также есть примеры в Connect.
За это сообщение автора skysilver поблагодарил:
Volter5000 (Пн мар 27, 2017 3:33 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Состояние системы Debian

Сообщение Volter5000 » Пн мар 27, 2017 3:01 pm

Спасибо. Вечером попробую, эта информация мне не попадалась.
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Состояние системы Debian

Сообщение Volter5000 » Ср мар 29, 2017 10:37 am

Если не сложно могли бы Вы подробней написать что мне делать, код из перврй ссылки я так понимаю необходимо добавить в сценарии. Это я зделал, а что дальше я не пойму. В линуксе вроде не новичек, но вот как ПХП взаимодействует с железом я не могу пока освоить... Заранее благодарствую)
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1754 раза
Контактная информация:

Re: Состояние системы Debian

Сообщение skysilver » Ср мар 29, 2017 11:05 am

Volter5000 писал(а):Если не сложно могли бы Вы подробней написать что мне делать, код из перврй ссылки я так понимаю необходимо добавить в сценарии. Это я зделал, а что дальше я не пойму. В линуксе вроде не новичек, но вот как ПХП взаимодействует с железом я не могу пока освоить... Заранее благодарствую)
Для примера возьмем сведения об ОЗУ. В консоли линукса выполняем команду

Код: Выделить всё

admin@server:~$ free -m|grep Mem|awk '{print $2,$3,$4}'
1998 1950 48
Должны получить в ответ три числа в строке, разделенные пробелом. Если так, то пробуем то же самое сделать из сценария.
Создаем пустой сценарий. В него вставляем этот код. Сохраняем.

Код: Выделить всё

//=== Контроль ОЗУ ===//
// Выполняем консольную команду Linux средствами PHP
$mem = shell_exec("free -m|grep Mem|awk '{print $2,$3,$4}'");
// Парсим ответ, полученный от команды выше
$mem = explode(" ",$mem);
// Формируем содержимое для свойства объекта
$memtext = "Всего: ".$mem[0]." Занято: ".$mem[1]." Доступно: ".$mem[2];
// Сохраняем данные в свойство объекта
sg("ThisComputer.memory", $memtext);
Выполняем сценарий и проверяем свойство memory объекта ThisComputer. В нем должна быть строка вида Всего: 1998 Занято: 1952 Доступно: 46
За это сообщение автора skysilver поблагодарили (всего 2):
Volter5000 (Чт мар 30, 2017 10:00 pm) • wukd (Пн апр 03, 2017 12:14 am)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Состояние системы Debian

Сообщение slgeo » Ср мар 29, 2017 11:07 am

ну так создайте объект, присвойте его свойствам полученные значения и выводите хоть в меню, хоть на домашней странице
За это сообщение автора slgeo поблагодарил:
Volter5000 (Чт мар 30, 2017 9:59 pm)
Рейтинг: 1.16%
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Состояние системы Debian

Сообщение Volter5000 » Ср мар 29, 2017 1:25 pm

Вы простите меня за мою тупость, просто разжованых тем для новичков не попадалось. Может то что вы мне пишете еще кому нибудь пригодится. Спасибо за отзывчивость. :)
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Состояние системы Debian

Сообщение Volter5000 » Чт мар 30, 2017 9:59 pm

Всем спасибо. Вроде начало получаться. Буду разбираться дальше. Следующим шагом планирую подрубить периферию для аквариума через ардуину.
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Состояние системы Debian

Сообщение Volter5000 » Вс апр 02, 2017 3:09 pm

Снова трабл. В общем написал сценарии. При выполнении скрипта сценария информация попадает в график, все как бы работает. Но вот загвоздка в том что в автоматическом режиме это не происходит. Я уже пробовал /var/www/html/obj.bat script:FreeMemory в крон вебмина добавлять, на что получаю ответ о том что нет прав, хотя и с под рут пользователя тоже самое. Как еще этот процесс можно автоматизировать. Цепочка у меня получилась такая: На каждый "датчик" написан скрипт в сценарии. к этому скрипту я обращаюсь через метод в обьекте. в свойствах обьекта я имею нужные мне данные но только при ручном выполнеии скрипта. Эти данные я пользую в графике чартс. Я вообще правильно сделал??

Нашел сам решение. В onNewMinute добавил runscript(); и все затрудилось
Volter5000
Сообщения: 38
Зарегистрирован: Пн мар 27, 2017 12:33 am
Откуда: ДНР, Донецк
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Состояние системы Debian

Сообщение Volter5000 » Пт апр 07, 2017 6:00 pm

Есть еще вопросец. Сделал кормушку на ардуино нано. Подключил по юсб. он у меня определился как dev/ttyUSB0. А потом начались танцы. На виндовом компе если по ком порту через терминал слать команды, все четко отрабатывает. А на линуксе такая фигня - команды на ардуину приходят но она не реагирует на них, постоянно перегружается. С горем пополам нашел конфиги

stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts raw

cat /dev/ttyUSB0

echo "P1" > /dev/ttyUSB0

Пока их не выполнишь из под рута в консоли и не оставишь консоль открытой, ардуина не реагирует на входящие команды.
Вопрос следующий, что я делаю не так. В чем ошибка? Я много информации перечитал но существенного ничего не нашел, старался сам, чтобы не мучать Вас примитивными вопросами, но увы не выходит так как хочется.
Ответить