想着树莓派闲置也是闲置,不如安装下其他软件。自己网上也是搜索下相关教程,有的教程根本不全非常坑,所以自己记录下踩坑记录。
1.安装Grafana.
Grafana是一个golang开发的可视化工具。我是直接安装,没有用docker安装。当然你也可以自己用docker安装
Install Grafana on Raspberry Pi | Grafana Labs 官网教程。
修改Apt源
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
添加 Grafana APT 仓库:
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
安装grafana
sudo apt-get update
sudo apt-get install -y grafana
设置开机自启动和启动grafana
sudo /bin/systemctl enable grafana-server
sudo /bin/systemctl start grafana-server
启动后,在浏览器中输入树莓派的本机ip 直接打开grafana 默认账号 admin / admin
http://192.168.2.55:3000
2.docker 安装 InfluxDB
InfluxDB是一个时序数据库。
首先,先在树莓派中创建一个目录 用来映射docker容器中的目录
mkdir /home/pi/docker_workspace/influxdb
拉取镜像
sudo docker pull influxdb:1.8.10
启动容器
sudo docker run -d -p 8086:8086 --name influxdb -v /home/pi/docker_workspace/influxdb:/var/lib/influxdb influxdb:1.8.10
启动后还没有玩,要进入容器中创建一个数据库,用来存放 telegraf收集到服务器的数据。
sudo docker exec -it influxdb bash
图中是我之前创建好的
# 创建用户并赋权
create user admin with password '123456' with all privileges
# 添加数据库
create database telegraf
3.安装telegraf
Telegraf是一个专门收集数据的工具。可以从堆栈、传感器和系统中收集数据。
接下来重点来了,用docker安装telegraf必须要有一个配置文件才能启动,如果没有,docker容器根本起不来。这是网上查了很多资料得出来的结论。
下面是这个文件的配置信息, 如果没有你要的,可以去github找下。
telegraf/plugins/inputs at master · influxdata/telegraf · GitHub
创建文件夹及文件
mkdir telegraf
cd telegraf
sudo vim telegraf.conf
telegraf.conf
[[inputs.cpu]]
2 percpu = true
3 [[inputs.disk]]
4 [[inputs.diskio]]
5 [[inputs.net]]
6 [[inputs.mem]]
7 [[inputs.system]]
8 [[inputs.swap]]
9 [[inputs.processes]]
10 [[inputs.kernel]]
11
12 [[inputs.file]]
13 files = ["/sys/class/thermal/thermal_zone0/temp"]
14 name_override = "cpu_temperature"
15 data_format = "value"
16 data_type = "integer"
17
18 [[outputs.influxdb]]
19 ## The full HTTP or UDP URL for your InfluxDB instance.
## 你自己的influxdb的ip和端口号
20 urls = ["http://localhost:8086"]
21
22 ## The target database for metrics; will be created as needed.
## 刚才你创建的数据库
23 database = "telegraf"
24
25 ## Name of existing retention policy to write to. Empty string writes to
26 ## the default retention policy. Only takes effect when using HTTP.
27 retention_policy = ""
28
29 ## Timeout for HTTP messages.
保存后 拉取镜像
docker pull telegraf:1.32.0
启动容器
docker run --name telegraf -d \
--net=container:influxdb \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /proc:/host/proc:ro \
-v /opt/:/opt/ \
-v /home/pi/docker_workspace/telegraf/:/etc/telegraf/ \
-e HOST_PROC=/host/proc \
telegraf:1.32.0
启动后,可以用命令看下启动成功没
如果没有成功可以删除容器 把-d 改成 -it 看下是啥原因启动不了,逐个解决。
# 查看启动失败的容器id
docker ps -a
# 删除容器
docker rm xxxxx
# 以-it方式进行启动容器
docker run --name telegraf -it \
--net=container:influxdb \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /proc:/host/proc:ro \
-v /opt/:/opt/ \
-v /home/pi/docker_workspace/telegraf/:/etc/telegraf/ \
-e HOST_PROC=/host/proc \
telegraf:1.32.0
4.配置Grafana
如果以上步骤都没有问题,就可以配置Grafana了。
浏览器输入 自己的Ip 默认密码 admin/adminGrafanahttp://192.168.2.55:3000/
我的granfana版本是11.2.1
添加数据源
数据库,用户和密码 之前已经设置过了,填写就行。最后点击保存。
如果出现这个提示就证明没有问题,不是检查下是不是ip端口号没填写对。
添加树莓派监控仪表板
这里有一条是我之前创建的
选择导入
填写 20498 进行加载
选择之前新建的数据源 点击导入
最后就大功告成了!
其他部分
部分面板数据缺失
如果有,点击这个面板的编辑
看它的数据来源是什么 然后去之前分享的gitHub页面找插件
把配置信息写入到 telegraf.conf 配置文件中 保存
按先后次序重启 influxdb telegraf 两个容器,因为telegraf依赖influxdb.然后再次登录grafanfa,不出意外就可以看到你想要的数据了。
但是树莓派不是所有的数据都支持的 比如GPU温度等,基本的cpu 内存数据出来就行,不用全部都要搞出来,有的还不支持。
更换展示面板的模板
刚才那个模板看腻了,不想要了,能不能更换模板呢,答案是可以的,点击仪表盘 新建一个 点击导入 ,有个网址可以选择模板。可以搜索到自己喜欢的,复制下id,复制到导入那里,点击加载就可以了。
这个模板好像不支持,自己换一个。用我之前推荐的模板也可以。