Neutrinoで働くブロックチェーンエンジニアのブログ

渋谷の専門特化コワークNeutrinoに入居してブロックチェーンエンジニアとして働いています。元丸の内。(Neutrino運営企業とは直接関係ありません)

coinmarketcapのデータをgrafanaとprometheusで可視化する

暗号通貨の価格や市場規模を見れるcoinmarketcapデータを取得して可視化するレポジトリが公開されていたので使ってみます。

この記事は以下の元記事にそって実施してみたものになります。

medium.com

事前準備

事前準備として、dockerとdocker swarmをインストールしておきます。 Macの場合、docker for Macをインストールすればswarmもまとめてインストールされるはずです。

www.docker.com

crypto-currency-trackerの起動

crypto-currency-trackerをgit cloneします。

git clone https://github.com/vegasbrianc/crypto-currency-tracker.git

docker swarmを初期化します。

cd crypto-currency-tracker/

docker swarm init

docker-compose.ymlを用いてdocker stackをデプロイします。

echo $HOSTNAME #HOSTNAMEの確認

HOSTNAME=$(hostname) docker stack deploy -c docker-compose.yml crypto

起動が正常にできているかを確認します。

docker stack ps crypto #cryptoのスタックが動いているかを確認

docker service logs crypto_grafana #grafanaのログを確認

grafanaでデータを確認

localhostの3000番ポートにアクセスしてgrafanaのログイン画面に入ります。

http://localhost:3000

f:id:naomasabit:20180506105852p:plain

デフォルトではユーザー:admin、パス:foobarです。

ログイン後「Data Sources」を追加する画面に行き、localhost:9090で動いているprometheus形式のデータソースを設定します。

f:id:naomasabit:20180506105857p:plain

グラフを作成します。

f:id:naomasabit:20180506105901p:plain

下にprometheusが取得しているMetricを入力すると(予測変換してくれます)、coinmarketcapからクローリングで取得したデータを可視化できます。 動かしてまもないのでほぼ直線ですが、過去24時間の各通貨の取引高のパーセント変動が確認できます。

f:id:naomasabit:20180506105904p:plain

このように、grafanaとprometheusで色々なデータを取得できます。 なお、これで取れるのはあくまで「coinmarketcapからクローリングして取れるデータ」であってブロックチェーンから取得した生データではありません。 ご注意ください。