ENISHI

開発から運用まで、IT部門のお役に立つ情報をお届けするサイトです

システム管理

AWS Cost Explorerの情報をZabbixで監視してみた

New

公開日:
システム管理
#システム監視
#Zabbix

この記事でわかること

  • Zabbix 6.4以降の標準テンプレート「AWS Cost Explorer by HTTP」を使い、AWSのコスト情報をZabbixに取り込む手順(IAM設定からホスト作成・マクロ設定まで)

  • 取り込んだ日次・月次のコストを、ダッシュボード画面で確認する方法

  • テンプレート適用時に作成されるアイテム数や監視間隔など、アシストの社内環境で検証してわかった注意点


こんにちは!株式会社アシストのおのだです。

統合監視ツールのZabbixは、サーバーやネットワーク機器の監視だけでなく、運用に関わるさまざまな情報を集約する基盤として活用できます。

その一例として、今回はAmazon Web Services(以下、AWS)が提供するコスト分析ツール「AWS Cost Explorer」の情報をZabbixに取り込み、普段利用している監視画面からAWSコストの傾向を確認する方法を紹介します。

Zabbix 6.4(※)以降、標準でAWS Cost Explorer用の監視テンプレートが用意されていますので、その設定方法を順を追って説明します。

本記事で紹介する方法は、FinOpsをはじめとする専用のコスト管理ツールを完全に代替するものではありませんが、「ひとまず、ZabbixでAWSの日次・月次のコスト推移を可視化・把握してみたい」という時に有効な方法です。

※Zabbix 6.4はポイントリリースであり、すでにサポート対応が終了しています。サポート対象のZabbixバージョンはこちらをご確認ください。


AWS側の事前準備

AWSからデータを取得するために、Zabbix監視用のIAMユーザーとIAMポリシーを作成し、必要な権限を付与します。

{
 "Version": "2012-10-17",
 "Statement": [
{
"Action": [
"ce:GetDimensionValues",
"ce:GetCostAndUsage"
],
"Effect": "Allow",
"Resource": "*"
}
]
}

※作成したユーザーの「アクセスキー」と「シークレットアクセスキー」を保存しておいてください。

ページトップへ戻る

Zabbix側の設定方法

ホストの作成

まず、ホストを作成します。左側メニューの[データ収集] > [ホスト]からホスト画面に遷移し、右上の[ホストの作成]を押下します(図1)。

図1:[データ収集]>[ホスト]>[ホストの作成]を押下する

[新しいホストの作成]という画面が表示されるので、以下の情報を入力・選択します(図2)。

  • ホスト名:任意の名称を入力します

  • テンプレート:AWS Cost Explorer by HTTPを選択します

  • ホストグループ:任意のホストグループを選択します

図2:[新しいホストの作成]でホスト名とホストグループを入力する

マクロの設定

マクロの設定ホスト作成画面の[マクロ]タブに遷移します(図3)。

図3:ホスト作成画面の[マクロ]タブに遷移

今回はテンプレートに設定されたマクロを使用しますので、[継承したマクロとホストマクロ]を選択します(図4)。

図4:[継承したマクロとホストマクロ]を選択

AWSからデータを取得するために必要なマクロに値を入力します。値を入力する際は、対象のマクロの[変更]を選択してから入力します(図5)。

  • {$AWS.ACCESS.KEY.ID}:IAMユーザーのアクセスキー

  • {$AWS.AUTH_TYPE}:AWS認証方式(今回はデフォルトの「access_key」認証とします)

  • {$AWS.BILLING.REGION}:AWS Billingのリージョンコード(今回はデフォルトの「us-east-1」とします)

  • {$AWS.PROXY}:経路上にプロキシが存在する場合は入力

  • {$AWS.SECRET.ACCESS.KEY}:IAMユーザーのシークレットアクセスキー

図5:[変更]を選択してマクロの値を入力

マクロ入力後、[ホストマクロ]画面に遷移すると、入力した内容を確認できます(図6)。

{$AWS.SECRET.ACCESS.KEY}のように「目隠し」のマークとなっているマクロは「隠しテキスト」です。パスワードなどの秘匿性の高い情報は「隠しテキスト」にすることで、フロントエンド上に表示させないようにできます。

最後に[追加]ボタンを押下し、設定を保存します。これで設定は完了です。

図6:[ホストマクロ]画面で入力内容を確認

ページトップへ戻る

監視データを即時取得したい時(必要に応じて)

ホスト作成後、データが取得されるまで若干時間がかかることがあります。その場合は、[監視データ取得]を実行すると、すぐにデータを取得できます。[監視データ取得]は[ディスカバリ]と[アイテム]に対してそれぞれ実行します。

ディスカバリの場合

[データ収集] > [ホスト] 画面から、該当ホストの[ディスカバリ]を選択します(図7)。

図7:[データ収集]>[ホスト]>[ディスカバリ]を選択

ディスカバリルールは3種類あります。チェックボックスですべてを選択して、[監視データ取得]を実行するとローレベルディスカバリが実行されます(図8)。

少し時間を置くと、ディスカバリによってアイテムが作成され、アイテム数が一気に増えてきます。

図8:ディスカバリルールを全選択して[監視データ取得]を実行

アイテムの場合

[データ収集] > [ホスト] 画面から、該当ホストの[アイテム]を選択します(図9)。

図9:[データ収集]>[ホスト]>[アイテム]を選択

スクリプトアイテムの[Get daily costs]と[Get monthly costs]のチェックボックスを選択し、[監視データ取得]を実行すると監視データを即時に取得できます(図10)。

※下図キャプチャでは[タイプ]を[スクリプト]に絞って表示しています。

図10:対象アイテムを選択して[監視データ取得]を実行

なお、テンプレート側での[監視間隔のカスタマイズ]の[定期設定]により、[Get daily costs]は6時間ごと、[Get monthly costs]は毎日9時に実行されるような設定になっています。

ページトップへ戻る

監視データの確認方法

[監視データ] > [ホスト] 画面に遷移し、該当ホストの[ダッシュボード]を選択します(図11)。

図11:[監視データ]>[ホスト]>[ダッシュボード]を選択

[ホストダッシュボード]では、AWS Cost Explorerから連携されたコスト情報を確認できます。下図は[Monthly costs]を選択した画面で、月次の総使用コストがわかります(図12)。その他、ダッシュボードのタブを切り替えることでより詳細な情報を確認できます。

  • Monthly costs:月次の総使用コスト

  • Monthly costs by service:月次のAWSサービスごとの使用コスト

  • Daily costs by service:日次のAWSサービスごとの使用コスト

図12:[ホストダッシュボード]で[Monthly costs]を確認

また、他の監視項目と同様に、[監視データ] > [最新データ]から最新の監視データを確認することも可能です(図13)。

図13:[監視データ]>[最新データ]でコストを確認

ページトップへ戻る

検証してみて

実際にテンプレートを適用してみたところ、アシスト社内環境では500個程度のアイテムが作成されました。ローレベルディスカバリで作成されるアイテム数は、ご利用中のAWSサービス数に応じて変動します。サービス数が多い環境ではアイテム数がさらに増えるため、本番環境へ適用する前に検証環境で実際の数を確認しておくことをおすすめします。

アイテム数を抑えたい場合は、ホストマクロの {$AWS.BILLING.LLD.FILTER.SERVICE.MATCHES} を利用し、例えば^(AWS Lambda|Amazon Bedrock)$ のように検出対象のAWSサービスを正規表現でフィルタリングすることも可能です。

なお、アイテムが大量に作成されるものの、そのほとんどが[依存アイテム]です。実際にデータ取得を行う[スクリプトアイテム]は[Get daily costs]と[Get monthly costs]の2個ですので、それほどデータ収集の負荷が集中することはないと思われます。

また、監視間隔が長めに設定されているため、保存データ量が急増することも考えにくく、比較的試しやすいテンプレートだと感じました。

※念のため、監視運用業務への影響がないか、経過観察するようにしてください。

ページトップへ戻る

まとめ

冒頭で述べたとおり、Zabbixは監視だけでなく、運用に関わる情報を集約する基盤としても活用できます。AWSのコスト情報も、標準テンプレートを適用してマクロに値を入力するだけで、日々の監視画面から確認できます。まずはお手元の検証環境で試していただくのがおすすめです。

実際に運用に組み込む段階では、アイテム数の増加や取得頻度の調整、どのAWSサービスを監視対象とするかといった検討が必要になります。アシストは国内最上位のZabbixプレミアムパートナーとして、こうした監視設計・運用のご相談に対応しています。AWSの導入・運用支援や、マルチクラウド・SaaSのコストを統合管理するFinOpsプラットフォーム「Vantage」のご紹介も可能です。

※本コンテンツで紹介する設定は参考情報であり、設定内容や運用によって発生した損害について、当社は一切の責任を負いません。

Zabbixの設計や運用なら、プレミアムパートナーのアシストにおまかせください

国内には60社以上のZabbix公式パートナーが存在しますが、アシストはその中でも最上位の「Zabbixプレミアムパートナー」 に認定されています。

Zabbixのバージョンアップに限らず、「Zabbixをより安定的に運用したい」「障害発生時のリスクを最小限に抑えたい」「監視設計・運用を最適化し、業務負担を減らしたい」といったニーズに対して、アシストは豊富な導入実績と内製化支援ノウハウを活かし、最適な支援を提供します。Zabbixの運用課題は、アシストにご相談ください!

※記載されている会社名、製品名は、各社の商標または登録商標です。

ページトップへ戻る


この記事をシェアする

この記事を書いたスタッフ

著者の顔写真

おのだ

おのだ