Cloud SQL インスタンスのモニタリング

このページでは、Cloud SQL インスタンスをモニタリングする方法について説明します。

Cloud SQL では、次の 2 つの方法でインスタンスをモニタリングできます。

  • Google Cloud Console の場合
  • Cloud Monitoring の場合

複数のインスタンスからの指標の比較

  1. Google Cloud Console の [Cloud SQL インスタンス] ページに移動します。

    [Cloud SQL インスタンス] ページに移動

  2. SQL インスタンスの概要ページで、インスタンス名の左側にあるチェックボックスをオンにして、比較するインスタンスを 5 つまで選択します。
  3. 右側の情報パネルで、[モニタリング] タブを選択します。
  4. 指標のプルダウンから、比較する指標を選択します。

    グラフの上にカーソルを合わせると、特定の時間の正確なデータを確認できます。

Console での Cloud SQL インスタンスのモニタリング

Cloud SQL では、[SQL インスタンス] ページの情報パネルと、選択したインスタンスのインスタンス概要ページでパフォーマンスをモニタリングできます。これらのグラフのプルダウン メニューには、以下のオプションが表示されます。

  • CPU 使用率
  • ストレージ使用量
  • メモリ使用量
  • 読み取り / 書き込みオペレーション
  • 上り / 下りバイト数
  • MySQL クエリ
  • MySQL クエスチョン
  • InnoDB の読み書きページ数
  • InnoDB データの fsync
  • InnoDB ログの fsync
  • アクティブな接続

また、リードレプリカにはオプション Replication Lag があります。

Console

  1. Google Cloud Console で、Cloud SQL の [インスタンス] ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. インスタンス名をクリックして [概要] ページを開きます。
  3. 指標チャートがページ上部に目立つように表示されます。

利用可能な指標

使用状況グラフは、アプリケーションの変更が必要なときに前もって対応するのに役立ちます。これらの指標からは、スループットとレイテンシの問題およびインスタンスの使用コストについての分析情報を得られます。

指標説明
ストレージ使用量(GB)

ストレージ使用量指標を使用して、ストレージ コストを把握できます。ストレージの使用料金の詳細については、ストレージとネットワークの料金をご覧ください。

バイナリログはストレージ スペースを使用します。バイナリログは、関連する自動バックアップによって自動的に削除されます。これは通常、約 7 日後に発生します。バイナリログを手動で削除することも、7 日間の期間を変更することもできません。

バイナリログのサイズが原因でインスタンスに問題が起きている場合、ストレージ サイズを大きくすることはできますが、ディスク使用量のバイナリログ サイズが大きくなるのはあくまで一時的です。予期しないストレージの問題を回避するには、ストレージの自動増量を有効にすることをおすすめします。

バイナリ ロギングを無効にしてから再度有効にすると、バイナリログは削除されます。ただし、使用されたストレージを減らしても、インスタンスにプロビジョニングされたストレージのサイズは縮小されません。

一時データはストレージ使用量指標に含まれます。一時データはメンテナンスの一環として削除され、ディスク フル イベントを回避するために、無料でユーザー定義の容量制限を超えて増加することが可能です。

新たに作成されたデータベースは、システム テーブルとファイルに数百 MB を使用します。

CPU 使用率

この指標を使用して、アプリケーションのニーズに対して十分な CPU がインスタンスにあるかどうかをモニタリングできます。この値が高くなりすぎる場合は、マシンタイプのサイズを増やして、より多くの CPU 能力をインスタンスに提供できます。

メモリ使用量

インスタンスによって使用されるメモリの量。

読み取り / 書き込みオペレーション

読み取り回数指標は、キャッシュからではなくディスクから提供される読み取りオペレーションの回数です。この指標を使うと、インスタンスが環境に適したサイズかどうかを判断できます。 必要な場合はさらに大きいマシンタイプを使用して、キャッシュから提供されるリクエストを増やし、レイテンシを短縮できます。

書き込み回数は、ディスクへの書き込みオペレーションの回数です。書き込みアクティビティは、アプリケーションがアクティブではない場合でも生成されます。これは、Cloud SQL インスタンスによっておよそ 1 秒間に 1 回システム テーブルに書き込まれているからです(レプリカを除く)。

アクティブな接続 Cloud SQL インスタンスに対して開かれている接続の数です。
上り / 下りバイト(バイト/秒) インスタンスに対して入力 / 出力されるネットワーク トラフィックの量。
MySQL クエリ(クエリ数/秒) サーバーによって実行されたステートメントの数です。クエリとして測定されるステートメントの種類を確認するには、MySQL リファレンス マニュアルのサーバー ステータス変数をご覧ください。
MySQL クエスチョン(クエスチョン数/秒) クライアントが送信し、サーバーが実行したステートメントの数です。クエスチョンとして測定されるステートメントの種類を確認するには、MySQL リファレンス マニュアルのサーバー ステータス変数をご覧ください。
InnoDB の読み書きページ数(ページ数/秒) InnoDB ページの読み取りと書き込みの回数です。詳しくは、MySQL リファレンス マニュアルの InnoDB のスタートアップ オプションとシステム変数をご覧ください。
InnoDB データの fsync(オペレーション数/秒) InnoDB fsync() 呼び出しの回数です。詳しくは、MySQL リファレンス マニュアルの InnoDB のスタートアップ オプションとシステム変数をご覧ください。
InnoDB ログの fsync(オペレーション数/秒) ログファイルに対する InnoDB fsync() 呼び出しの回数です。詳しくは、MySQL リファレンス マニュアルの InnoDB のスタートアップ オプションとシステム変数をご覧ください。
インスタンスの状態 インスタンスの状態は、インスタンス名の横にあるステータス アイコンで示されます。cloudsql.googleapis.com/database/instance_state 指標をモニタリングすることもできます。

図 1 は、使用状況グラフの各部分を示したものです。

Cloud SQL 指標データの例を示すグラフ
図 1: インスタンス使用状況データの例

ここで

  • 1: グラフに表示される指標データ。

  • 2: 指標データを表示する時間範囲。

  • 3: カーソル位置での指標の値。

  • 4: データカーソル。このカーソルを使用して、特定時点での指標の値を確認します。

Cloud Monitoring

GCP Monitoring には、デフォルトの Cloud SQL モニタリング ダッシュボードが含まれています。このダッシュボードには、最も一般的に使用される指標が表示されます。このダッシュボードを使用すると、プライマリ インスタンスとレプリカ インスタンスの全般的な状態をモニタリングできます。独自のカスタム ダッシュボードを作成して、関心のあるデータを表示することもできます。

GCP Monitoring には、Metrics Explorer ページに他にも多くの指標が含まれています。

Console

  1. Google Cloud Console で、[Monitoring] ページに移動します。

    [Monitoring] に移動

  2. [Resource Type] に [Cloud SQL Database] を選択します。

指標が特定の値を超えた場合のアラートを作成することもできます。GCP Monitoring の使用方法の詳細をご覧ください。

メモリ使用量に対する Monitoring アラートの設定

メモリ使用量の指標が 80% を超えた場合に通知を送信するように、Monitoring でアラートを設定できます。

メモリ使用量の指標のアラートを作成するには:

  1. Google Cloud Console で [Monitoring] を選択するか、次のボタンを使用します。

    [Monitoring] に移動

  2. [アラート] > [CREATE POLICY] を選択します。

  3. メモリ使用量のしきい値に条件を追加します。

    1. [ADD ALERT CONDITION] をクリックします。
    2. [Resource] セクションで、[Cloud SQL Database] リソースタイプを選択します。
      1. 指標には [Memory Usage] を選択します。
    3. [Configuration] セクションで [Any time the series violates] を選択します。
    4. [Condition] を is above に設定します。
    5. [Threshold] を 0.8 に設定します。これはシステムメモリの 80% を表します。
    6. 必要に応じて、[Filter] フィールドを使用して、単一のインスタンス ID のアラートを設定します。特定のインスタンスにフィルタを適用しない場合、プロジェクト内の Cloud SQL インスタンスのメモリ使用量が 80% を超えるたびに、アラートによって通知が送信されます。
    7. [ADD] ボタンをクリックします。
  4. [次へ] ボタンをクリックします。

  5. [Who should be notified?] をクリックします。

  6. 通知フォームに入力します。

  7. [NEXT] ボタンをクリックします。

  8. [What are the steps to fix the issue?] をクリックします。

  9. アラートの名前と、通知に含めるその他のメッセージを追加します。

  10. [SAVE] ボタンをクリックします。

メモリ使用量が 80% を超えると、構成済みの通知受信者に通知が送られます。

次のステップ