今回は
eps32をにBME280温度湿度センサーを接続し、node exporterとして動かしています。
同じネットワーク上のpi4bにPrometheusをdockerで動かして、15s毎にデータを吸い出してます。1ヵ月(=30日)でどの程度のディスク容量が必要なのか調べました。
環境
esp32 node exporter
BME280を接続したesp32をnode exporterとして動かしています。提供しているmetricsは、参考リンクのとおりです。12項目のデータ(BME280センサー関連3種類、esp32内部情報9種類)を提供しています。
その他のexporter
以下のマシンにexporterを動かしています。
- pi4b: docker内
- pi3b: octpi exporter plugin
- pi zero:
Prometheusの設定
Prometheus側の設定は、```prometheus.yml``にて以下のようにjobを指定してます。
esp32の設定は以下のように、他のexporterは5s間隔で設定しています。
1
2
3
4
5
6
| scrape_configs:
- job_name: "exporter_esp32"
scrape_interval: 10s
metrics_path: "/metrics"
static_configs:
- targets: ["esp32 IP address:80"]
|
10s毎にmetircsデータを蓄積します。
/diskの中身は
Prometheusはdockerで動かしていて、/dataがデータ領域です。
以下のようなフォルダーができました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| /prometheus # ls
/prometheus # cd /data/
/data # ls
01FHQG4WN767261MPNBNAVYA8A 01FKQ7FQH38D8Y528X9VP1APAB
01FHX9HHXNGF6BHDV15ABDX16K 01FKX0WC00QATDZ1T701KKVFC7
01FJ32Y42RYQPB1BCZWREHV3S9 01FKYYNXDXXEJHF9J2E8Z33TCZ
01FJ8WASTEHH69BP47K2K9BFAB 01FKZCD91NHV3WFCD2TB17KQ4P
01FJENQD5QD5WYE7SQG8VNJZ3C 01FKZK909NRMBA80NHAJ1BWQ1C
01FJMF3ZCWCNA0SB1YKVGD9Z7H 01FKZK90T99PZPJP4SKW79XPJQ
01FJT8GMNR165VVTF370BNEK42 chunks_head
01FK01X6X041HF58NFR15FQWAB lock
01FK5V9TMBFG6H7RK65MDZAEN5 queries.active
01FKBMPFZ8ZQ9R06MM2NABY73S wal
01FKHE3249XK8CTBZPT0EV7BEW
/data #
|
それぞれのフォルダーの中身の構成です。吸い出されたデータは、walというフォルダー内に128MBまで書き込まれて、溢れるとchunks内のファイルに書き込まれるそうです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| /data # ls -la 01FHQG4WN767261MPNBNAVYA8A/
total 3804
drwxr-xr-x 3 root root 4096 Oct 11 11:00 .
drwxr-xr-x 21 root root 4096 Nov 8 11:00 ..
drwxr-xr-x 2 root root 4096 Oct 11 11:00 chunks
-rw-r--r-- 1 root root 3874622 Oct 11 11:00 index
-rw-r--r-- 1 root root 1494 Oct 11 11:00 meta.json
-rw-r--r-- 1 root root 9 Oct 11 11:00 tombstones
/data # ls -la 01FHQG4WN767261MPNBNAVYA8A/chunks/
total 79944
drwxr-xr-x 2 root root 4096 Oct 11 11:00 .
drwxr-xr-x 3 root root 4096 Oct 11 11:00 ..
-rw-r--r-- 1 root root 81849804 Oct 11 11:00 000001
/data #
|
disk使用量は以下のとおりです。1ヵ月で約1.3GBとなりました。保存期間を30dに設定しているのでこれ以上増えることはないと思います。
1
2
3
| /data # du -ks /data/
1312636 /data/
/data #
|
今回のまとめ
4つのexporterの値をPrometheusで集めた結果、1ヵ月で約1.3GBのデータ量となることがわかりました。exporterの数やmetricsの数、scrape時間等によってデータ量がどのようになるのか追って分析していきたいと思います。
参考リンク
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| # esp32_uptime
# TYPE esp32_uptime gauge
esp32_uptime 1987095848
# esp32_wifi_rssi
# TYPE esp32_wifi_rssi gauge
esp32_wifi_rssi -62
# esp32_heap_size
# TYPE esp32_heap_size gauge
esp32_heap_size 351932
# esp32_free_heap
# TYPE esp32_free_heap gauge
esp32_free_heap 112768
# esp32_cpu_frequency
# TYPE esp32_cpu_frequency gauge
esp32_cpu_frequency 240
# esp32_sketch_size
# TYPE esp32_sketch_size gauge
esp32_sketch_size 864128
# esp32_flash_size
# TYPE esp32_flash_size gauge
esp32_flash_size 1310720
# esp32_available_size
# TYPE esp32_available_size gauge
esp32_available_size 446592
# esp32_temperature
# TYPE esp32_temperature gauge
esp32_temperature 53.33
# BME280_temperature
# TYPE BME280_temperature gauge
BME280_temperature 24.92
# BME280_humidity
# TYPE BME280_humidity gauge
BME280_humidity 50.75
# BME280_atmospheric_pressure
# TYPE BME280_atmospheric_pressure gauge
BME280_atmospheric_pressure 1010.37
|