技術ブログ
目次
峯岸です。当社でもパブリッククラウドにてデータベース構築を行う機会が増えてきました。その体験談をもとにパブリッククラウド上でのデータベースの監視やモニタリングについてお話させていただきます。
パブリッククラウドでデータベースを使用する方法としては大きく分けて2種類あります。
今回はパブリッククラウド特有のマネージドデータベースサービスを使用した場合の監視やモニタリングについてお話します。
今回はデータベースサービスとして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の接続数と同様の手順でアラームを作成します。各項目のメトリクスは以下となります。
次にモニタリングについてですが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.のカスタムメトリクスで実装し、アラートログ監視については2.のLambdaを用いて実装することが可能です。こちらについても次回以降手順を投稿させていただく予定です。
コーソルではパブリッククラウドでも監視可能なデータベースの監視製品やモニタリングする製品を取り揃えています。運用まで見据えてデータベース全体を設計しますのでパブリッククラウド上でのデータベース構築については是非コーソルにお問い合わせください。
クラウドベンダーの選定からクラウド上での環境構築までお客様を支援いたします。データベースに強みを持った当社が運用まで見据えた設計を行います。
Database Performance Analyzer (DPA)は、オンプレミスとクラウド上の多くのデータベース製品に対応したデータベース性能管理製品です。低価格であるため、非常に導入しやすいです。
Database Performance Analyzer (DPA)で検出された問題SQLをチューニングする際に、Toad for Oracle / Toad for SQL Serverの SQL Optimizer機能を使用できます。
リモートDBAサービスはDB・運用の専門家がお客様のデータベースに対して必要な時に必要な対応を行うリモート接続型運用保守サービスです。
時間制コンサルティングサービスは”必要な時に” ”必要な時間だけ”契約できる時間契約型のコンサルティングサービスです。