Go言語のCLIからInfluxdbに為替情報を入れてGrafanaで可視化する
はじめに
為替情報を取得できるOANDA APIについてのWrapperとそれを使用したコマンドラインツール(goanda)をGo言語で作成しました。さらに、goandaとinfluxdbとgrafanaを使用して、為替情報を可視化しました。可視化までについてDocker Composeにまとめました。
環境
実際に試した際の環境です。
- Ubuntu 17.10
- Docker 17.12.0-ce
- Docker Compose 1.8.0
今回使用したものです。
- OANDA APIのWrapper
- 通貨ペア一覧、現在と過去のAskとBid、AskとBidについてのストリーミングデータのみ
- goanda
- Docker Compose
流れ
可視化までの流れです。
- Docker Composeを起動します。
- goandaがInfluxDBにデータベースの作成などInfluxDBの初期設定を行います。
- goandaがOANDA APIを使用して過去データをInfluxDBに保存します。
- goandaがOANDA APIのStreaming APIを使用してリアルタイムのデータをInfluxDBに保存し続けます。
- InfluxDBにデータが保存されているので、Grafanaに手動で設定し可視化を行います。
実践
実際に起動してみます。
アクセストークンの取得、設定
- OANDA APIを使用するために口座開設またはデモ口座を開設し、アクセストークンを発行必要があります。
git clone https://github.com/mmm888/exchange-api-docker
cd exchange-api-docker
cat << '_EOF_' > build/cmd/secret.go
package exchange
var (
userID = "REPLACE THIS WITH YOUR ACCOUNT ID"
token = "REPLACE THIS WITH YOUR ACCESS TOKEN"
)
_EOF_
REPLACE THIS WITH YOUR ACCOUNT ID, ACCESS TOKENから発行したアクセストークンに置き換えます。
また、docker-compose.ymlに環境変数を設定して、通貨ペア等の設定ができます。設定できる一覧はこちらです。
起動
Docker Composeを起動します。
docker-compose build
docker-compose up -d
Grafanaの設定
Grafanaが起動しているので、http://127.0.0.1:3000/ にアクセスします。
- User: admin
- Password: admin
データストアを以下のように設定します。
グラフを以下のように設定します。
こんな感じで、可視化できました。
まとめ
作ったのはOANDA APIのWrappeする部分とそれを使ったコマンドラインツールで、外部サービスを使用して可視化まで行いました。Go言語の勉強 + 外部サービスとあわせて起動するためにDocker Composeの使い方を勉強するのにちょうどよかったと思います。
参考
- OANDA API
- OANDA API Wrapper & Goanda
- Docker Compose
Author And Source
この問題について(Go言語のCLIからInfluxdbに為替情報を入れてGrafanaで可視化する), 我々は、より多くの情報をここで見つけました https://qiita.com/mmm888/items/95a9807a7572d1d33530著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .