Amazon Auroraの運用時に監視できる項目について

Amazon Auroraの運用について

プレビュー版のAmazon Aurora使えるようになったので色々試しています。新しいDBエンジンということで、運用をどうするか気になっている方も多いのではないでしょうか。Amazon Auroraは、RDSの他のデータベースエンジンと同じように、CloudWatchで運用状況をモニタリングすることができます。これにより、正常稼働しているか、期待するパフォーマンスが出ているか確認することができますので、アラームを設定して運用に役立てることができます。

AuroraのDBクラスタ概念図

screenshot 2014-12-14 16.19.24

Aurora Metricsの種類

Auroraは、大きく分けて2種類の情報があります。Aurora System Monitoringと、Aurora SQL Monitoringです。前者は、ネットワーク/ディスク/CPUなどのシステムに関するモニタリングで、後者は、DML/DDL/処理遅延/デッドロックなどのSQLに関するモニタリングです。

Auroraで指定できるCloudWatchメトリクス

screenshot 2014-12-14 15.42.18

Aurora System Monitoring

Auroraで指定できるシステムモニタリングに関するメトリクスです。

メトリクス 説明
CPU Utilization DBインスタンスのCPU使用率(%)について
Freeable memory 使用可能なランダムアクセスメモリー領域(GB)について
Storage DBクラスターで利用しているストレージサイズ(GB)について。この値は課金のための情報となります。
Network receive throughput 各クライアントから受信するネットワークスループット(MB/s)について。この値は、DBクラスタとクラスタボリューム間の通信は含まれていません。
Network transmit throughput 各クライアントから送信するネットワークスループット(MB/s)について。この値は、DBクラスタとクラスタボリューム間の通信は含まれていません。
Read operations 1秒あたりの平均読み込みディスクI/O回数について
Read latency 読み込みI/Oリクエストの開始から完了までの経過時間(ms)
Read throughput DBクラスタへのリクエストに関するネットワークスループット(MB/s)
Read queue depth 読み込みI/Oリクエストに対してディスクアクセス待ちの件数
Write operations 1秒あたりの平均書き込みディスクI/O回数について
Write latency 書き込みI/Oリクエストの開始から完了までの経過時間(ms)
Write throughput DBクラスタへのレスポンスに関するネットワークスループット(MB/s)
Write queue depth 書き込みI/Oリクエストに対してディスクアクセス待ちの件数
Replica lag Auroraにおいて、プライマリインスタンスからレプリカへの更新時の遅延(ms)について
Replica lag maximum プライマリインスタンスと各Auroraインスタンスの間のレプリケーションの最大遅延(ms)
Replica lag minimum プライマリインスタンスと各Auroraインスタンスの間のレプリケーションの最小遅延(ms)
Queue depth ディスクアクセスを待っている未処理のI/Oリクエスト(読み書き)数
Free storage space 他のDBエンジンとは異なり、Auroraでは、各DBインスタンスの一時テーブルとログのストレージ量(GB)について報告します。より大きなDBインスタンスサイズを選ぶことで、より大きなストレージ量を利用することができます。
Swap usage Auroraではサポートされていません。
Binary log disk usage MySQLバイナリログのストレージ利用量(GB)について
CPU credit balance Auroraではサポートされていません。
CPU credit usage Auroraではサポートされていません。

Aurora SQL Monitoring

Auroraで指定できるSQLモニタリングに関するメトリクスです。

メトリクス 説明
Select throughput Selectクエリー数/sec
DML throughput データ操作(Insert/Update/Delete)クエリー数/sec
Commit throughput トランザクションコミット数/sec
DDL throughput データ定義リクエスト数/sec
Select latency データ検索(Select)クエリー遅延(ms)
DML latency データ操作(Insert/Update/Delete)クエリー遅延(ms)
Commit latency トランザクションコミット遅延(ms)
DDL latency データ定義リクエスト遅延(ms)
DB Connections DBインスタンスへのアクティブなコネクション数
Active transactions DBインスタンスへの実行中トランザクション数(平均/秒)
Buffer cache hit ratio リクエストに対するバッファキャッシュヒット率(%)
Resultset cache hit ratio リクエストに対するリザルトセットヒット率(%)
Login failures ログイン失敗数(平均/秒)
Blocked transactions ブロックされているトランザクション数(平均/秒)
Failed SQL statements SQL実行失敗数(平均/秒)
Deadlocks デッドロック数(平均/秒)

まとめ

DDL/DMLのスループット/遅延に関する情報や、トランザクション周りの情報をAPIで取得できたり、アラーム設定できるのは嬉しいですね!

参考資料

Aurora on Amazon RDS