Cisco ThousandEyesはネットワークのモニタリングをしてトラブルシューティングに役立つソリューションです。
SaaSで提供されており、設定情報はGUI画面から参照できますが、設定情報を一覧で参照したいとか、ドキュメントとして手元に保存したいという場合にはGUI操作では無理があります。
そこでAPIを使って設定情報を取得してドキュメントとして利用しやすいExcel形式で保存する方法を、ステップごとに整理しました。以下は概要と実装のポイントです。
1. ThousandEyes APIの基本情報
-
ベースURL
-
認証方式
OAuth Bearer Tokenを利用
トークンは Manage > Account Settings > Users and Roles > Profile で生成 (ThousandEyesのadmin権限が必要)
リクエストヘッダに以下を追加
Authorization: Bearer <your-token>
生成したトークンは安全な場所にコピー&ペーストして保存してください。トークンの再表示はできないので、トークンがわからなくなった場合は、生成済みトークンを失効させてから新しく生成することになります。
ThousandEyes APIの解説は以下のページをご覧ください。
2. 設定情報取得に使うエンドポイント
ThousandEyes APIは多くのリソースを提供しますが、設定情報に関連する代表的なものをいくつかあげます。
-
List configured tests
GET /tests
ネットワークやアプリケーションのテスト設定を一括で取得 -
List Agent to Server tests
GET /tests/agent-to-server
ネットワークテストの設定を取得 -
List HTTP Server tests
GET /tests/http-server
HTTP Serverテストの設定を取得
他にも、テスト種別毎に設定情報を取得するエンドポイントがあります。詳しくは下記のdeveloperページをご覧ください。
3. Windowsのcurl.exeでAPIにアクセス
APIを利用したアクセスはPythonやPostman1を使うと色々と便利ですが、今回はWindowsに標準で入っている curl.exe2を使って簡単にデータを取得する方法を行います。
コマンド例
curl -L --request GET ^
--url https://api.thousandeyes.com/v7/tests ^
--header "Accept: application/hal+json" ^
--header "Authorization: Bearer <your-token>" ^
--output tests.json
上の 1 で取得したトークンを <your-token> の部分に挿入して実行します。
Windowsなので、継続行は ^ (キャレット)、クォートは " (ダブルクォート)になります。
結果は tests.json ファイルにJSON形式で保存されます。
4. 実行例
Windowsのコマンドプロンプトを開いて、先ほど準備したコマンドをコピー&ペーストで貼り付けます。警告がでますが強制的に貼り付けをクリックします。
実行例
Excelを開いて、 データ>データの取得>ファイルから>JSONから とクリックして先ほど保存したtests.jsonを読み込みます。
なお、こちらの記事JSONファイルをExcelに変換を参考にさせていただきました。
tests.jsonを読み込んだら、List をクリックします。
テーブルへの変換 をクリックします。
そのまま OK をクリックします。
列の 開くマークをクリックします。
元の列名をプレフィックスとして使用しますのチェックを外して、さらに読み込み、OK をクリックします。
右にスクロールして、展開できるところを探して開きます。
ThousandEyesのデータ構造が単純なリスト形式ではなくて階層構造になっているので、さらに展開できる列があります。値を抽出する はエラーになることが多いので 新しい行に展開する を選びます。
元の列名をプレフィックスとして使用します のチェックを外して、OK をクリックします。
展開できる列がなくなったら、閉じて読み込む をクリックします。
Excel形式で読み込みができました。
1行に含まれるリスト構造を複数行に展開したので、同じ testIdが複数行にあるのがわかると思います。こちらは行をまとめるなど必要に応じて加工してください。
これでThousandEyesの設定情報を取得できるので、設定情報を手元で管理したい場合などに活用していただければと思います。
We Are Hiring!











