動機
mackerelやDatadogといった監視サービスはありますが、
Azure Monitorはダッシュボードやアラートも統合されており、Azureをメインに使っている場合はこれで十分な感があります。
Azure外のマシンにエージェントを入れてLog Analyticワークスペースに監視データを送信する方法とどの程度費用がかかるのか気になったので検証してみました。
エージェント
Azure MonitorエージェントとLog Analyticsエージェントがあります。
Azure MonitorエージェントはDCR(データ収集ルール)を作成しVMに関連づけるというものです。
Azure Monitorエージェントはプレビュー段階なので、Log Analyticsエージェントの方を使います。
Log Analyticsワークスペース作成
ポータルよりLog Analyticsワークスペースを作成します。
Log Analyticsエージェントインストール
今回はLinuxサーバー(CentOS 7)で試してみます。
作成したLog Analyticsワークスペースのエージェント管理よりLinuxサーバーのタブを選択し
「Linux 用エージェントをダウンロードおよびオンボードする」のコマンドをコピーして、
インストールしたいLinuxサーバーで実行します。
これだけでエージェントのインストールは完了します。
Log Analyticsワークスペースも接続状態になります。
収集データの設定
待っていましたが、Heartbeatしか収集されません。
収集対象の設定が必要でした。
Log Analyticsワークスペースの詳細設定よりData > Linux Performance Countersを選択し、
クイックスタート用の一般的なものが用意されているのでそちらを選択してみます。
しばらくすると無事収集されているようでした。
コスト
10 秒間隔での特定のカウンターの収集量の大まかな見積もり値は、インスタンスごとに 1 日あたり約 1 MB です。
とドキュメントにはありましたが、
わたしの環境では13個のパフォーマンスカウンターで1日40Mでした。
30日で1.2Gで東日本だと¥450くらいです。
普段業務で使っているものより高いような気がして思い見直してみると
データインジェント
米国東部 ¥257/GB
東日本 ¥374/GB
と、結構な価格差がありました。
監視で使う分には米国でも特に困っていません。こだわりがなければ安いリージョンを選んでおくのがいいのではないでしょうか。
データ量が増えると結構な差になります。
その他
収集ルールを一元管理できてよさそうなAzure Monitorエージェントも試してみたいと思い、
DCRを作って設定してみましたが、収集されているのかよくわかりませんでした。
リージョンも制限されているようです。
まだプレビューのようなので今後に期待です。
参考ドキュメント
https://docs.microsoft.com/ja-jp/azure/azure-monitor/platform/agent-linux
https://docs.microsoft.com/ja-jp/azure/azure-monitor/platform/data-collection-rule-overview
https://docs.microsoft.com/ja-jp/azure/azure-monitor/platform/manage-cost-storage