目录
背景:
在树莓派本地搭建一个监控服务来监控树莓派的运行状态,后续扩展到对其它服务做一些监控。
部署步骤:
1. 在Docker中安装InfluxDB
由于我使用的还是32位版本的Raspbian,而InfluxDB最新版本已经停止支持32位系统了,所以这里要去docker hub中手动翻一下合适的镜像,不能直接无脑pull了。
最后找到了合适的tag 1.8.10,直接创建容器即可:
docker pull influxdb:1.8.10
docker run --name influxdb -d -p 8086:8086 -v /home/pi/Docker/influxdb:/var/lib/influxdb influxdb:1.8.10
2. Docker中安装Telegraf
由于我们需要在启动容器的时候同时加载配置使telegraf获取到硬件信息,所以我们先拉取镜像并启动一个容器来获取里面的配置文件,把容器里的文件复制到自己的工作目录下:
cd [Your_Working_Dir]
docker pull telegraf
docker run telegraf
docker cp [YourContainerID]:/etc/telegraf/telegraf.conf ./
VIM修改获取到的配置文件,在结尾处添加如下配置:
[[inputs.net]]
[[inputs.netstat]]
[[inputs.file]]
files = ["/sys/class/thermal/thermal_zone0/temp"]
name_override = "cpu_temperature"
data_format = "value"
data_type = "integer"
修改好后:wq保存,杀掉之前的telegraf容器后创建正式的容器,这里注意要使用--net参数将其置于influxdb的同一个网络下:
docker run -d --name=telegraf --net=container:influxdb -v /home/pi/Docker/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf -v /var/run:/var/run telegraf
3. Docker中安装Grafana
Grafana没什么要额外配置的,直接一行命令,非常简单:
sudo docker run -d --name=grafana -p 3000:3000 grafana/grafana
4. 在InfluxDB中配置Grafana使用的用户
进入influx的容器:
docker exec -it influxdb bash
进入influx命令行:
influx
创建Grafana使用的用户,等下要配置到Grafana中用于访问influxdb
use telegraf
create user grafana with password 'xxxx' with all privileges
5. 进入Grafana配置数据源
配置好后即可看到数据流入Grafana。