はじめに

こんにちは!
以前、高速リカバリ領域についての記事を執筆させて頂いた「たくみ」です。

今回は
Oracle Cloud Infrastructure(OCI)のモニタリング機能
について、ご紹介します。
OCI上で起動するリソースの メトリック監視
アラーム通知の設定簡単に実施することができます。
そのことを実機検証を交えてお伝えさせていただきます!

前提条件

モニタリング機能を使用するにあたって、下記3つの前提条件がありますので簡単にご紹介します。

  • サービス・ゲートウェイまたはパブリックIPアドレスの構成
    リソースのメトリックをモニタリング・サービスに送信するために必要となります。
  • Oracle Cloud Agentのインストール
    コンピュート・インスタンスで実行されているプラグインを管理する軽量プロセスです。
    基本的にはデフォルトでインストールされます。
  • コンピュート・インスタンスのモニタリング・プラグインの有効化
    プラグインはOracle Cloud Agentの一部としてインストールされ、各種サービスを提供します。
    「コンピュート・インスタンスのモニタリング」もプラグインの一種です。

詳細は下記のマニュアルをご参照ください。

マニュアル
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/enablingmonitoring.htm

ご紹介内容と異なる場合や困ったことがあったら、前提条件を満たしているか再度確認してみてくださいね。

コンピュート・インスタンスの作成

今回の検証に用いる
コンピュート・インスタンスを作成します。
※インスタンスを作成する前に、コンパートメントの作成が必要となります。

※本記事では手順を一部省略させていただきます。
詳細な作成手順は下記のマニュアルをご参照ください。

マニュアル
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/launchinginstance.htm#Creating_an_Instance

早速作成していきましょう!

まず、OCI画面の左上にある「≡」からコンソールメニューを開き、
「コンピュート」>「インスタンス」の順にクリックします。

「インスタンスの作成」をクリックします。

インスタンスの作成画面が表示されますので、各項目を設定していきます。

ここで今回ご紹介するモニタリング機能を使用するために必要な設定項目があります!
まず、画面最下部の拡張オプションの表示」をクリックし、
「Oracle Cloudエージェント」タブを選択します。

そして先述したプラグイン「コンピュート・インスタンスのモニタリング」
チェックが入っていることを確認してください。

※デフォルトでチェックが入っていますが、念のため確認しましょう!

そして最後に「作成」をクリックします。

無事にインスタンスが作成できました!!

ちなみに、コンピュート・インスタンスのモニタリングは
インスタンス画面の「Oracle Cloudエージェント」タブの「コンピュート・インスタンスのモニタリング」
無効・有効化することも可能です。

作成時に無効にしてしまっても安心ですね!

メトリックの参照

コンピュート・インスタンスのメトリック参照

早速コンピュート・インスタンスのメトリックを確認しましょう!

コンピュート・インスタンスを起動後、コンピュート・インスタンス画面の左下の
「リソース」から「メトリック」を選択します。
すると下記画像のように各メトリックのグラフが参照できます!!

画像ではCPU使用率メモリー使用率が確認できていますね。

こちらの画面では下記のメトリックを確認することができます。

  • CPU使用率
  • メモリー使用率
  • ディスク読取りI/O
  • ディスク書込みI/O
  • ディスク読取りバイト
  • ディスク書込みバイト
  • ネットワーク受信バイト
  • ネットワーク送信バイト
  • ロード平均
  • メモリー割当てのストール

グラフに表示させる時間帯も画像の箇所で簡単に変更できます。

調査はもちろんですが、何かシステムに変更があったときにGUIでぱっと傾向をつかめる環境があるのはありがたいですね。

複数リソースのメトリック同時参照

ここでは複数のリソースのメトリックを同時に参照する方法をご紹介します。
ご紹介にあたって、同じコンパートメント内にもう一つコンピュート・インスタンスを作成しています。

「コンソールメニュー」を開き、
「監視および管理」>「サービス・メトリック」の順に選択します。

次に「コンパートメント」から対象リソースが所属しているコンパートメントを選択し、
「メトリック・ネームスペース」には「oci_computeagent」を選択します。

画像にあるディスク書込みI/Oディスク書込みバイトをご覧ください!

2つのコンピュート・インスタンスのメトリックが同じグラフに表示されていますね。
ここを確認することで、複数環境のメトリックを簡単に比較することができます‼

アラーム通知

ここまではリソースのメトリックを確認する方法をご紹介しました。

しかし、運用中にこれらのグラフを常に見ているわけにはいきません。
専門の担当者が見ている場合もありますが、見落とす場合もあるでしょう。
そのため、OCIにはメトリック値が閾値を超えた際に感知できるようにアラーム通知機能があります。
ここからはその通知機能についてご紹介します。

通知先の設定

まずはじめにアラームの通知先の設定方法をご紹介します。

コンソールメニューから「開発者サービス」>アプリケーション結合配下の「通知」の順にクリックします。

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

トピックとはメッセージをサブスクリプション(URLやメールアドレス)に
送信するための通信チャネルです。

トピックの作成画面が表示されるので、「名前」「説明」を記入します。
ここでは名前は「TEST」としています。
最後に「作成」をクリックします。

無事にトピックが作成できました!
次にこの作成したトピックの名前をクリックして、トピックの詳細画面を表示させます。

詳細画面が表示できたら、「サブスクリプションの作成」をクリックします。

サブスクリプションの作成画面が表示されたら、まず「プロトコル」を選択します。
ここではアラームをメール送信するために「電子メール」を選択しています。

「電子メール」項目にはアラーム通知の送信先となるメールアドレスを記入し、「作成」をクリックします。

無事にサブスクリプションが作成できました!
状態がPendingとなっていますが、
指定したメールアドレス宛に送付されるメールのURLをクリックすることでActiveになります。

指定されたメールアドレス宛に届くメールのURLをクリックします。
私が検証した際は迷惑メールとして飛んできてしまいました(笑)

しばらくしてもメールが確認できない場合は、迷惑メールフォルダを確認してみることをおすすめします!

URLをクリックすると下記画面が表示されます。

もう一度サブスクリプションの状態を確認すると無事にActiveになりました!

アラーム定義の作成

次にアラーム定義を作成していきます。
通知させるメトリックの種類、閾値を定義していきます。

コンソールメニューから「監視及び管理」>モニタリング配下の「アラーム定義」の順にクリックします。

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

アラーム作成画面が表示されますので、各項目に記入していきます。

  • アラーム名
    アラームの名前です。ここでは「TEST_ALARM_CPU」としています。
  • アラームの重大度
    アラームの重大度を指定します。選択肢としては「クリティカル」や「警告」等があります。
    ここでは「クリティカル」を指定しています。
  • アラーム本体
    通知される文言を記入します。アラームの内容やその解決方法等を記載します。
    ここでは「コンピュート・インスタンスのCPU使用率のアラームテストを実施中です。」と記載しています。
  •  メトリックの説明
  • コンパートメント
    コンパートメントを指定します。
  • メトリック・ネームスペース
    「oci_computeagent」を指定します。
  • メトリック名
    対象のメトリックを指定します。
    ここではCPU使用率のアラームを定義するため、「CpuUtilization」を指定しています。
  • 間隔
    データのセットを集計関数で変換する際の時間ウインドウの長さを指定します。
    ここではデフォルトの「1分」を指定しています。
  • 統計
    データのセットの集計関数を指定します。
    ここではデフォルトの「Mean」(指定された期間中のデータの合計を件数で割った値)を
    指定しています。
  • ディメンション名
    「resourceDisplayName」指定しています。
  • ディメンション値
    監視対象とするインスタンスの名前を指定しています。
  • トリガー・ルール
  • 演算子 アラームを起動させるために満たす必要がある条件の演算子を指定します。
    ここでは「次より大きい」を選択している。

  • 閾値を指定します。ここでは「80」としています。
  • トリガーの遅延分数
    アラームが起動状態になるまでに条件が維持される分数を指定します。
    ここでは「5」としています。
  • 宛先
  • 宛先サービス
    「通知」を指定します。
  • コンパートメント
    コンパートメントを指定します。
  • トピック
    先ほど作成した「TEST」トピックを指定します。
  • メッセージのグループ化
    「メトリック・ストリーム全体で通知をグループ化」を選択しています。
  • メッセージの書式
    「フォーマットされたメッセージの送信」を選択しています。

最後に「このアラームを有効化しますか。」にチェックを入れ、「作成」をクリックします。

無事にアラームを定義することができました!!

アラームを鳴らす

準備が整いました!
それでは実際にアラームを鳴らしてみましょう!!

今回は「stress」コマンドを使用して意図的にCPU使用率を高騰させてみます。
まずは「stress」コマンドをインストールします。

Tera Termでコンピュート・インスタンスにログインします。
ユーザーは「opc」秘密鍵を用いてログインします。
そして、下記コマンドを実行します。

sudo yum repolist all | grep -i epel

ol8_developer_EPELのステータスが「disabled」ですので、有効化します。

ol8_developer_EPEL               Oracle Linux 8 EPEL Packages for Devel disabled

有効化コマンドです。

sudo yum-config-manager --enable ol8_developer_EPEL

もう一度ステータスを確認すると、ステータスがenabledになっていますね。

ol8_developer_EPEL               Oracle Linux 8 EPEL Packages for Devel enabled

それでは、「stress」コマンドをインストールします。
コマンドは下記です。

sudo yum -y install stress

無事にインストールすることができました!

Oracle Linux 8 EPEL Packages for Develo     [===                                    ] ---  B/s |   0  B     --:-- ETAOracle Linux 8 EPEL Packages for Development (x86_64)
Last metadata expiration check: 0:00:07 ago on Fri 23 Dec 2022 08:34:09 AM GMT.
Dependencies resolved.
======================================================================================================================
 Package                Architecture           Version                       Repository                          Size
======================================================================================================================
Installing:
 stress                 x86_64                 1.0.4-24.el8                  ol8_developer_EPEL                  40 k
・
・
【中略】
・
・
Installed:
  stress-1.0.4-24.el8.x86_64

Complete!

それではCPU使用率を下記コマンドで高騰させます。

stress -c 2

CPU使用率のメトリックを確認するとCPU使用率が高騰していることがわかります。

しばらく待つと・・・・

無事にアラーム通知のメールが飛んできました!
これでCPU使用率が高騰したことを検知できますね!!

ちなみにCPU使用率が低下してアラームが解除されると、下記のようなメールが来ます。

「Status」が「OK」になっていますね。
これでアラームが解除されたことがわかります!

さいごに

いかがだったでしょうか。

今回はOCIのモニタリング機能について、
メトリックの監視方法からアラーム通知の設定方法までをご紹介させて頂きました。

特に難しい設定もなく、簡単にできることをお判り頂けましたら幸いです。
最後までご精読頂きまして、ありがとうございました!

OCIに関して何かございましたら、お気軽に当社までお問合せください!

投稿者プロフィール

技術チーム
技術チーム
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早6年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!