1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

32ビットARMのエントリーモデルQNAPでInfluxDB2とGrafanaを動かす

Posted at

やりたいこと

家庭で動かしているエントリーモデルのQNAPでGrafana+InfluxDB2による各種データの可視化を行いたい。

制限

QNAPのアーキテクチャ

QNAPはLinuxベースのNASだがCPUアーキテクチャがIntel/AMD64, ARM64/32ベースのものがあり、家庭・個人向けのエントリーモデルはARM32が多い?(現行製品はエントリーレベルも64bitになっているかも?)

私が使用しているTS-231Parm7l

$ cat /proc/cpuinfo | grep model
model name	: Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.70GHz
model name	: Annapurna Labs Alpine AL212 Dual-core ARM Cortex-A15 CPU @ 1.70GHz
$ uname -m
armv7l

コンテナーイメージ

Grafanaにの公式Dockerイメージ関してはlinux/amd64, linux/arm/v7, linux/arm64が用意されているので問題なし。

しかし、InfluxDB v2に関しては32bitサポートを終了したためlinux/amd64, linux/arm64しかイメージが用意されていない。(v1までは32bitをサポートしていた)

対応

野良イメージを使う

influxdataのフォーラムで32bit対応の質問がある。とりあえずビルドできて動かした人がいる模様。

Docker Hubを探してみるとメンテナンスされてないものの sequentialread/influxdb:2.1.1-armv7 が上記フォーラムで言及されたイメージっぽい。

今日現在の最新v2.7.6に対してv2.1.1ではあるが…。

自分でイメージを作る?

こちらの記事の様にQNAP Conteiner Stationでも既存イメージではなくDockerfileから作れる様だが、そもそもInfluxDB2自体32bitをサポートしていないのでInfluxDB2の最新版をビルドできるかどうかも不明(Dockerイメージではなくinfluxdb自体のバイナリーの意味)。

とりあえず

動作する野良イメージを使ってとりあえずやりたいことはできた。QNAP ARM32版で動くComposeファイルを貼っておく。

version: "3"

services:
  influxdb:
    image: sequentialread/influxdb:2.1.1-armv7
    container_name: influxdb
    ports:
      - "8086:8086"
    volumes:
      - ./docker/influxdb/data:/var/lib/influxdb2
      - ./docker/influxdb/config:/etc/influxdb2

  grafana:
    image: grafana/grafana-enterprise:10.4.4
    container_name: grafana
    restart: unless-stopped
    ports:
     - "3000:3000"
    volumes:
      - grafana-storage:/var/lib/grafana
    depends_on:
      - influxdb
      - postgres
    environment:
      - GF_DATABASE_TYPE=postgres
      - GF_DATABASE_HOST=postgres
      - GF_DATABASE_NAME=grafana
      - GF_DATABASE_USER=grafana_user
      - GF_DATABASE_PASSWORD=p@ssw0rd

  postgres:
    image: postgres:12.19
    container_name: postgres
    environment:
      - POSTGRES_USER=grafana_user
      - POSTGRES_PASSWORD=p@ssw0rd
      - POSTGRES_DB=grafana

volumes:
  grafana-storage: {}

PostgreSQLが必要なのは次の記事の様に自分の使っているQNAPでもラズパイ同様にデフォルトのSQLite3がロックされる模様。

感想

  • とりあえずInfluxDB2は動いているがなんとかしたい
  • QNAPはバースプロキシー機能があるので簡単に外からもダッシュボードが見れて便利
  • 色々動かしだすと結構遅くなるのでいずれはARM64版のQNAPにリプレースしたい(そうすればDocker周りは解決しやすい)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?