linux中计算pi的原理,剖析Pi-Dashboard的机制

笔者试用了一下树莓派实验室发布的一款开源的 IoT 设备监控工具Pi Dashboard (Pi 仪表盘) ,界面简洁实用,可以查看树莓派很多状态。局部界面如下:

3c27b9f8ab33

作为做过前端bootstrap的小鲜肉来说,太熟悉这个风格了,情不自禁要看看到底怎么来监控树莓派的状态的,可以作为linux服务器监控的一种手段。

1、安装Pi Dashboard

首先安装 Nginx(或 Apache)和 PHP,笔者使用的是Apache,具体安装在这两个程序可以参考我的文章-树莓派安装LAMP,部署个人网页。

命令行进入到/var/www/html目录,此目录是web服务器目录,通过GitHub 部署pi-dashboard。cd /var/www/html

sudo git clone https://github.com/spoonysonny/pi-dashboard.git

2、浏览器访问

浏览器输入http://ipaddress/pi-dashboard/来访问,可以查看CPU、内存、进程等实时数据。

3、源码index.php

那这些状态参数是怎么打印显示出来的呢?笔记查看index.php后发现每个参数对应$D数组的其中一个数值,index.php文件没有数组$D的具体信息,查看开头require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'device.php');

原来在device.php里面,那这个被调用的文件就是完成读取树莓派参数的功能。

3c27b9f8ab33

4、核心device.php

文件里面有数组建立的代码$D = Array();,简单看几个参数怎么赋值$D数组的。

cpu温度赋值:(哈哈,大家可以参考我的另外文章,四种方法查看树莓派CPU温度)if (($str = @file("/sys/class/thermal/thermal_zone0/temp")) !== false){

$D['cpu']['temp'] = $str;

}

else{

$D['cpu']['temp'] = 0;

}

cpu频率赋值,也是读取文件内容:if (($str = @file("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq")) !== false){

$D['cpu']['freq'] = $str[0];

}

else{

$D['cpu']['freq'] = 0;

}

user等树莓派信息赋值,这个是通过函数赋值的。

3c27b9f8ab33

总计一下,数组$D里面的数值是通过文件读取写入数组和php的函数赋值的。

5、改写device.php

在文件末尾加上打印的功能,直接在命令行打印出树莓派状态,开启上帝模式,就不需要web服务器apache啦 。echo "

";

print_r($D);

echo "

";

添加后,修改执行权限,chmod +x device.php。

在命令行输入/usr/bin/php device.php,执行代码。

代码是按格式打印出数组$D,看看局部打印效果:

3c27b9f8ab33

当然如果要更加好看简便,只能一个个echo数组$D里面的参数了。比如:echo "memory_total:". $D['mem']['total']."\n";更加一目了然。

6、展望一下

选择有很多linux服务器,我要用这样的方法    来监控,该怎么实现呢?我需要一个树莓派做监控服务器,上面部署监控主页面。

界面左侧可以通过列表IP显示所有服务器,点击哪个就显示哪个服务器IP的dashboard,主界面还要显示所有服务器的主要状态吧,这就需要统计服务器的状态并统一显示在主界面上。那可以在各个服务器上面的index.php里面将主要参数插入到树莓派监控服务器的数据库,树莓派监控服务器再统一调用显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值