初めまして。t.mizukamiです。
Oracle Cloud Infrastructure Advent Calendar 2024のシリーズ3 Day19の記事です。
先日、BaseDBにてカスタムメトリックを設定する機会があり、インスタンスでの設定手順とは少し違う点があったため、ご紹介していこうと思います。
目次
カスタムメトリックの概要
カスタムメトリックは、ユーザーが独自のアプリケーションやシステムで生成するデータをOCIのMonitoringサービスに送信し、それを可視化・監視・アラートに利用できる機能です。
OCIは標準メトリック(例:インスタンスのCPU使用率やストレージのディスク容量など)を提供しますが、カスタムメトリックを利用すると、以下のように具体的な情報を監視できます。
1.ユーザー定義のメトリック:
- システムやアプリケーションから独自に収集したデータ(例:アプリケーションのリクエスト数、エラー率、メモリ使用量など)をモニタリングに送信可能。
2.可視化と分析:
- ダッシュボードでカスタムメトリックをグラフ化し、パフォーマンスや傾向を確認できます。
3.アラート通知:
- カスタムメトリックに基づいてアラートを設定し、閾値を超えた場合に通知を受け取ることで、迅速な対応が可能。
4.高い柔軟性:
- 任意のデータポイントをメトリックとして定義できるため、用途に応じて様々な指標を監視可能。
カスタムメトリック設定手順
カスタムメトリックをBaseDBへ設定していくにあたり以下の4点を設定しておきます。
事前準備①:OCI CLI及びPythonのインストール確認
まずはじめにSSHで対象のサーバへログインし、OCI CLI及びpythonがインストールされているかを確認していきます。
インストールされていない場合は以下コマンドを参考にインストールを実行する
①OCI CLIのインストール sudo dnf -y install oraclelinux-developer-release-el8 sudo dnf install python36-oci-cli ②Pythonのインストール sudo dnf module enable python:3.8 -y sudo dnf install -y python3
次にpsutilのインストールを実行します。
psutilとはPythonで実行中のプロセスとシステム使用率に関する情報を取得するためのプラットフォームです。
以下のコマンドを実行しpsutilがインストール済みかを確認します。
インストールされていない場合は②以降のコマンドを実行しインストールをしていきます。
①pipの一覧を表示 pip3 list ②pipを最新版へ更新 sudo python3 -m pip install --upgrade pip ③psutilのインストール pip3 install psutil
事前準備②:Configファイルの作成
次にConfigファイルを作成します。
BaseDBでのカスタムメトリック設定ではconfigファイル認証を使用するため事前に設定しておきます。
以下コマンドにて実施します。
oci setup config
公開鍵の中身を以下コマンドで確認し、OCIコンソール上にてAPIキーの登録を行います。
cd .oci cat oci_api_key_public.pem
APIキーのページを開き、APIキーの追加を選択します。
公開キーの貼付けを選択し、先ほど確認した公開鍵をペーストして追加を選択します。
以下のようにAPIキーが登録されていれば完了です。
事前準備③:動的グループ及びポリシーの作成
次に動的グループ及びポリシーの作成を行なっていきます。
記載方法については公式ドキュメントがありますのでそちらを参考にしてください。
①動的グループの作成
アイデンティティ→ドメイン→対象のドメインを選択→動的グループ
任意の名前をつけ、以下のポリシーを定義する。
②ポリシーの作成
必要なポリシーを追加して、ネームスペースを作成し、メトリックをモニタリング・サービスにプッシュする権限をユーザー・グループに付与します。
事前準備④Pythonファイルの準備
カスタムメトリック設定を行うにあたりPythonファイルの修正及び配置をしていきます。
公式ドキュメントに記載されているサンプル・スクリプトとの変更点について中心に説明します。
インスタンスなどでのカスタムメトリック設定ではインスタンスプリンシパル認証を使用しますが今回は事前準備で設定したconfigで認証を行います。
そのため、以下画像での赤枠の箇所を変更する必要があります。
※元のインスタンスプリンシパル認証部分はコメントアウトしています。
Pythonファイルの実行及びOCI上での設定
Pythonファイル修正後に対象サーバへ配置し、実行していきます。
以下コマンドを使用して、スクリプトに実行権限を追加します。
chmod +x disk_usage.py
配置したPythonファイルを実行し、以下のようなコマンド結果になれば成功です。
次にOCIモニタリングサービスへデータを送信するためスケジューリングを行います。
以下コマンドを実行し、crontabにスクリプトの詳細を追加します。
crontab -e
# Cron job example with every 1 min execution.
*/1 * * * * /usr/bin/python3 /home/opc/disk_usage.py
OCIコンソールでカスタムメトリックの設定をしていきます。
監視および管理>モニタリング>アラーム定義の順に遷移していき
さいごに
今回は、OracleBaseDBでのカスタムメトリック設定の概要から設定方法についてご紹介しましたが、いかがでしたでしょうか。
公式で記載されているインスタンス手順と今回のOracle Base Databaseとでは認証方法やConfigの設定などがありますが
応用できる手順ではございますので、ぜひ参考にしていただけると幸いです。
以上、最後までご覧いただきありがとうございました。