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

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

Модератор: immortal

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

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

Сообщение Logrus » Пн дек 11, 2017 7:35 pm

нет, поиск такой, не далее полутора месяцев назад тема была
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
immortal
Сообщения: 1138
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 16 раз
Поблагодарили: 400 раз
Контактная информация:

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

Сообщение immortal » Вт дек 12, 2017 9:37 am

ypiter2006 писал(а):Спасибо, получилось. Ещё вопросик: имеется на малинке вентилятор,хотелось сделать чтобы он не постоянно охлаждал,а только при повышении температуры заданной мной. Как это оформить?
Как вариант через gpio, ставим wiringPi и из МД echo('gpio -1 29 0');
Включать не напрямую, а через транзистор или ключ
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Alex77
Сообщения: 215
Зарегистрирован: Вс мар 05, 2017 2:18 pm
Благодарил (а): 21 раз
Поблагодарили: 6 раз

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

Сообщение Alex77 » Пт мар 16, 2018 10:48 pm

Logrus писал(а):

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

//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); // запишем значение

Я правильно понимаю, это оперативная память, и если в моем случае образ Сергея нулевый показывает 70 - то это очень печально, ведь как я понял это 70 процентов использованной оперативки.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт мар 16, 2018 10:51 pm

Да...но 70% совсем не печально...ибо оперативы у расбери не так уж много, всего 1 гб...вот 90-100 это печально, 70 - вроде стандартная ситуация.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Alex77
Сообщения: 215
Зарегистрирован: Вс мар 05, 2017 2:18 pm
Благодарил (а): 21 раз
Поблагодарили: 6 раз

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

Сообщение Alex77 » Пт мар 16, 2018 10:53 pm

nick7zmail писал(а):Да...но 70% совсем не печально...ибо оперативы у расбери не так уж много, всего 1 гб...вот 90-100 это печально, 70 - вроде стандартная ситуация.
Просто представил что накручу сейчас свои сценарии MQTT и LMS, честно не думал что так все плохо. Но раз люди же живут так, буду пробовать.
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

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

Сообщение Logrus » Пт мар 16, 2018 11:02 pm

Alex77 писал(а):
Logrus писал(а):

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

//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); // запишем значение

 
Я правильно понимаю, это оперативная память, и если в моем случае образ Сергея нулевый показывает 70 - то это очень печально, ведь как я понял это 70 процентов использованной оперативки.
free -h
там Swap по умолчанию не отключен, а еще буфер и пр.
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
NiKiToS
Сообщения: 42
Зарегистрирован: Сб окт 28, 2017 8:06 pm
Благодарил (а): 5 раз
Поблагодарили: 4 раза

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

Сообщение NiKiToS » Сб мар 17, 2018 11:05 pm

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

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

<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> 
а такое можно вывести на сцену? но с отдельным css?
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm
Благодарил (а): 144 раза
Поблагодарили: 70 раз

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

Сообщение Ron » Вс мар 18, 2018 12:41 pm

Ну всю ветку не читал - заленился наверное, может и описан этот метод, что ниже распишу, если что - сорьки.

Специально для Raspberry Pi и аналогичных ему одноплатных микрокомпьютеров есть мониторинг температуры процессора и других системных показателей есть пакет RPi-Monitor. Окинуть взглядом быстро можно по веб-морде.
Если к GPIO подключить датчик влажности и температуры DHT11/DHT22, можно легко настроить RPi-Monitor для измерения не только температуры процессора, но и параметры окружающей среды.
Ладна, как ставить и ньюансы:
1. Для начала ставим или проверяем стоит ли поддержка https для менеджера пакетов APT:

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

sudo apt-get install apt-transport-https ca-certificates
2. Пропишем открытый ключ для доступа к репозиторию:

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

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
3. Добавим репозиторий RPi-Monitor в список доступных репозиториев:

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

sudo wget goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list 
4. Обновляемся и ставим

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

sudo apt-get update
sudo apt-get install rpimonitor
5. Включаем опцию автоматического мониторинга статуса установленных пакетов (с ней RPi-Monitor будет показывать сколько установленных пакетов доступно для обновления).

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

sudo /etc/init.d/rpimonitor install_auto_package_status_update
6. Обновляем этот статус

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

sudo /etc/init.d/rpimonitor update
7. Запускаем мониторинг сети:

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

sudo nano /etc/rpimonitor/template/network.conf
, где все # удаляем, то есть в network.conf
получаем следующее:
########################################################################
# Extract Network information
# Page: 1
# Information Status Statistics
# - recieved - yes - yes
# - send - yes - yes
#
# Note: Replace 'eth0' in the configuration bellow by the name of your
# network interface and uncomment the line according to your needs
########################################################################

dynamic.10.name=net_received
dynamic.10.source=/sys/class/net/eth0/statistics/rx_bytes
dynamic.10.regexp=(.*)
dynamic.10.postprocess=$1*-1
dynamic.10.rrd=DERIVE
dynamic.10.max=0

dynamic.11.name=net_send
dynamic.11.source=/sys/class/net/eth0/statistics/tx_bytes
dynamic.11.regexp=(.*)
dynamic.11.postprocess=
dynamic.11.rrd=DERIVE
dynamic.11.min=0

web.status.1.content.8.name=Network
web.status.1.content.8.icon=network.png
web.status.1.content.8.line.1="To activate network monitoring, edit and customize <font color='#AA0000'><b>network.conf</b></font>"
web.status.1.content.8.line.2="Help is available in man pages:"
web.status.1.content.8.line.3="<font color='#AA0000'><b>man rpimonitord</b></font> or <font color='#AA0000'><b>man rpimonitord.conf</b></font>"
web.status.1.content.8.line.1="Ethernet Sent: <b>"+KMG(data.net_send)+"<i class='icon-arrow-up'></i></b> Received: <b>"+KMG(Math.abs(data.net_received)) + "<i class='icon-arrow-down'></i></b>"

web.statistics.1.content.2.name=Network
web.statistics.1.content.2.graph.1=net_send
web.statistics.1.content.2.graph.2=net_received
web.statistics.1.content.2.graph_options.yaxis={ tickFormatter: function (v) { if (Math.abs(v) > 1048576) return (Math.round(v*10/1024/1024)/10) + " MiB/s" ; if (Math.abs(v) > 1024) return (Math.round(v*10/1024)/10) + " KiB/s" ; else return v + " B/s" }, }
web.statistics.1.content.2.ds_graph_options.net_send.label=Upload bandwidth (bytes)
web.statistics.1.content.2.ds_graph_options.net_send.lines={ fill: true }
web.statistics.1.content.2.ds_graph_options.net_send.color="#FF7777"
web.statistics.1.content.2.ds_graph_options.net_received.label=Download bandwidth (bytes)
web.statistics.1.content.2.ds_graph_options.net_received.lines={ fill: true }
web.statistics.1.content.2.7ds_graph_options.net_received.color="#77FF77"
Сохраняем Alt+X, отвечаем Y и Enter.
8. Перезагружам RPi-Monitor

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

sudo service rpimonitor restart
Лезем откуда хочешь http://IP_адрес_Распбери:8888

Вуаля :)
Последний раз редактировалось Ron Вс мар 18, 2018 2:53 pm, всего редактировалось 4 раза.
За это сообщение автора Ron поблагодарили (всего 2):
CAHbKA (Вс мар 25, 2018 9:15 pm) • blacbag (Пн авг 19, 2019 3:07 pm)
Рейтинг: 2.33%
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm
Благодарил (а): 144 раза
Поблагодарили: 70 раз

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

Сообщение Ron » Вс мар 18, 2018 12:47 pm

UPD - как выглядит.
СпойлерПоказать
RPIM.jpg
WEB RPIM
RPIM.jpg (88.52 КБ) 6596 просмотров
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm
Благодарил (а): 144 раза
Поблагодарили: 70 раз

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

Сообщение Ron » Вс мар 18, 2018 1:56 pm

Интеграция с МДМ с таким методом мониторинга очень простая.

По-быстренькому создаем домашнюю страницу, допустим с названием "Мониторинг системы"
В свойствах период авто-обновления я поставил 5 секунд
Тип: URL
Ссылка: http://внутренний_IP_адрес_Алиски:8888

Скрин как выглядит
СпойлерПоказать
MDM_RPIM.jpg
MDM_RPIM.jpg (65.51 КБ) 6574 просмотра
За это сообщение автора Ron поблагодарил:
CAHbKA (Вс мар 25, 2018 9:16 pm)
Рейтинг: 1.16%
Ответить