株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

パブリッククラウドでのデータベース監視・モニタリング

峯岸です。当社でもパブリッククラウドにてデータベース構築を行う機会が増えてきました。その体験談をもとにパブリッククラウド上でのデータベースの監視やモニタリングについてお話させていただきます。

パブリッククラウドでのデータベースの選択肢

パブリッククラウドでデータベースを使用する方法としては大きく分けて2種類あります。

  1. オンプレミス環境のようにIaaSのVMインスタンス上にデータベース製品をインストールして使用する
  2. マネージドデータベースサービス(DBaaS)を使用する

今回はパブリッククラウド特有のマネージドデータベースサービスを使用した場合の監視やモニタリングについてお話します。

データベースの監視/モニタリング

今回はデータベースサービスとしてAWSのAmazon RDS for Oracleを使用した場合の設定方法をご説明いたします。AWSでは様々なサービスが用意されており、ある程度AWSのサービスのみで監視の仕組みを構築可能です。

・Eメール通知設定手順

Eメール通知を行うため、Amazon SNSのSNSトピックを作成します。AWSマネジメントコンソールにログイン後、Amazon SNSサービスページに移動し、左側のリストより「トピック」(1)をクリックします。表示された画面で「トピックの作成」ボタン(2)を押下します。

トピックの作成画面が表示されたらタイプで「スタンダード」(3)を選択し、名前に一意に識別できる名称を入力し(4)、「トピックの作成」ボタン(5)を押下します。

以下の画面に戻りますので「サブスクリプションの作成」ボタン(6)を押下します。

プロトコルに「Eメール」(7)を選択し、エンドポイントに通知を受け取るEメールアドレス(8)を入力し、「サブスクリプションの作成」ボタン(9)を押下します。

登録したEメールアドレスに確認通知が届くため、「Confirm subscription」リンク(10)をクリックします。

Eメールのリンクをクリック後、ブラウザで以下の画面が表示されればEメール通知設定は完了です。

・DBの接続数監視
 ※ネットワーク経由でのRDSインスタンスへの接続数をOSレベルでカウントしているため、V$SESSIONで確認できるセッション数とは若干異なります

AWSマネジメントコンソールよりCloudWatchサービスページに移動します。左側のリストより「すべてのアラーム」(11)をクリックし、「アラームの作成」ボタン(12)を押下します。

メトリクスと条件の指定画面で「メトリクスの選択」ボタン(13)を押下します。

メトリクスの選択を行います。検索条件欄(14)にRDS,oracle,connectionを指定します。抽出された条件のリンク(15)をクリックします。

対象のメトリクスのチェックボックス(16)にチェックを入れ、「メトリクスの選択」ボタン(17)を押下します。

メトリクスと条件の指定画面に戻ります。ブラウザで下にスクロールし「条件」の設定項目まで移動します。

「しきい値の属性」(18)、しきい値の条件(19,20)を入力します。ここではDB接続数が100より大きい場合にアラートが発動するように設定します。入力後、「次へ」ボタン(21)を押下します。

「アクションの設定」画面でアラーム状態トリガーに「アラーム状態」(22)を選択し、次のSNSトピックに送信の項目で「既存のSNSトピックに通知を送信」(23)を選択し、「通知の送信先」(24)に今回作成したSNSトピックを指定します。

画面下部にスクロールし、「次へ」ボタン(25)を押下します。

「名前と説明を追加」画面で「アラーム名」(26)に適切な名称を入力し、「次へ」ボタン(27)を押下します。

「プレビューと作成」画面で設定した内容に問題がないか確認します。

画面下部にスクロールし、問題がないことが確認できたら、「アラームの追加」ボタン(28)を押下します。

これで、DB接続数の通知設定は完了です。アラームのしきい値に抵触すると以下のようなメールが通知されます。

・OSのCPU/メモリ/ストレージ監視

OSのCPU/メモリ/ストレージについてもCloudWatchのメトリクスとして保存されているため、DBの接続数と同様の手順でアラームを作成します。各項目のメトリクスは以下となります。

  • CPU使用率: CPUUtilization
  • 空きメモリ容量: FreeableMemory
  • 空きディスク容量: FreeLocalStorage

次にモニタリングについてですがAWSにはPerformance Insighsというパフォーマンスモニタリングのツールが用意されており、遅延が発生しているSQLなどを確認することが可能です。

まず、AWSマネジメントコンソールよりRDSサービス画面に遷移し、左側のリストより「Performance Insights」(29)をクリックします。次に対象のデータベースを選択(30)すると各種パフォーマンス情報が表示されます。「トップSQL」(31)も確認することができ、時間がかかっているSQLの実行計画(32)も参照することが可能です。

以上がCloudWatch Alarmを用いたデータベース監視/Performance Insightsを用いたモニタリングの手順となります。

その他監視項目

CloudWatch Alarmを用いたデータベースの監視手順を記載しましたがメトリクスがないものについてはCloudWatch Alarmは使用できないため最低限必要と思われる以下の監視項目については別の方法で監視を実装する必要があります。

・アラートログ監視
・表領域監視

サードパーティー製品を入れずに、AWS上で上記監視を実装する方法は大きく分けて2つです。

  1. カスタムメトリクスを作成し、CloudWatch Alarmでチェック可能な状態にする
  2. それ以外(AWS Lambdaやaws cli等のプログラム/コマンドを用いて監視/通知を実装する)

表領域監視については1.のカスタムメトリクスで実装し、アラートログ監視については2.のLambdaを用いて実装することが可能です。こちらについても次回以降手順を投稿させていただく予定です。

パブリッククラウドのデータベース構築はコーソルにお任せを!

コーソルではパブリッククラウドでも監視可能なデータベースの監視製品やモニタリングする製品を取り揃えています。運用まで見据えてデータベース全体を設計しますのでパブリッククラウド上でのデータベース構築については是非コーソルにお問い合わせください。

クラウド設計・導入サービス

クラウドベンダーの選定からクラウド上での環境構築までお客様を支援いたします。データベースに強みを持った当社が運用まで見据えた設計を行います。

クラウド設計・構築サービス

Database Performance Analyzer (DPA)

Database Performance Analyzer (DPA)は、オンプレミスとクラウド上の多くのデータベース製品に対応したデータベース性能管理製品です。低価格であるため、非常に導入しやすいです。

Database Performance Analyzer DPA

自動SQLチューニング機能を持つToad

Database Performance Analyzer (DPA)で検出された問題SQLをチューニングする際に、Toad for Oracle / Toad for SQL Serverの SQL Optimizer機能を使用できます。

リモートDBAサービス

リモートDBAサービスはDB・運用の専門家がお客様のデータベースに対して必要な時に必要な対応を行うリモート接続型運用保守サービスです。

リモートDBAサービス

時間制コンサルティングサービス

時間制コンサルティングサービスは”必要な時に” ”必要な時間だけ”契約できる時間契約型のコンサルティングサービスです。

時間制コンサルティングサービス

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ