Помогите с мониторингом системы Raspberry PI3.

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

Модератор: immortal

silverzab
Сообщения: 23
Зарегистрирован: Вс окт 23, 2016 9:28 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Помогите с мониторингом системы Raspberry PI3.

Сообщение silverzab » Пт ноя 03, 2017 10:06 am

Всем привет!!!
Натолкнулся на статью мониторинга системы http://dmitrysnotes.ru/raspberry-pi-3-m ... okazatelej (не реклама).
Помогите пожалуйста с внедрением в MajorDomo
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение nick7zmail » Пт ноя 03, 2017 10:10 am

А в чем собственно проблема то? Всё ж из консоли работает...забирайте просто данные в МД и всё...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
silverzab
Сообщения: 23
Зарегистрирован: Вс окт 23, 2016 9:28 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение silverzab » Пт ноя 03, 2017 11:35 am

nick7zmail писал(а):А в чем собственно проблема то? Всё ж из консоли работает...забирайте просто данные в МД и всё...
Новичок, учусь, подскажите где почитать
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение nick7zmail » Пт ноя 03, 2017 12:23 pm

Раз 10 наверное это сообщение на форуме уже писал...

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

$temp=exec('cat /sys/class/thermal/thermal_zone0/temp')/1000;
sg('server.cputemp', round($temp,1));
Пример для температуры. Аналогично забираете другие параметры, и записываете в свойства...

Вроде есть какой-то системный монитор со встроенным веб-сервером...красивенький, но нагружает и без того слабенький проц дополнительно. Название точно не помню, но на форуме точно упоминали..
Это вроде не он, но что-то похожее...https://github.com/oopsmonk/rpi-monitor
просто встраиваете в одну из домашних страниц, и всё.
Вот вроде он http://rpi-experiences.blogspot.ru/p/rpi-monitor.html
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение Logrus » Сб ноя 25, 2017 9:59 am

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

//CPU temp
$cpu_temp=shell_exec('cat /sys/class/thermal/thermal_zone0/temp') / 1000;
$cpu_temp=round($cpu_temp,1);
setGlobal("ThisComputer.CPU_temp",$cpu_temp); // запишем значение

//CPU usage
$cpu_usage=exec("top -bn 1 | awk '{print $9}' | tail -n +8 | awk '{s+=$1} END {print s}'");
setGlobal("ThisComputer.CPU_usage",$cpu_usage); // запишем значение

//System uptime
$sys_uptime=shell_exec("uptime");
$sys_uptime = explode(" up ", $sys_uptime);
$sys_uptime = explode(",", $sys_uptime[1]);
$sys_uptime = $sys_uptime[0].", ".$sys_uptime[1];
setGlobal("ThisComputer.System_uptime",$sys_uptime); // запишем значение

//Memory usage/total
$mem_total=exec("cat /proc/meminfo | grep MemTotal | awk '{print $2}'");
$mem_usage=$mem_total - exec("cat /proc/meminfo | grep MemFree | awk '{print $2}'");
$sys_memory=round($mem_usage * 100 / $mem_total, 1);
setGlobal("ThisComputer.System_memory",$sys_memory); // запишем значение

//Memory Card
$bytes = disk_free_space("."); 
$si_prefix = array( 'B', 'KB', 'MB', 'GB', 'TB', 'EB', 'ZB', 'YB' );
$base = 1024;
$class = min((int)log($bytes , $base) , count($si_prefix) - 1);
$temp = round($bytes / pow($base,$class)) . ' ' . $si_prefix[$class];
setGlobal('System_freespace',$temp); // запишем значение
 
честно стырено, к примеру в сценарий и запуск раз в минуту
про вывести, много способов (один из на сцену)
СпойлерПоказать
1.PNG
1.PNG (102.64 КБ) 8180 просмотров
если образ от сергея - стандартная сцена
2.PNG
2.PNG (91.9 КБ) 8180 просмотров
клик по кнопке под эко режимом - загрузка процессора вызывает график
3.PNG
3.PNG (49.59 КБ) 8180 просмотров
сцены - температура и загрузка распберри скопированы с температуры ниже
4.PNG
4.PNG (29.64 КБ) 8180 просмотров
часть настроек (изменял что, но по всем пунктам норм, мин, макс пройтись) в свойствах этих данных в моем компьютере включена история
Последний раз редактировалось Logrus Вс дек 10, 2017 11:47 am, всего редактировалось 1 раз.
За это сообщение автора Logrus поблагодарили (всего 3):
silverzab (Сб ноя 25, 2017 1:17 pm) • sigment (Вт янв 09, 2018 1:38 am) • Sergey.Chek (Вт янв 26, 2021 8:24 pm)
Рейтинг: 3.49%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
ypiter2006
Сообщения: 38
Зарегистрирован: Сб ноя 25, 2017 10:26 pm
Благодарил (а): 77 раз
Поблагодарили: 1 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение ypiter2006 » Сб дек 09, 2017 10:46 pm

Подскажите , как вставить мониторинг сервера в меню управления?
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение Logrus » Вс дек 10, 2017 11:45 am

СпойлерПоказать
1.PNG
1.PNG (18.51 КБ) 7965 просмотров
на примере State, куда добавить ниже
2.PNG
2.PNG (54.02 КБ) 7965 просмотров
здесь вставить то что приведено ниже

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

<br/>
Температура цп: %ThisComputer.CPU_temp%
<br/>
Загрузка цп: %ThisComputer.CPU_usage%
по аналогии дальше
За это сообщение автора Logrus поблагодарил:
ypiter2006 (Вс дек 10, 2017 8:31 pm)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
ypiter2006
Сообщения: 38
Зарегистрирован: Сб ноя 25, 2017 10:26 pm
Благодарил (а): 77 раз
Поблагодарили: 1 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение ypiter2006 » Вс дек 10, 2017 8:43 pm

Logrus писал(а):
СпойлерПоказать
1.PNG
на примере State, куда добавить ниже
2.PNG
здесь вставить то что приведено ниже

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

<br/>
Температура цп: %ThisComputer.CPU_temp%
<br/>
Загрузка цп: %ThisComputer.CPU_usage%
 
по аналогии дальше
А можно увидеть, как это выглядит у Вас в меню :)
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение Logrus » Вс дек 10, 2017 8:49 pm

СпойлерПоказать
меню.PNG
меню.PNG (31.88 КБ) 7921 просмотр
сцена.PNG
сцена.PNG (4.91 КБ) 7921 просмотр
специально добавил, так использую на сцене, в меню тоже можно раскрасить и прочих красивостей навести
За это сообщение автора Logrus поблагодарил:
Sergey.Chek (Пт авг 02, 2019 11:47 am)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 531 раз
Контактная информация:

Re: Помогите с мониторингом системы Raspberry PI3.

Сообщение Vovix » Вс дек 10, 2017 8:59 pm

а у меня так в меню:
Скриншот 2017-12-10 21.52.34.png
Скриншот 2017-12-10 21.52.34.png (30.21 КБ) 7915 просмотров
а поскольку я немного извращенец, то код у меня такой:
СпойлерПоказать

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

<style type="text/css">    
progress {    
    -webkit-appearance: none;    
    height: 14px;    
    width: 120px;    
}    
progress[value]::-webkit-progress-bar {    
    background-color: #eee;    
    border-radius: 3px;    
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5) inset;    
}
     s_green progress[value]::-webkit-progress-value {    
    background-color: green;    
    border-radius: 3px;
}
    s_orange progress[value]::-webkit-progress-value {    
    background-color: orange;    
    border-radius: 3px;
}
    s_red progress[value]::-webkit-progress-value {    
    background-color: red;    
    border-radius: 3px;    
}  
</style>

<div align="center" style="font-size:14px;"><span style="font-size:24px; color:orange;"><b>Алиса</b></span><br/>
    <table border="1" cellspacing="2" cellpadding="2" rules="rows">
     
        <tbody>
            <tr>
                <td colspan="2" align="center">
                    <b>CPU: <span style="font-size:12px; color:orange;">%ThisComputer.CPUtip%</span></b><br/>
                </td>
            </tr>

            <tr>
                <td>Внешний</br>ip-адрес</td>
                <td align="right"><span style="font-size:12px; color:orange;">%ThisComputer.MyIPext%</span></td>
            </tr> 
             
            <tr>
                <td>Внутренний</br>ip-адрес</td>
                <td align="right"><span style="font-size:12px; color:orange;">%ThisComputer.MyIPint%</span></td>
            </tr>
         
            <tr>
                <td>Последнее</br>сообщение</td>
                <td align="right">"<span style="font-size:12px; color:orange;">%ThisComputer.lastSayMessage%</span>"</td>
            </tr>


            <tr>
                <td>Уровень</br>громкости</td>
                 <td align="left"><s_orange><progress value="%ThisComputer.volumeLevel%" max="100"></progress></s_orange>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.volumeLevel%</span>&nbsp;%</td>
            </tr>

            <tr>
                <td>Занятость</br>HDD</td>
                <!-- 
                <td align="left"><s_orange><progress value="%ThisComputer.DISKused%" max="100"></progress></s_orange>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.DISKused%</span>&nbsp;%</td>
                 -->
                 <td align="left"><s_%ThisComputer.DISKused_color%><progress value="%ThisComputer.DISKused%" max="100"></progress></s_%ThisComputer.DISKused_color%>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.DISKused%</span>&nbsp;%</td>
            </tr>

            <tr>
                <td>Загрузка</br>CPU</td>
                <!--
                <td align="left"><s_orange><progress value="%ThisComputer.CPUload%" max="100"></progress></s_orange>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.CPUload%</span>&nbsp;%</td>
                -->
                <td align="left"><s_%ThisComputer.CPUload_color%><progress value="%ThisComputer.CPUload%" max="100"></progress></s_%ThisComputer.CPUload_color%>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.CPUload%</span>&nbsp;%</td>
            </tr>

            <tr>
                <td>Температура</br>CPU</td>
                <!--
                <td align="left"><s_orange><progress value="%ThisComputer.CPUtemp%" max="70"></progress></s_orange>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.CPUtemp%</span>&nbsp;°C</td>
                -->
                <td align="left"><s_%ThisComputer.CPUtemp_color%><progress value="%ThisComputer.CPUtemp%" max="70"></progress></s_%ThisComputer.CPUtemp_color%>&nbsp;<span style="font-size:12px; color:orange;">%ThisComputer.CPUtemp%</span>&nbsp;°C</td>
            </tr>

            <tr>
                <td>Вентилятор</br>CPU</td>
                <td align="right"><span style="font-size:12px; color:orange;">%ThisComputer.MBfan1%</span>&nbsp;RPM</td>
            </tr>

        </tbody>
     
    </table>

</div>
Последний раз редактировалось Vovix Вс дек 10, 2017 9:10 pm, всего редактировалось 1 раз.
За это сообщение автора Vovix поблагодарили (всего 5):
Logrus (Вс дек 10, 2017 8:59 pm) • ypiter2006 (Вс дек 10, 2017 9:53 pm) • NiKiToS (Сб мар 17, 2018 11:04 pm) • Sergey.Chek (Пт авг 02, 2019 11:43 am) • slax (Пн фев 01, 2021 9:13 pm)
Рейтинг: 5.81%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить