こんにちは!金杉です。
12/15(木)のアップデートで、IDCFクラウドのILBのノードに対してMackerelを使った監視ができるようになりました。今まで、ILBに対しての監視サービスは提供されていなかったので、これでパフォーマンス調査やトラブルシューティングがだいぶ楽になりますね。
ちなみにILBもMackerelも過去の記事で紹介してきましたが、ILBとはIDCFクラウド上で動作するオートスケール可能なロードバランサーで、Mackerelは株式会社はてなが提供するエージェント型のリソース監視ツールです。詳しくは、以下の記事を参考にしてください。
Mackerel関連記事
Mackerelブログリレー『第1回 新人がIDCFクラウドでMackerelを使ってみた』
Mackerelブログリレー『第2回 新人がMackerelにホスト登録してみた』
ILB関連記事
ILBを使ってWebサーバーをバランシング!構成事例もご紹介
はじめに
今回のアップデートのポイントを3つにまとめてみました。 ポイントの紹介後に、早速導入をしてみます。
1. Mackerelの導入が簡単かつ無料
ILBに対してのMackerel導入はとても簡単で、エージェントのインストールやコンフィグの書き換えなどの手間は一切不要です。設定の際にチェックを一つ入れて、APIキーを貼り付けるだけのめちゃ楽作業です。そして、無料です?
また、Mackerelインターフェイスでのメトリックグラフもすでに定義済みなので、手動で設定する必要もありません。現在は、以下3つの項目が見れるようになっています。項目ごとの説明はステップ③を参考にしてください。
1) Health Check Errors
2) Sessions
3) Traffics
2. UXを重視した見せ方
Mackerelを使って監視をする時、通常はサーバー1台ごとにリソースグラフが表示されますが、ILBでMackerelを使うとすべてのノードの状態をまとめて表示してくれます。
前提として、ILBは負荷に応じてオートスケールする(ノード数が増える)という特徴があります。しかし、ILBを監視する立場になると、ノード単体のリソース状況よりも全体のリソース状況が気になりますよね。よって、今回のアップデートではILBの全ノードを一体化したUX重視な見せ方を採用しています。
3. 稼働中のILBにも適用OK
「ええ!すごいじゃん!でもILBずっと昔に立てちゃったよ...」という方も、心配不要です!Mackerelの実装は、稼働中のILBに対しても可能です? 新規ILBとほぼ同様の方法で導入できるので、同じ手順を参考にしてください。
ILBにMackerelを導入してみる
それでは、早速ILBにMackerelをインストールしてみましょう。インストールには必ずMackerelのAPIキーが必要になってくるので、まずはMackerelの画面でAPIキーを確認し、その次にILBに対してインストールの手順を紹介します。
IDCFクラウドコンソールの上にカーソルを移動するとサービス一覧がでるので、そこからMackerelとILBの管理画面が開けます。
①事前準備〜Mackerel API Keyを確認〜
まずはMackerelの管理画面に移動します。IDCFクラウドからはシングルサインオンができるので、便利です。新規登録ができていない方は、ぜひこれを機会に登録してみてください。無料で使える特典プランもあります。
左のメニューから対象のオーガニゼーションを選択します。続いて「APIキー」のタブをクリックします。ここでAPIキーのコピーができます。一番右のアイコンをクリックするとそのままコピーしてくれますのでぜひ活用ください。
これでMackerelのAPIキーの確保ができましたので、ILBの設定に移ります。
②ILBにMackerelを導入
新規ILBに対してMackerelを導入する場合、まずILBの作成を行います。画面右上にある「ILB作成」をクリックします。 既存のILBの場合は、直接対象となるILBのILB名をクリックし、直接オプション入力のステップに移ります。
●パラメーター入力
ロードバランサーのネットワーク、FQDN、Configurationなどのパラメーターを入力します。設定で迷ったら、こちらの記事を参考にしてみてください。
●オプション入力
一通り設定が終わったら、オプションの入力をします。Mackerelのインストールもここで選択します。
「リソース監視」の欄にチェックを入れたら、APIキーの入力欄が表示されるので、先ほど確認したMackerelのAPI Keyをペーストします。Firewallの設定も適宜入れます。終わったら、「確認画面へ」をクリックし、問題なければ作成をします。
③MackerelでILBの様子を確認
ILBの画面にもどって、作成したILBのステータスがRunningになったらMackerelの画面で確認してみましょう。
Mackerelのダッシュボードで「Hosts」を確認すると、ILBのFQDNが表示されていて、ステータスがWorkingになっているはずです。
上図のホスト名をクリックすると、各種メトリックグラフが見えます。例のILBでは、Webサーバー2台を分散させています。(10.15.0.98と10.15.0.245)
▲Health Check Errorsのメトリック
ILBから分散先サーバーに対してのヘルスチェックの結果を見ることができます。値が1の時はヘルスチェック結果がエラーで、値が0の時はヘルスチェックが正常に通っているということになります。
▲Sessionsのメトリック
分散先サーバーごとのセッション数を見ることができます。さらにcurrentとrateで分かれており、currentは現在のセッション数で、rateは秒間の新規セッション数を表しています。
また、totalの値も見ることができます。currentのtotal値は分散先サーバーの合計のセッション数で、rateのtotal値は分散先サーバーの合計の新規セッション数です。
▲Trafficsのメトリック
分散先サーバーごとの秒間トラフィックを見ることができます。さらにtxBytesとrxBytesと分かれており、txBytesは秒間送信バイト数で、rxBytesは秒間受信バイト数を表しています。 (※単位はMbpsではなく、Mbytes/secなのでご注意くださいね)
トラフィックも同じく、totalの値を見ることができます。txBytesのtotal値は、各サーバーの秒間送信トラフィックの合計値なので、ILBの秒間トラフィックとも解読できます。今ままではIDCFクラウドのビリングより合計転送量のみ確認できましたが、今後は秒間トラフィックも確認できるのでとても便利です!
これで、ILBに対してのMackerelの導入は完了となります。監視ルールでもこれらのメトリックに対して設定を行えます。
さいごに
ILBのリソース状況が知りたい!という時は、ぜひこの記事に沿ってMackerelをインストールしてみてください。メリットは先ほどもありました通り、以下3点です。
1) 簡単かつ無料?
2) 見やすい?
3) 新規/既存のILBどちらも適用可能?
Mackerelについては以前もたくさん紹介してきましたが、毎日進歩しています。IDCFクラウドとも非常に相性がいいので、ぜひ仮想ルーターやホスト監視などでも活用してみてください。