sql >> データベース >  >> RDS >> Mysql

MySQLforMoodleを監視するためのヒント

    データベースの監視は、アプリケーションのメンテナンスの重要な部分です。データベースの問題を時間どおりに見つけることで、アプリケーションの正常性とアクセス性を維持できます。監視を実施しないと、データベースの停止が長引く可能性があり、その結果、ユーザーのダウンタイムが増加します。このブログでは、Moodleデータベースで監視する必要があるものと、ClusterControlを使用して監視する方法について説明します。

    ClusterControlの監視

    ClusterControlを使用すると、データベースを効率的に監視できます。これは、データベースホストにエージェントを展開するか、SSH経由でデータベースに接続するだけでエージェントレスの方法で監視できます。データは、多数のダッシュボードとチャートの形式でGUIに表示されます。

    ClusterControlモニタリングはどのように機能しますか?

    ClusterControlは、データベースメトリックと基盤となるサーバーパフォーマンスメトリックを自動的に収集します。高可用性データベーススタックはおそらくロードバランサー(Galera Clusterの場合、HAProxy、ProxySQL、またはMaxScaleのいずれか)で構成されるため、監視対象のインスタンスにも含まれます。データベースコンポーネントとサーバーコンポーネントの両方のパフォーマンスまたは可用性の問題について警告します。また、データベースの使用率と容量の問題を示す包括的なレポートを生成します。

    リアルタイムモニタリング

    ClusterControlを使用すると、データベースサーバーをリアルタイムで監視できます。上記の最も一般的なメトリックのいくつかやさらに多くを分析するために、事前定義されたダッシュボードのセットがあります。

    また、グラフをカスタマイズしたり、エージェントベースの監視を有効にして、システムレベルとDBレベルの両方でより詳細なダッシュボードを生成したりすることもできます。

    クエリの監視

    また、すべてのデータベース情報を見つけることができるクエリモニターとパフォーマンスセクションがあります。これらの機能を使用すると、データベースのアクティビティを理解できます。遅いクエリやデッドロックなどは、データベースの安定性に壊滅的な打撃を与える可能性があり、アプリケーションのすべてのユーザーに影響を与える可能性があります。したがって、それらを追跡することが重要です。 Moodle自体には独自のスキーマがありますが、執筆時点では、独自のデータベーステーブルが付属する1700を超えるサードパーティのMoodleプラグインがあります。では、これらのプラグインのクエリがどのように実行されているかをどのように追跡し、Moodleデータベース全体のパフォーマンスを低下させる可能性のある不適切に記述されたクエリを特定するにはどうすればよいですか。

    クエリの外れ値は、実行に通常よりも時間がかかるクエリを示しており、2シグマ+average_query_timeの遅延偏差として定義されています。これは、構成の変更、アップグレード、または新しいプラグインの追加などが原因で、突然パフォーマンスが低下し始めたクエリを特定するのに役立つため、興味深い機能になる可能性があります。

    DBの成長

    ClusterControlは、db、table、indexの統計を頻繁に収集します。データベース内で最大のテーブルを簡単に見つけることができます。これは、データベースにストレージを追加する必要がある場合や、たとえば、一部のテーブルでクリーンアップを行う必要がある場合を理解するのに役立ちます。

    警告

    クラスタ内のイベントを通知するアラートを作成したり、PagerDuty、VictorOps、Slackなどのさまざまなサービスと統合したりできます。

    概要

    このブログでは、Moodleデータベースで監視するいくつかの重要なメトリックについて言及しました。 moodleデータベースの監視は必要ですが、これを支援するツールがない場合は時間のかかる作業でもあります。

    これらのいくつかのヒントが、Moodleデータベースのバックエンドをはるかに簡単かつ広範囲に監視するのに役立つことを願っています。


    1. T-SQLを使用してデータベースの互換性レベルを変更する方法

    2. 文字列をいくつかの行に分割します

    3. MySQLで過去1か月のデータを取得する方法

    4. PDO:MySQLサーバーがなくなりました