2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RDSパフォーマンスインサイトを使ってみる(PostgreSQL)(メモ)

Last updated at Posted at 2020-04-14

Performance Insights(パフォーマンスインサイト)

Performance Insightsはデータベースのモニタリングを行う機能で、負荷や各種統計情報を収集し、ダッシュボードに表示したりすることができます。
Performance Insightsはデフォルトで有効になっています。Performance Insightsのエージェントは負荷が低い(らしい)ので、そのまま有効の設定のまま使用することになると思います。

料金と保存期間

  • 無料で7日間の履歴を保存できます。最大は2年間(有償)。
  • APIは1か月あたり100万件のリクエストまで無料。

ダッシュボードからパフォーマンスの確認

ダッシュボードから以下の情報が確認できます。

  • カウンターメトリクス
  • データベースのロード(時系列グラフ、積算グラフ)

Performance Insightsのデフォルト画面は以下のように表示されます。

image.png

カウンターメトリクス

カウンターメトリクスは表示するメトリクスを以下の画面から選択します。

image.png

いくつかのメトリクスを選択した後、カウンターメトリクスは以下のように表示されました。

image.png

パフォーマンスインサイトで取得できるメトリクスは以下のページに記載されていました。
PostgreSQLの統計コレクタが収集した「Native counter metrics」と、Amazon RDSによって定義された「Non-native counter metrics」があります。

データベースのロード(時系列グラフ、積算グラフ)

データベースのロードでは「待機」「SQL」「ホスト」「ユーザー」の4つについて、時系列グラフと積算グラフで表示できます。

待機

image.png

Aurora PostgreSQL の代表的な待機イベントは次のページで確認できます。

SQL

image.png

ホスト

image.png

ユーザー

image.png

パフォーマンスインサイトAPI

収集された情報はダッシュボードだけでなくパフォーマンスインサイトAPIを用いても取得することができます。データを加工したり、他の監視システムに取り込んだりするような利用方法があります。

詳細は以下のページを参照。

パフォーマンスインサイトAPIを利用するためには、事前にAmazonRDSFullAccessポリシー、またはカスタムIAMポリシーを作成しIAMユーザまたはロールにアタッチしておく必要があります。

パフォーマンスインサイトで取得できるメモリクスは以下のページに記載されていました。

APIで取得する際には対象のメトリクスに対して以下の計算を用いることができます。

  • 平均 : 期間中のメトリクスの平均値。.avg をメトリクス名に追加します。
  • 最小 : 期間中のメトリクスの最小値。.min をメトリクス名に追加します。
  • 最大 : 期間中のメトリクスの最大値。.max をメトリクス名に追加します。
  • 合計 : 期間中のメトリクス値の合計。.sum をメトリクス名に追加します。
  • サンプル数 : 期間中にメトリクスが収集された回数。.sample_count をメトリクス名に追加します。

更新したタプル数(db.SQL.tup_updated)のメトリクスの合計値を取得したい場合は、メトリクス(db.SQL.tup_updated)の最後に".sum"をつけて、"db.SQL.tup_updated.sum"を指定します。

クエリー用のjsonは以下のようになります。

[
  {
    "Metric": "db.SQL.tup_updated.sum"
  }
]

実際にAPIを使う場合はAWS-CLIから以下のように実行します(Windowsの場合)。

aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier XXX.ap-northeast-1.rds.amazonaws.com ^
   --start-time 2020-04-03T00:00:00Z ^
   --end-time   2020-04-03T00:05:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json

「--identifier」には、インスタンスの「設定」に表示されるリソースIDを指定します。

取得結果は以下のようになります。

{
    "AlignedStartTime": "2020-04-03T09:00:00+09:00",
    "AlignedEndTime": "2020-04-03T09:05:00+09:00",
    "Identifier": "db-5ACWEXJKX3DHLA3IT23RLDTC6I",
    "MetricList": [
        {
            "Key": {
                "Metric": "db.SQL.tup_updated.sum"
            },
            "DataPoints": [
                {
                    "Timestamp": "2020-04-03T09:01:00+09:00",
                    "Value": 3107.0
                },
                {
                    "Timestamp": "2020-04-03T09:02:00+09:00",
                    "Value": 5558.0
                },
                {
                    "Timestamp": "2020-04-03T09:03:00+09:00",
                    "Value": 11133.0
                },
                {
                    "Timestamp": "2020-04-03T09:04:00+09:00",
                    "Value": 5598.0
                },
                {
                    "Timestamp": "2020-04-03T09:05:00+09:00",
                    "Value": 1224.0
                }
            ]
        }
    ]
}

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?