Grafanaでローソク足チャートを表示する方法


この記事のまとめ:
  • Grafanaでローソク足チャートを表示する方法を紹介しています。
背景

Grafanaと金融商品のテクニカル分析を並行して勉強しているので、Grafanaでローソク足チャートが表示できれば便利だったので試してみました。

Grafanaのローソク足チャート用のプラグインのインストール

Grafanaには、標準のパネルや公式のプラグインでローソク足チャートを描けるものはありません(2019.01.19現在)。

ただし、ilgizarという方が、ilgizar-candlestick-panelという名前で、Grafana用のローソク足チャートプラグインが開発され、GitHubで公開されています。今回はこれを使ってローソク足チャートを描いてみます。

Grafanaプラグインのマニュアルインストールについては、公式ページに説明がありますが、非常に簡単です。/var/lib/grafana/pluginsにディレクトリを新たに作り、そこに適切なファイルを置くだけで認識してくれます。

対象のプラグインのファイルですが、ilgizar-candlestick-panelをそのままクローンしてきてもダメで(これで少しハマりました)、ilgizar-candlestick-panel/pack/においてあるzipファイルを解凍したファイルを使う必要があります。

ilgizar-candlestick-panelの使い方

プラグインのファイルを/var/lib/grafana/ilgizar-candlestick-panelとして置いてから、Grafanaを立ち上げると次のようにCandlestickというパネルが追加されます。


一点注意として、Metricsを追加する際に、エイリアス名(ALIAS BYの欄)にそれぞれopen high low closeと入力しないとローソク足は表示されない仕様になっているようです。


これらを正しく入力するとこんな感じに表示ができます(下のキャプチャではVolumeも表示させています)。


GrafanaをDockerコンテナで実行する場合におけるプラグインのインストール方法

DockerコンテナでGrafanaを動かす際にプラグインをインストールする方法を下に3つ記しておきます(Dockerに詳しくないのでどちらがいいのかよくわかりません…)。

ホスト側にプラグインをダウンロードしておき、コンテナにコピーする

1つ目の実施方法は、ホスト側のプラグインが入ったディレクトリごとGrafanaコンテナのプラグインディレクトリ(/var/lib/grafana/plugins)にコピーしてビルドする方法です。Candlestickのプラグインを導入済みのコンテナイメージをDockerhubに上げておきましたので、誰でもすぐに使えます。

下記コマンドで使用できます。なお、ホスト側のポート番号は任意に変えてください。

$ sudo docker run -d -p 3000:3000 hassiweb/grafana_candlestick

ちなみにDockerfileは下記だけで終わりです。あとはビルドするだけです。

FROM grafana/grafana:latest
COPY plugins /var/lib/grafana/plugins
ホスト側にプラグインをダウンロードしておき、ボリュームで共有する

2つ目の実施方法は、ホスト側のプラグインが入ったディレクトリをGrafanaコンテナのプラグインディレクトリ(/var/lib/grafana/plugins)にDockerのボリュームでバインドする方法です。この方法だと、プラグインを追加するたびにコンテナのビルドをしなくて済みます。

Docker-composeで実行する場合の例を下に記します。下記では、ホスト側の./grafana/pluginsにプラグインのファイルを入れて、コンテナにバインドしています。もちろん、Dockerfileとしても同様のことはできます。

version: "3"
services:
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - ./grafana/dashboards:/etc/grafana/provisioning/dashboards
      - ./grafana/datasources:/etc/grafana/provisioning/datasources
      - ./grafana/plugins:/var/lib/grafana/plugins
コンテナをビルドする際にプラグインをダウンロードする

3つ目の実施方法は、コンテナをビルドする際にプラグインを所定のディレクトリにダウンロードする方法です。この方法だとホスト側で準備するものはありません。

Dockerfileで実行する場合の例を下に記します。ベースイメージとしてgrafanaを使いますが、ベースイメージにはwgetとunzipが入っていませんのではじめにそれぞれをインストールしてから、対象のzipファイルをwgetでダウンロードし、unzipで解凍しています。

FROM grafana/grafana:latest
 
USER root
RUN apt-get update
RUN apt-get install -y wget unzip
 
WORKDIR /var/lib/grafana/plugins
RUN wget https://github.com/ilgizar/ilgizar-candlestick-panel/raw/master/pack/ilgizar-candlestick-panel.zip && unzip ilgizar-candlestick-panel.zip && rm ilgizar-candlestick-panel.zip
 
USER grafana



今回は以上です。 最後まで読んでいただき、ありがとうございます。

関連記事


コメント

このブログの人気の投稿

LinuxでのnVidia GPUのオーバークロック・電力チューニング方法