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에 대한 스트리밍 데이터 만
  • htps : // 기주 b. 코 m / 왓 m888 / 에 x 찬게 아피고 # 토끼


  • goanda
  • htps : // 기주 b. 코 m / 왓 m888 / 에 x 찬게 아피고 / t 네 / 뭐 r / cmd / 어안 # 우사게

  • Docker Compose
  • htps : // 기주 b. 코 m / 왓 m888 / 에 x 찬게 - 아피도 c 케 r / b ぉ b / 뭐 r / 도 c 케 루 코 m 포세. yml


  • 흐름



    시각화까지의 흐름입니다.
  • Docker Compose를 시작합니다.
  • goanda가 InfluxDB에 데이터베이스를 생성하는 등 InfluxDB를 초기화합니다.
  • goanda는 OANDA API를 사용하여 과거 데이터를 InfluxDB에 저장합니다.
  • goanda는 OANDA API의 Streaming API를 사용하여 실시간 데이터를 InfluxDB에 계속 저장합니다.
  • InfluxDB에 데이터가 저장되어 있으므로 Grafana에서 수동으로 설정하고 시각화합니다.

  • 실천



    실제로 시작해 보겠습니다.

    액세스 토큰 얻기, 설정


  • OANDA API를 사용하려면 계좌 개설 또는 데모 계좌를 개설하고 액세스 토큰을 발급해야 합니다.
  • htps //w w. 안녕. jp/

  • 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가 실행 중이므로 htp://127.0.0.1:3000/에 액세스합니다.
  • User: admin
  • Password: admin



  • 데이터스토어를 다음과 같이 설정합니다.



    그래프를 다음과 같이 설정합니다.



    이런 느낌으로 가시화할 수 있었습니다.

    요약



    만든 것은 OANDA API의 Wrappe하는 부분과 그것을 사용한 커맨드 라인 툴로, 외부 서비스를 사용해 시각화까지 실시했습니다. Go 언어 공부 + 외부 서비스와 함께 시작하기 위해 Docker Compose 사용법을 공부하는 데 딱 좋았다고 생각합니다.

    참고


  • OANDA API
  • ぇぇぺぺr. 안녕. 이 m/두 cs/jp/

  • OANDA API Wrapper & Goanda
  • htps : // 기주 b. 코 m / 왓 m888 / 에 x 찬게 아피고

  • Docker Compose
  • htps : // 기주 b. 코 m / m m888 / 에 x 찬게 아피도 c 케 r

  • 좋은 웹페이지 즐겨찾기