Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Grafanaで実現する高度なクラウドコスト監視

このページはEnglishDeutschEspañolFrançaisItalianoPortuguêsでもご覧いただけます。

By Vadim SoloveyOct 4, 20224 min read
Vadim Solovey

About Vadim Solovey

Founded DoiT in 2011 and have been here ever since — in every flavor of CTO, co-CEO, and now CEO. I started my career in 1999 building data centers before anyone called it "the cloud," and I've spent the two decades since trying to deliver on what the cloud was actually supposed to be. I still write code most weeks.

My personal page

コスト管理プラットフォームDoiT Cloud Analyticsと、オープンソースの分析・監視プラットフォームGrafanaを連携させ、可視性・分析・監視を一段引き上げる方法をご紹介します。

PerfectScale™ for Kubernetes

Ready to optimize?

Get your free Kubernetes savings analysis

GrafanaとDoiT Cloud Analyticsで、クラウドコストの分析・監視をもう一段先へ

DoiT Cloud Analyticsは、デジタルネイティブ企業向けの最新コスト管理プラットフォームで、クラウドコストをリアルタイムに可視化します。一方のGrafanaは、洗練された分析と監視を実現するオープンソースプラットフォームです。この2つを組み合わせられたら最高だと思いませんか? 私たちもそう考えました。

DoiTのCloud Analyticsを使えば、高度なクラウド支出レポートを作成してチームに共有できます。カスタム属性でリソースとコストをグループ化し、トレンドを検知・分析し、将来のコストを予測しながら予算を管理。クラウドの請求書を延々と目視で追う、あの苦行から解放されます。一方、時系列データの可視化ならGrafanaが定番です。監視、アラート、分析のいずれでも活躍し、Prometheus、InfluxDB、Graphite、Elasticsearchをはじめとする主要な時系列データソースに幅広く対応します。

用途はほぼ無限大です — ログ分析、キャンペーン指標、トラフィック分析のダッシュボードに加え、Cloud AnalyticsのデータをGrafanaに渡せば、Amazon Web ServicesやGoogle Cloudの支出も正確にモニタリングできます。

では、どう実現するのか。当社のプラットフォームはRESTful APIを公開しており、DoiT Cloud Analyticsで作成したレポートを簡単に取得できます。Reports APIの仕様や使い方は、DoiT Developer Portalで確認可能です。

Grafanaは標準ではREST APIからデータを取得できませんが、ありがたいことにInfinityプラグインがその役割を担ってくれます。JSON、CSV、XML、GraphQL、HTMLの各エンドポイントとGrafanaを連携させるためのプラグインです。

ステップ1

grafana.comからInfinityプラグインをインストールします。grafana-cli経由でも、GitHubから直接でも構いません。導入手順はプラグインのウェブページを参照してください。

ステップ2

Reports APIを利用するにはAPIキーが必要です。Cloud AnalyticsのAPIキーは、DoiT Developer Portalの手順に沿ってユーザープロファイルから発行できます。

data-analytics-cloud

ステップ3

所定のGrafanaダッシュボードでcmp_api_key変数を更新し、APIキーをセットします。値には「Bearer 」(末尾の半角スペースに注意)に続けてAPIキー本体を指定してください。

grafana-aws

ステップ4

Grafanaダッシュボードに新しいパネルを追加します。データソースに「Infinity」を選択し、以下のとおり設定してください。

Typeは「UQL」

Sourceは「URL」

Formatは「Time Series」

URLにはCloud AnalyticsのレポートURLを指定します。これはReports APIのreports.get()メソッドで通常使用するURLと同じものです(リファレンス参照)。

grafana-tool

ここからが本題のUQLクエリです。reports.get()のレスポンスを、Grafanaが解釈できる形式に変換していきます。

UQLはインメモリ処理を前提に設計された、独自仕様のクエリ言語です。クエリは | (パイプ)で連結したコマンド群を1行ずつ記述する形で組み立てます。フィールド名はダブルクォート、文字列値はシングルクォートで囲むのが基本です。詳しい構文はこちらを参照してください。

例として、reports.get()を呼び出すと以下のレスポンスが返ってきます。簡潔さのため一部を省略しています。

graphana-dashboard

JSONの"result"は、"schema"と"rows"の2つで構成されます。前者はデータ構造のメタデータ、後者がデータ本体です。

Grafanaはレポートの「schema」を解釈できないため、次のUQLを使用しています。

graphana-graph

ステップ5

レポートに使いたい可視化形式を選び、必要に応じて他のパネルパラメータも調整します。準備が整えば、GrafanaにCloud Analyticsレポートが表示されるはずです!

あなたのダッシュボードを見せてください!

Cloud AnalyticsプラグインとGrafanaの連携を、私たちと同じくらい価値あるものとして活用していただけたら嬉しく思います。ぜひ皆さんのダッシュボードを拝見したいです! スクリーンショットを [email protected] までお送りください。最も多く支持を集めた方には、500ドル分のAmazonギフトカードを進呈します。

もっと読みたい方は、ブログをご覧いただくか、VadimのTwitterをフォローしてください。

Your cloud bill shouldn't be a mystery

Optimization, automation, expertise. In one platform.