OCIでインスタンスとロードバランサのモニタリングしてみた

こんにちは。Oracle Cloud Infrastructure(OCI)特集 編集部です。
今回はインスタンスとロードバランサをモニタリングするという内容のブログです。

YoutubeにてOracle Cloud Infrastructureのご紹介~ロードバランシングサービス~という動画で
ロードバランサについて説明していますのでそちらも是非ご覧ください。

 


 

目次

  1. モニタリングの概要

  2. インスタンスのモニタリング構築

  3. ロードバランサのモニタリング

  4. ロードバランサのモニタリングの構築

  5. まとめ

 

 


 

 

モニタリングの概要

 

OCI公式マニュアルから引用します。

Oracle Cloud Infrastructure Monitoringサービスを使用すると、メトリックおよびアラーム
機能を使用してクラウド・リソースを積極的および受動的にモニターできます。
そして、これらのメトリックがアラームで指定されたトリガーを満たしたときに通知を行います。

 


簡潔に説明するとOCIの一部のサービスではモニタリング機能を使って、インスタンスや
ロードバランサなどを監視することができます。

 

メトリック
(モニタリング・サービス)特定のリソースのヘルス、容量またはパフォーマンスに関する測定

 

アラーム
トリガー・ルール、評価を行う問い合わせおよびトリガーを破った時の通知の詳細など関連する構成。

 

 

今回はタイトルの通り、インスタンスとロードバランサの二つのモニタリングを行います。
大まかな流れとしては通知を受け取りたいメールアドレスを登録し、その後通知を飛ばすための
アラーム定義を作成します。
作成後にトリガーを意図的に発動させて、登録したメールアドレスへ通知のメールが飛ぶかどうかを検証します。


どちらも設定方法はそこまで難しくありませんが、アラーム定義でトリガーの発動条件を決める部分が少しわかりにくいかと思いますのでこのブログで理解できるように説明していきます。

 

それでは早速やっていきましょう!

 


 

 

インスタンスのモニタリング構築

 

ではここから構築を進めていきます。

 

はじめにVCNを建てます。「VCNの作成」をクリックし、任意の名前を入力してください。
今回はTest_VCNという名前で作りました。

 

 

次に今建てたばかりのVCNにインスタンスを作ります。今回はTest_ins1という名前で作りました。
インスタンスの作り方はOracle Cloud InfrastructureでWindowsサーバー建ててみた
紹介していますのでそちらをご覧ください。

 

 

インスタンスを作り終えたら通知の設定を行います。この設定は次に行うアラーム定義の条件に当てはまった場合の通知先を決めるものです。

 

左上のコンソールメニューから「監視および管理」→「通知」を選択します。

 

 

「トピックを作成」をクリックします。

 

 

クリックすると画像のような画面が表示されるので、任意の名前を入力してください。
今回はTest_TPで作ります。

 

 

次に「サブスクリプションの作成」をクリックします。

 

 

クリックすると構成の画面が表示されます。ここでは通知する方法を決めます。
今回は電子メールに通知が飛ぶように設定します。
通知を受け取りたいメールアドレスを入力してください。

 

 

作成が完了してもまだ完全に作業が終わったわけではありません。作成が完了すると設定したメールアドレスにメールが送られます。
以下の画像の赤枠の部分をクリックすることで通知の設定が完了したことになります。

 

 

ここまでで通知の設定が終わりました。

 

次にアラーム定義の設定を行います。
ここではモニタリングする対象と通知を飛ばすための条件を決めます。
まず「監視および管理」→「アラーム定義」を選択します。

 

 

「アラームの作成」をクリックします。

 

 

アラームの定義では入力する情報が多いので入力すべき場所を赤枠で囲ってあります。

アラーム名は任意のものを入れ、アラーム本体の部分にはなぜ通知が飛んだのかの理由を
入れましょう。
今回は名前をTest_alarmとし、アラームの内容としてはインスタンスに負荷がかかったことによる
通知とします。

コンパートメントは「モニタリングしたいインスタンスが入っているもの」を選択し、
メトリックネームスペースは「ocicomputeagent」を選択します。
ここでメトリックを生成するソース、サービスやアプリケーションを決めます。

CPUの使用率がみたいのでメトリック名は「CpuUtilization」を選択します。

 

 

ディメンション名は「resourceDisplayName」、ディメンション値は「モニタリングしたい対象」を選択します。
今回ははじめに作成したインスタンス1を使用します。

トリガールールは通知を飛ばすための条件のことです。

今回はCPU使用率が40%以上超える状態が5分間続いたら通知が飛ぶように設定します。
演算子と値、トリガー遅延分数によって様々な条件を設定できるので是非色々試してみてください。

 

 

通知を繰り返し飛ばしたい場合は欄にチェックを入れましょう。
今回は検証のために5分で設定しました。

※短い時間だと大量に通知が届いてしまうので要注意です。

 

 

全ての項目の入力が完了したら「Enable this alarm?」の欄にチェックを入れ、「アラームの保存」をクリックします。

 

 

以上でアラームの定義の設定が終わりました。

 


それでは通知がうまく飛ぶか検証していきましょう。

RDP接続したインスタンスにCPU Stressをインストールし、負荷をかけてみます。

 

 

アラーム履歴のところをご覧いただくと、CPUの負荷がトリガーで設定した40%を超えていることが確認できます。
これによりトリガーが発動します。

 

 

無事にメールが届きました。
これでインスタンスのモニタリングは成功です。

メールをご覧いただくとお分かりいただけますが、アラーム定義のところで本体の内容を
入力しないと何を知らせる通知か全くわからないので注意しましょう。

 

 


 

 

ロードバランサのモニタリング

 

では次にロードバランサのモニタリングを行います。

 

構図は以下の通りです。
今回はバックエンドサーバーがアクティブかどうかのモニタリングを行います。

 

 


 

 

ロードバランサのモニタリング構築

 

 

最初の部分はインスタンスのモニタリングと同様です。
まず、VCNを作成します。今回はTest_VCN2という名前にしました。

 

 

次にインスタンスを作りますが、ロードバランサのモニタリングを行いたいので
今回は二台作ります。
そこでTest_ins2と3を作りました。

 

 

次にロードバランサの作成です。
詳しくはYoutubeにてOracle Cloud Infrastructureのご紹介~ロードバランシングサービス~という
動画でロードバランサについて説明していますのでそちらを是非ご覧ください。

 

 

次に通知の設定ですがインスタンスのモニタリングと手順は同様なので省略させていただきます。
詳しくはインスタンスのモニタリングの「トピックの作成」をご参照ください。

 

 

通知の設定が終わったら、アラーム定義に移ります。
「監視および管理」→「アラームの定義」をクリック。

 

 

「アラームの作成」をクリックします。

 

 

アラーム名と本体の内容を入力します。
今回はバックエンドサーバーのアクティブ数をモニタリングします。

コンパートメントを選択したら、今回はロードバランサなのでメトリックネームスペースは「oci_lbaas」を選択します。
メトリック名はアクティブ接続をモニタリングしたいので「ActiveConnections」を選択します。

 

 

ディメンション名は「resourceld」を選び、
ディメンション値は「使用するロードバランサのOCID」を選びます。
トリガー・ルールは二つのバックエンドサーバーのうち一つが停止した状態が一分以上続いた場合に通知が飛ぶように設定します。

 

 

最後に「アラームの保存」を押して終了となります。

 

 

では通知が飛ぶか検証しましょう。
まず、ロードバランサのバックエンドサーバーのどちらかを停止させます。

 

 

画像の通り通知が届きました。

 

 

以上でロードバランサのモニタリングの設定が完了なります。

 

 


 

 

まとめ

 

今回はモニタリングについて取り上げました。

モニタリングはインスタンスやロードバランサ以外にも多くのクラウド・リソースを管理できます。
また同じインスタンスやロードバランサでも監視する対象を変えることができます。

今日ご紹介した機能はモニタリングのほんの一部にすぎません。
是非モニタリングの機能をフル活用してより多くのクラウド・リソースを管理してみて下さい。

 

 


他にもOCIには様々なサービスが提供されており、無料利用枠もあるので試してみてください!

https://www.oracle.com/jp/cloud/free/