Instana APIを使用してCSVをダウンロードしてみる
はじめに
InstanaのAPIで取得できる内容がjsonしかないので、
素人なりにサービスのリクエストの分析結果をCSVに加工してダウンロードするAPIをnode.js作ってみました。
それを使ってCSVをダウンロードしてみるといった内容になります。
素人がこのAPIをどうやって作ったの? という内容は別記事にしたいと思います。
軽く触れておくとChatGPTパワーです。
注意事項
著者が普段開発する技術者ではなく、ChatGPTにほぼ全て書かせたものなので今回使うものは高品質なソースコードではありません。
ツッコミどころ満載ですが、目を瞑っていただけると……。
前提条件
以下がインストールされていること(インストール手順は本記事では割愛します)
- node.js
- versionは何でもいいです
- 今回は v20.11.1 を使用しています
- git
本題
事前準備
ダウンロード
Gitにアップロードしているので、任意のディレクトリにcloneします
以下のコマンドを実行します。
git clone https://github.com/shunyu-tamura/instana-endpoint-analysis.git
cloneされたらディレクトリ内で必要なパッケージをインストールします。
以下のコマンドを実行します。
cd instana-endpoint-analysis npm install
設定ファイルの修正
config.jsonの以下の箇所を修正します
- "host": "api.example.com"
- Instanaのホスト
- "token": "your_api_token"
- InstanaのAPIトークン
起動
以下のコマンドで起動します。
npm start
以下のような結果が返ってきたら問題なく起動できています
> instana-endpoint-analysis@1.0.0 start
> node ./src/main.jsServer is running at http://localhost:3000
CSVをダウンロードしてみる
前日分の結果をダウンロード
ブラウザで以下にアクセスします。
※xxxの部分は分析対象にしたいサービスを入れます
http://localhost:3000/analysis/service/xxx
前日分のサービス内のAPIの分析結果のCSVがダウンロードされるはずです
日付を指定してダウンロード
指定する場合は以下のようにクエリパラメータを追加します
※yyyymmddの部分は分析対象にしたい日付を入れます
http://localhost:3000/analysis/service/xxx?date=yyyymmdd
最後に
そこまで時間をかけて作ったものではないので品質は良くないですが、社内ツールとして使う程度には十分なものではあると思います。
実はこのコードは1年近く前に作ったので、今はもっと高品質なコードで作れるのですが、時間がなかったのでご勘弁……。