Alibaba Cloud RDS PostgreSQL¶
Alibaba Cloud RDS PostgreSQL のメトリクス表示。CPU 使用率、メモリ使用率などを含みます。
設定¶
Func のインストール¶
Guance の統合 - 拡張 - マネージド版 Func を有効化することを推奨します。
Func を自前でデプロイする場合はFunc の自前デプロイを参照してください。
スクリプトの有効化¶
注意:要件を満たす Alibaba Cloud AK を事前に準備してください(簡単のため、
ReadOnlyAccessのグローバル読み取り専用権限を直接付与してもかまいません)
マネージド版の有効化手順¶
- Guance コンソールにログインする
- 【統合】メニューをクリックし、【クラウドアカウント管理】を選択する
- 【クラウドアカウントを追加】をクリックし、【Alibaba Cloud】を選択して、画面に必要な情報を入力する。すでにクラウドアカウント情報を設定済みの場合は、この手順は不要です
- 【テスト】をクリックし、テストに成功したら【保存】をクリックする。テストに失敗した場合は、関連する設定情報が正しいか確認してから再度テストしてください
- 【クラウドアカウント管理】の一覧で追加済みのクラウドアカウントを確認できるので、該当するクラウドアカウントをクリックして詳細ページに入る
- クラウドアカウント詳細ページの【統合】ボタンをクリックし、
未インストール一覧からAlibaba Cloud RDS PostgreSQLを見つけて、【インストール】ボタンをクリックすると、インストール画面が表示されるのでインストールする
手動での有効化手順¶
-
Func コンソールにログインし、【スクリプトマーケット】をクリックして Guance スクリプトマーケットに入り、
integration_alibabacloud_rdsを検索する -
【インストール】をクリックし、対応するパラメータとして Alibaba Cloud AK ID、AK Secret、アカウント名を入力する
-
【起動スクリプトをデプロイ】をクリックすると、システムが自動的に
Startupスクリプトセットを作成し、対応する起動スクリプトを自動で設定します -
有効化後は、「管理 / 自動トリガー設定」で対応する自動トリガー設定を確認できます。【実行】をクリックすると、定期実行を待たずに即時 1 回実行できます。少し待つと、実行タスクの履歴と対応するログを確認できます
検証¶
- 「管理 / 自動トリガー設定」で、該当タスクに対応する自動トリガー設定が存在するかを確認し、あわせてタスク履歴とログを確認して異常がないかチェックする
- Guance の「インフラ / カスタム」でアセット情報が存在するかを確認する
- Guance の「メトリクス」で対応する監視データがあるかを確認する
メトリクス¶
Alibaba Cloud の CloudMonitor を設定すると、デフォルトのメトリクスセットは以下のとおりです。設定により、さらに多くのメトリクスを収集できます。Alibaba Cloud CloudMonitor のメトリクス詳細
| メトリクス名 | 説明 | 単位 | ディメンション |
|---|---|---|---|
| PG_DBAge | PG_データベース年齢 | count | instanceId |
| PG_InactiveSlots | PG_非アクティブなレプリケーションスロット数 | count | instanceId |
| PG_MaxExecutingSQLTime | PG_最も遅い SQL 実行時間 | seconds | instanceId |
| PG_MaxSlotWalDelay | PG_最大レプリケーションスロット遅延(MB) | byte | instanceId |
| PG_ReplayLatency | PG_最も遅い Standby 再生遅延(MB) | byte | instanceId |
| PG_SwellTime | PG_最長トランザクション実行時間 | seconds | instanceId |
| active_connections_per_cpu | PG_CPU ごとの平均アクティブ接続数 | count | instanceId |
| conn_usgae | PG_接続数使用率 | % | instanceId |
| cpu_usage | PG_CPU使用率 | % | instanceId |
| five_seconds_executing_sqls | PG_5 秒スロークエリ | count | instanceId |
| iops_usage | PG_IOPS使用率 | % | instanceId |
| local_fs_inode_usage | PG_INODE使用率 | % | instanceId |
| local_fs_size_usage | PG_ディスク容量使用率 | % | instanceId |
| local_pg_wal_dir_size | PG_WAL ファイルサイズ | MB | instanceId |
| mem_usage | PG_メモリ使用率 | % | instanceId |
| one_second_executing_sqls | PG_1 秒スロークエリ | count | instanceId |
| three_seconds_executing_sqls | PG_3 秒スロークエリ | count | instanceId |
オブジェクト¶
収集された Alibaba Cloud RDS PostgreSQL オブジェクトのデータ構造です。「インフラ - カスタム」でオブジェクトデータを確認できます。
{
"measurement": "aliyun_rds",
"tags": {
"name" : "rm-xxxxx",
"DBInstanceType" : "Primary",
"PayType" : "Prepaid",
"Engine" : "MySQL",
"DBInstanceClass" : "rds.mysql.s2.large",
"DBInstanceId" : "rm-xxxxx",
"ZoneId" : "cn-shanghai-h",
"RegionId" : "cn-shanghai",
"DBInstanceDescription": "業務システム",
"LockMode" : "Unlock",
"Category" : "Basic",
"ConnectionMode" : "Standard",
"DBInstanceNetType" : "Intranet",
"DBInstanceStorageType": "local_ssd",
},
"fields": {
"CreationTime" : "2022-12-13T16:00:00Z",
"ExpireTime" : "2022-12-13T16:00:00Z",
"DiskUsed" : "10000",
"BackupSize" : "10000",
"LogSize" : "10000",
"BackupLogSize" : "10000",
"BackupDataSize" : "10000",
"ConnectionString" : "{接続先アドレスの JSON データ}",
"DBInstanceStorage": "100",
"accounts" : "{ユーザー権限情報の JSON データ}",
"databases" : "{データベース情報の JSON データ}",
"SSLExpireTime" : "2022-10-11T08:16:43Z",
"message" : "{インスタンスの JSON データ}",
}
}
ログ¶
スロークエリ詳細¶
スロークエリ詳細の前提条件¶
注意:このスクリプトのコード実行は RDS インスタンスのオブジェクト収集に依存します。RDS のカスタムオブジェクト収集を設定していない場合、スローログスクリプトはスローログデータを収集できません。
スロークエリ詳細のインストールスクリプト¶
前提として、対応する RDS スロークエリ詳細ログ収集スクリプト を追加でインストールする必要があります。
「管理 / スクリプトマーケット」で該当するスクリプトパッケージをクリックしてインストールしてください。
- 「Guance 統合(Alibaba Cloud-RDS スロークエリ詳細ログ収集)」(ID:
integration_alibabacloud_rds_slowlog_record)
データが正常に同期された後、Guance の「ログ」でデータを確認できます。
送信されるデータの例は次のとおりです。
{
"measurement": "aliyun_rds_slowlog",
"tags": {
"name" : "rm-xxxxx",
"DBName" : "cloudcare_core",
"DBInstanceId" : "rm-bp1xxxxxxxxxx",
"RegionId" : "cn-hangzhou",
"DBInstanceType" : "Primary",
"PayType" : "Prepaid",
"Engine" : "MySQL",
"DBInstanceClass" : "rds.mysql.s2.large",
"ZoneId" : "cn-shanghai-h",
"DBInstanceDescription": "業務システム",
"HostAddress" : "xxxx",
"UserName" : "xxxx",
"ClientHostName" : "xxxx",
"ApplicationName" : "xxxx",
},
"fields": {
"SQLHASH" : "436f9dd030e0a87920bbcd818b34f271",
"SQLText" : "{SQL 文}",
"QueryTimes" : 0,
"QueryTimesMS" : 0,
"ReturnRowCounts" : 0,
"ParseRowCounts" : 0,
"ExecutionStartTime" : "2022-02-02T12:00:00Z",
"CpuTime" : 1,
"RowsAffectedCount" : 0,
"LastRowsAffectedCount" : 0,
"message" : "{ログの JSON データ}"
}
}
一部のパラメータの説明は次のとおりです。
| フィールド | 型 | 説明 |
|---|---|---|
QueryTimes |
int | 実行時間。単位:秒(s) |
QueryTimesMS |
int | 実行時間。単位:ミリ秒(ms) |
ReturnRowCounts |
int | 返却行数 |
ParseRowCounts |
int | 解析行数 |
ExecutionStartTime |
str | 実行開始時刻 |
CpuTime |
int | CPU 処理時間 |
RowsAffectedCount |
int | 影響を受けた行数 |
LastRowsAffectedCount |
int | 最後の SQL 文の影響行数 |
注意:
CpuTime、RowsAffectedCount、LastRowsAffectedCountなどのフィールドは SQL Server インスタンスのみ対応しています 注意:tags、fields内のフィールドは今後の更新で変更される可能性があります 注意:fields.messageは JSON シリアライズ後の文字列です