この記事は Comprehensive Monitoring and Compliance Management for MySQL Databases using Enterprise Manager の翻訳版です。

 

MySQLデータベースの監視やコンプライアンス管理のためのソリューションをお探しですか? それなら、Oracle Enterprise Manager(EM)が最適です。EMは、Oracle Database、Oracle WebLogic Server、Exadataなどオラクルのアプリケーションやテクノロジーに対して、包括的な監視と運用管理を支援します。EM 13.5では、MySQLデータベースの稼働状態とパフォーマンスを監視し、Query Analyzerを使用して実行速度の遅いクエリを検出することで、パフォーマンスとセキュリティのベスト・プラクティスを取得・検証できます。このブログでは、MySQLデータベースの監視およびコンプライアンス管理タスクを効率化するEMの強力な機能について説明します。

 

MySQLの自動検出

最初のステップは EM で MySQL を検出することです。自動 もしくは 手動でデータベースを検出することができます。自動検出では、管理ホスト上のデータベースを自動的に検索して監視対象のデータベースを簡単に追加できます。これは簡単にターゲットの検出ができるため、複数のデータベースを運用する場合に便利です。データベースの検出に必要な情報(ターゲット名、MySQL 認証情報、ホスト、ポートなど)を指定して、手動で検出することもできます。MySQL の監視は検出後に自動的に開始されます。

 

MySQLアラートの設定

データベースの検出が完了したら、次はアラートの設定を行います。EM はInnoDB の動作やファイアウォールの動作など、何百ものMySQLデータベースのメトリクスを収集します。EM を使用すると、以下を実行できます:

  •     警告しきい値または重要しきい値を指定して、メトリクスがこれらのしきい値に達した場合にアラートをあげる。
  •     メトリック拡張機能を使用して、環境固有の条件に監視を拡張する。
  •     修正処理機能を使用して、アラートへの応答を自動化する。例えば、MySQLデータベースがダウンしているときに実行する対処方法を設定します。
  •     モニタリング・テンプレートを使用して、MySQLデータベースを横断するメトリックの標準しきい値を設定する。
  •     管理グループテンプレート・コレクションを使用して、複数のMySQLデータベースへのモニタリング設定とコンプライアンス標準の適用を自動化する。

 

MySQLの状態とパフォーマンスを素早く把握

MySQL ホームページからデータベースの全体的な状態とパフォーマンスの概要を確認できます。稼働履歴を確認し、過去24時間のステータスとその状態を可視化します。MySQL への接続や InnoDB バッファ・プールの使用量などの主要なパフォーマンス・メトリクスを監視します。これらのパフォーマンス・メトリクスにより、データベースへの接続数の異常な急増を素早く表示し、ダーティ・バッファ・プール・ページのパーセンテージを表示して、許容量に近づいたタイミングを確認することができます。また、重大なインシデントを追跡し、インシデント・マネージャにドリルダウンして、さらにトリアージを行います。たとえば、MySQL への接続が失敗した割合を追跡することで、サービス拒否(DoS)攻撃を検出できる可能性があります。

Figure 1: MySQL Homepage
図1:  MySQLホームページ

 

Query Analyzerによる実行速度の遅いクエリの監視

Query Analyzerは、MySQLデータベースの上位100のクエリとステートメントの特定の時点でのスナップショットです。これは、総レイテンシに基づいて実行速度の遅いクエリを特定するのに便利です。実行回数、平均レイテンシ、 返却された行数などの詳細を表示します。

Figure 2: Query Analyzer
図2:  Query Analyzer

 

MySQLアラートの管理

MySQLアラートを設定した後の管理方法について説明します。

  • 注: ベストプラクティスとして、Enterprise Managerでアクション可能なアラートおよびその他のイベントのインシデントを作成することをお勧めします。

インシデントルールを使用してインシデントを作成し、インシデント発生時に実行するアクションを指定します。たとえば、MySQLデータベースがダウンしたときにデータベース管理者に電子メールまたはSlackで通知するルールを指定して、管理者がそれぞれの対処をできるようにします。Microsoft Teamsなどの外部アプリケーションに通知を送信するには、Webhooks通知メソッドを使用します。  

組織が成長するにつれ、インシデントの受信量も増加し、管理が困難になる場合があります。これらを減らすには、イベント圧縮ポリシーを使用します。このポリシーは、関連するイベントのセットを自動的にグループ化し、対処可能なインシデントをより簡単に管理できるようにします。MySQLでは、関連するイベントを1つのインシデントにグループ化するカスタム・ポリシーを作成できます。ポリシーを公開する前にイベント圧縮分析ツールでポリシーの有効性をテストしておく必要があります。

インシデント・マネージャは、すべてのMySQLインシデントのライフサイクルの管理、インシデントの確認、修正処理の実行などを行うためのインタフェースです。また、それぞれの状況に応じたレコメンデーションを参考にしてインシデントを解決することもできます。

Figure 3: Use Incident Manager to manage incidents such as database down incidents
図3: インシデント・マネージャを利用したデータベース・ダウンなどのインシデント管理

インシデント管理にサードパーティのシステムを使用している場合は、コネクタを使用してEMをサードパーティのシステムと統合することが可能です。これらのコネクタを使用して、イベントやインシデントをMicrosoft SCOMやServiceNowなどのイベントおよびチケットシステムと同期できます。

 

パフォーマンスとセキュリティのベスト・プラクティスへの準拠

すぐに利用できる MySQL Compliance Framework によって、セキュリティやパフォーマンスのベスト・プラクティスに基づいてデータベースのコンプライアンスを評価できます。たとえば、セキュリティ・スタンダードを使用して、ファイアウォールが有効になっていることを確認し、サイバーセキュリティの脅威から保護します。Compliance Dashboard を使用して、MySQL データベースの全体的なコンプライアンスを管理し、重大なコンプライアンス違反や警告の割合も追跡できます。EM を使用して、MySQL データベースにおいて違反が発生している理由や、コンプライアンスに適合させるための推奨設定を確認することができます。さらに、それぞれの改善プロセスを列挙した完全な評価レポートを確認することができ、問題の特定に費やす時間を大幅に削減しながら組織内で保存・共有してさらなる調査に役立てることができます。オラクルが提供する標準定義に加え、カスタムマイズした定義を加えて評価することもできます。

Figure 4: View Compliance Dashboard and Evaluation Report for MySQL
図4:  Compliance Dashboardと評価レポートの表示

 

EM for MySQLを早速使ってみましょう!

Enterprise Manager は、さまざまな環境を大規模に監視・管理するオラクルのオンプレミスシステム管理ソリューションです。EMは、MySQLの包括的な監視とコンプライアンス管理を可能にします。今すぐMySQLデータベースのフリート監視にEMの機能をご活用ください。
Enterprise Managerの詳細については、以下を参照してください: 

Enterprise Manager の詳細については、以下を参照してください: