Re: Помогите с мониторингом системы Raspberry PI3.
Добавлено: Пн дек 11, 2017 7:35 pm
нет, поиск такой, не далее полутора месяцев назад тема была
Обсуждение проекта
https://www.mjdm.ru/forum/
Как вариант через gpio, ставим wiringPi и из МД echo('gpio -1 29 0');ypiter2006 писал(а):Спасибо, получилось. Ещё вопросик: имеется на малинке вентилятор,хотелось сделать чтобы он не постоянно охлаждал,а только при повышении температуры заданной мной. Как это оформить?
Я правильно понимаю, это оперативная память, и если в моем случае образ Сергея нулевый показывает 70 - то это очень печально, ведь как я понял это 70 процентов использованной оперативки.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); // запишем значение
Просто представил что накручу сейчас свои сценарии MQTT и LMS, честно не думал что так все плохо. Но раз люди же живут так, буду пробовать.nick7zmail писал(а):Да...но 70% совсем не печально...ибо оперативы у расбери не так уж много, всего 1 гб...вот 90-100 это печально, 70 - вроде стандартная ситуация.
free -hAlex77 писал(а):Я правильно понимаю, это оперативная память, и если в моем случае образ Сергея нулевый показывает 70 - то это очень печально, ведь как я понял это 70 процентов использованной оперативки.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); // запишем значение
а такое можно вывести на сцену? но с отдельным css?Vovix писал(а):а у меня так в меню: а поскольку я немного извращенец, то код у меня такой:SPOILERSPOILER_SHOWКод: Выделить всё
<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> <span style="font-size:12px; color:orange;">%ThisComputer.volumeLevel%</span> %</td> </tr> <tr> <td>Занятость</br>HDD</td> <!-- <td align="left"><s_orange><progress value="%ThisComputer.DISKused%" max="100"></progress></s_orange> <span style="font-size:12px; color:orange;">%ThisComputer.DISKused%</span> %</td> --> <td align="left"><s_%ThisComputer.DISKused_color%><progress value="%ThisComputer.DISKused%" max="100"></progress></s_%ThisComputer.DISKused_color%> <span style="font-size:12px; color:orange;">%ThisComputer.DISKused%</span> %</td> </tr> <tr> <td>Загрузка</br>CPU</td> <!-- <td align="left"><s_orange><progress value="%ThisComputer.CPUload%" max="100"></progress></s_orange> <span style="font-size:12px; color:orange;">%ThisComputer.CPUload%</span> %</td> --> <td align="left"><s_%ThisComputer.CPUload_color%><progress value="%ThisComputer.CPUload%" max="100"></progress></s_%ThisComputer.CPUload_color%> <span style="font-size:12px; color:orange;">%ThisComputer.CPUload%</span> %</td> </tr> <tr> <td>Температура</br>CPU</td> <!-- <td align="left"><s_orange><progress value="%ThisComputer.CPUtemp%" max="70"></progress></s_orange> <span style="font-size:12px; color:orange;">%ThisComputer.CPUtemp%</span> °C</td> --> <td align="left"><s_%ThisComputer.CPUtemp_color%><progress value="%ThisComputer.CPUtemp%" max="70"></progress></s_%ThisComputer.CPUtemp_color%> <span style="font-size:12px; color:orange;">%ThisComputer.CPUtemp%</span> °C</td> </tr> <tr> <td>Вентилятор</br>CPU</td> <td align="right"><span style="font-size:12px; color:orange;">%ThisComputer.MBfan1%</span> RPM</td> </tr> </tbody> </table> </div>
Код: Выделить всё
sudo apt-get install apt-transport-https ca-certificatesКод: Выделить всё
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0FКод: Выделить всё
sudo wget goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list Код: Выделить всё
sudo apt-get update
sudo apt-get install rpimonitorКод: Выделить всё
sudo /etc/init.d/rpimonitor install_auto_package_status_updateКод: Выделить всё
sudo /etc/init.d/rpimonitor updateКод: Выделить всё
sudo nano /etc/rpimonitor/template/network.confСохраняем Alt+X, отвечаем Y и Enter.########################################################################
# 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"
Код: Выделить всё
sudo service rpimonitor restart