このページは、SlowDash のドキュメント(特に Installation、Quick Tour、Project Setup、Data Binding)を読む前に必要な最小限の知識をまとめたものです.この文書は Claude によって自動で作成されました.
次のことができることを前提にしています.
不安がある場合でも、以下の要点だけ押さえれば開始できます.
以下のコマンド操作に慣れているとスムーズです.
$ pwd # 現在のディレクトリを表示
$ ls -la # ファイル一覧を表示
$ cd PATH/TO/DIR # ディレクトリを移動
$ mkdir MyProject # ディレクトリを作成
$ python3 script.py # Python スクリプトを実行通常はターミナルを2つ使います.
slowdash --port=18881 を起動ネイティブ環境では、SlowDash は make
の中で準備されるプロジェクト内 venv を使う構成です.
代表的な流れ:
$ source PATH/TO/SLOWDASH/bin/slowdash-bashrc
$ slowdash-activate-venv
$ python your-script.pyvenv の役割:
slowpy を利用しやすいSlowDash 利用者として押さえるポイント:
venv が隔離された Python
実行環境であることを理解するslowdash-activate-venv
を実行する有効化後の確認に便利なコマンド:
$ echo "$VIRTUAL_ENV"
$ which python
$ which pip$VIRTUAL_ENV
にパス(例:.../venv)が入っていて,python と
pip がその環境を指していれば有効化できています.
venv 有効化中のポイント:
(.venv)
が表示されることが多い(シェル設定によります)python と pip は
.venv/bin/... を指すpip install したパッケージはその環境内に閉じるOS に標準で入っている Python が
EOL(End-of-Life)に達している場合は、そのまま使わないことを推奨します.
pyenv でサポート中の Python を先に選び、その後に通常どおり
make を実行して SlowDash に venv
を準備させる運用が安全です.
例:
$ pyenv install 3.12.9
$ pyenv local 3.12.9
$ make
$ source PATH/TO/SLOWDASH/bin/slowdash-bashrc
$ slowdash-activate-venv新しいターミナルで pyenv を自動有効化する設定
(.bashrc):
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)".bashrc
を編集したら、現在のシェルで再読み込みします:
$ source ~/.bashrc確認コマンド:
$ pyenv version使い分けの考え方:
pyenv:Python 本体のバージョン管理venv:プロジェクト依存パッケージの隔離プロジェクト設定は YAML で記述します.
最小例:
slowdash_project:
name: QuickTour
title: SlowDash Quick Tour
data_source:
url: sqlite:///QuickTourTestData.db
time_series:
schema: testdata[channel]@timestamp(unix)=valueYAML の重要ポイント:
key: value で項目を定義データを記録するときは、各データに時刻情報が付きます. この節では、その時刻情報そのものの表現形式を説明します.
unix:1970-01-01 00:00:00 UTC(UNIX
epoch)からの経過秒で,タイムゾーンに依存しないwith time zone(または aware)without time zone /
naive(通常は非推奨)unspecified utc(タイムゾーン文字列なしだが UTC
と分かっている)実務上の違い:
unix は「経過時間」を表す数値表現迷ったら、まず unix を使うのが安全です.
SlowDash では、PostgreSQL、MySQL、SQLite などの SQL データベース(RDBMS)をデータソースとして使うことが多いです. 最初のイメージとしては、RDBMS は Excel のような表形式データを複数のテーブルに格納する仕組みだと考えると分かりやすいです. (厳密には、RDBMS にはテーブル間のリレーションを定義する仕組みがありますが、この導入ではまず表形式データのイメージを優先します.)
最小限の概念:
timestamp,
channel, value など)PRIMARY KEY: 行を一意に識別するキー(時系列では
timestamp + channel の組がよく使われます)最低限読めるとよい SQL:
SELECT ... FROM table:データの読み出しWHERE ...:行の絞り込みORDER BY ...:並び替えLIMIT N:取得件数の上限指定例:
SELECT timestamp, channel, value
FROM testdata
WHERE channel = 'ch00'
ORDER BY timestamp DESC
LIMIT 10;Quick Tour を進めるだけなら高度な SQL は不要ですが、この基礎があると Data Binding の確認やトラブルシュートがしやすくなります.
次に必要なのは、データ記録テーブルの構造をどう表すかです. つまり「どの列が時刻で、どの列がチャンネルで、どの列が値か」を記述します. SlowDash ではこの構造記述を「スキーマ記述子」と呼びます.
よく使う形:
table[tag]@time_column(type)=value_column
例:
testdata[channel]@timestamp(unix)=valuenumeric_data[endpoint]@timestamp(with timezone)=value_raw意味:
table:読み出し元テーブル(または measurement)[tag]:チャンネル名として使う列@time_column(type):時刻列とその型=value_column:値の列SlowDash の例ではポート 18881 をよく使います.
http://localhost:18881 を開く-p 18881:18881 を設定SlowDash において、コンテナは必須ではなくオプションです. コンテナに慣れていない場合は、最初から Docker を使う必要はありません.まずはネイティブ構成で始めて問題ありません.
最初にコンテナを使わなくてよいケース:
コンテナに慣れていない場合は、まず次のイメージを持つと分かりやすいです.
SlowDash での意味合いは次の通りです.
コンテナ導入で得られる主なメリット:
例でよく出るオプションの意味:
-v $(pwd):/project
$(pwd):ホスト側の現在ディレクトリ/project:コンテナ内のパス-p 18881:18881
http://localhost:18881 へのアクセスがコンテナ内
SlowDash に届く--rm
最小の単体コンテナ例:
$ cd YOUR_PROJECT_DIR
$ docker run --rm -p 18881:18881 -v $(pwd):/project slowproj/slowdashこのコマンドで起きること:
http://localhost:18881 を開いて利用する--rm)が、ホスト側のプロジェクトファイルは残る最小の Docker Compose 例:
実運用では、データベースもホストに直接インストールせず、コンテナで使いたい場合がよくあります. この場合、SlowDash コンテナとデータベースコンテナを同時に動かす必要があり、少なくとも2つのコンテナを管理することになります. Docker Compose は、この複数コンテナの起動・停止を1つの設定ファイルから自動化する仕組みです.
services:
postgres:
image: postgres:16
environment:
- POSTGRES_USER=slowdash
- POSTGRES_PASSWORD=slowdash
- POSTGRES_DB=slowdash
volumes:
- postgres-data:/var/lib/postgresql/data
slowdash:
image: slowproj/slowdash
depends_on:
- postgres
volumes:
- .:/project
ports:
- "18881:18881"
volumes:
postgres-data:Docker Compose を使う利点:
docker compose up 1回で SlowDash + DB
を同時起動できるdocker compose down 1回で同時停止できる起動と停止:
$ docker compose up
$ docker compose down