86 lines
2.8 KiB
Markdown
86 lines
2.8 KiB
Markdown
|
||
# 設定
|
||
`docker-compose.yml` 如下:
|
||
```yaml
|
||
version: "3"
|
||
|
||
services:
|
||
grafana:
|
||
image: grafana/grafana:latest
|
||
container_name: grafana
|
||
restart: always
|
||
user: "1000" # needs to be `id -u` // alternatively chown the grafana/data dir to 472:472
|
||
ports:
|
||
- "8081:3000" # expose for localhost
|
||
links:
|
||
- influxdb
|
||
volumes:
|
||
- ./data/grafana/data:/var/lib/grafana # data path
|
||
- ./data/grafana/provisioning:/etc/grafana/provisioning
|
||
- ./data/grafana/grafana.ini:/etc/grafana/grafana.ini
|
||
environment:
|
||
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource
|
||
|
||
influxdb:
|
||
image: influxdb
|
||
ports:
|
||
- "8082:8086"
|
||
volumes:
|
||
- ./data/influxdb/data:/var/lib/influxdb2
|
||
|
||
telegraf:
|
||
image: telegraf
|
||
user: telegraf:992 # Get 992 by `stat -c '%g' /var/run/docker.sock`, depend on system
|
||
depends_on:
|
||
- influxdb
|
||
links:
|
||
- influxdb
|
||
volumes:
|
||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||
- ./data/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
|
||
environment:
|
||
- HOST_PROC=/proc
|
||
- HOST_SYS=/sys
|
||
- HOST_ETC=/etc
|
||
```
|
||
|
||
檔案結構如下:
|
||
```
|
||
data\
|
||
grafana\
|
||
grafana.ini
|
||
telegraf\
|
||
telegraf.conf
|
||
docker-compose.yml
|
||
```
|
||
|
||
`data/grafana/grafana.ini` 與 `data/telegraf/telegraf.conf` 都是需要事先準備好的檔案。
|
||
|
||
## 設定 InfluxDB
|
||
|
||
先把 docker 建立起來,然後打開 influxdb([http://awinpi4:8082](http://awinpi4:8082/)),建立帳號、密碼、資料庫名稱。如下:
|
||
![[20240217_212138_chrome_setup_influxdb.png]]
|
||
|
||
之後會出現一串Token,如下,這個要記起來。
|
||
![[20240217_212319_chrome_1894x1254_influxdb_token.png]]
|
||
|
||
## 設定 telegraf
|
||
然後打開 `./data/telegraf/telegraf.conf` ,找到 `[[outputs.influxdb_v2]]` 這個區塊,把 `urls`、`organization`、`bucket`、`token` 的值改為剛剛建立與複製的那一串。如圖:
|
||
![[20240217_213900_Code_setup_telegraf_ini.png]]
|
||
然後重啟 docker compose。
|
||
|
||
# 設定 InfluxDB 的 dashboard
|
||
|
||
到 [https://github.com/influxdata/community-templates#templates](https://github.com/influxdata/community-templates#templates) 挑一個 template,例如 [# Raspberry Pi System Template](https://github.com/influxdata/community-templates/tree/master/raspberry-pi),找到他的網址,如下:
|
||
![[20240217_213108_chrome_1864x1044_raspberrypi_template_on_github.png]]
|
||
|
||
複製這一行,然後到 InfluxDB 的 template 去把它 import 進來。如下:
|
||
![[20240217_213237_chrome_2753x1254_setup_influxdb.png]]
|
||
|
||
![[20240217_213311_chrome_2753x1254_influxdb_install_template.png]]
|
||
|
||
接著 Dashboards 就會出現一個 Raspberry Pi System 的 dashboard 了。
|
||
![[20240217_213343_chrome_1624x1120_influxdb_dashboard.png]]
|
||
|
||
點下去之後大概是長這樣:
|
||
![[20240217_214001_chrome_2604x1716_influxdb_dashboard.png]] |