Tencent Cloud PostgreSQL¶
スクリプトマーケット内の「Guanceクラウド同期」シリーズのスクリプトパッケージを使用して、クラウド監視とクラウド資産のデータをGuanceに同期します
設定¶
Func をインストールする¶
Guance連携 - 拡張 - マネージド版 Func の利用を推奨します: 前提条件はすべて自動でインストールされるため、そのままスクリプトのインストールを続けてください
Func を自分でデプロイする場合はFunc のセルフデプロイ
スクリプトを有効化する¶
注意: 要件を満たす Tencent Cloud の AK を事前に用意してください。簡略化のため、全体の読み取り専用権限
ReadOnlyAccessを直接付与しても構いません
マネージド版でスクリプトを有効化する¶
- Guanceコンソールにログインする
- [連携] メニューをクリックし、[クラウドアカウント管理] を選択する
- [クラウドアカウントを追加] をクリックし、[Tencent Cloud] を選択して、画面に必要な情報を入力する。以前にクラウドアカウント情報を設定済みの場合は、この手順は不要です
- [テスト] をクリックし、成功したら [保存] をクリックする。テストに失敗した場合は、関連設定が正しいか確認してから再度テストする
- [クラウドアカウント管理] 一覧で追加済みのクラウドアカウントを確認できる。該当のクラウドアカウントをクリックして詳細ページに入る
- クラウドアカウント詳細ページの [連携] ボタンをクリックし、
未インストール一覧からTencent Cloud PostgreSQLを見つけて [インストール] をクリックすれば、表示されるインストール画面からインストールできます。
手動でスクリプトを有効化する¶
-
Func コンソールにログインし、[スクリプトマーケット] をクリックして Guance スクリプトマーケットに入り、
integration_tencentcloud_postgresqlを検索します -
[インストール] をクリックしたら、対応するパラメータを入力します: Tencent Cloud の AK、SK、およびアカウント名
-
[起動スクリプトをデプロイ] をクリックすると、システムが自動で
Startupスクリプトセットを作成し、対応する起動スクリプトを自動で設定します -
有効化後は「管理 / 自動トリガー設定」で対応する自動トリガー設定を確認できます。[実行] をクリックすればすぐに 1 回実行でき、定期実行を待つ必要はありません。少し待てば、実行タスクの記録と対応するログを確認できます
確認¶
- 「管理 / 自動トリガー設定」で対応するタスクに自動トリガー設定が存在するか確認し、あわせてタスク記録とログを確認して異常がないかチェックします
- Guance の「インフラ / カスタム」で資産情報が存在するか確認します
- Guance の「メトリクス」で対応する監視データがあるか確認します
メトリクス¶
Tencent Cloud のクラウドモニタリングを設定すると、デフォルトのメトリクスセットは以下のとおりです。設定によってさらに多くのメトリクスを収集できます Tencent Cloud クラウドモニタリングのメトリクス詳細
監視メトリクス¶
| メトリクス英名 | メトリクス中国語名 | 意味 | 単位 | ディメンション |
|---|---|---|---|---|
Cpu |
CPU 使用率 | CPU の実使用率 | % | resourceId |
DataFileSize |
データファイルサイズ | データファイルが占有している容量 | GB | resourceId |
LogFileSize |
ログファイルサイズ | wal ログファイルが占有している容量 | MB | resourceId |
TempFileSize |
一時ファイルサイズ | 一時ファイルのサイズ | 回 | resourceId |
StorageRate |
ストレージ使用率 | 一時ファイル、データファイル、ログファイル、およびその他の種類のデータベースファイルを含む、総ストレージ使用率 | % | resourceId |
Qps |
1 秒あたりのクエリ数 | 平均して 1 秒あたりに実行される SQL 文の数 | 回/秒 | resourceId |
Connections |
接続数 | データベースに対して収集を開始した時点での、データベースの現在の総接続数 | 個 | resourceId |
NewConnIn5s |
5 秒以内の新規接続数 | データベースに対して収集を開始した時点で、直近 5 秒以内に確立されたすべての接続数を取得します | 回 | resourceId |
ActiveConns |
アクティブ接続数 | データベースに対して収集を開始した時点での、データベースの瞬時アクティブ接続数(idle ではない接続) | 個 | resourceId |
IdleConns |
アイドル接続数 | データベースに対して収集を開始した時点で取得される、データベースの瞬時アイドル接続(idle 接続) | 個 | resourceId |
Waiting |
待機中セッション数 | データベースに対して収集を開始した時点で、データベースが現在待機しているセッション数(状態が waiting) | 回/秒 | resourceId |
LongWaiting |
5 秒を超えて待機しているセッション数 | 1 つの収集サイクル内で、データベースが 5 秒を超えて待機しているセッション数(状態が waiting で、待機状態が 5 秒継続したもの) | 個 | resourceId |
IdleInXact |
アイドル状態のトランザクション数 | データベースに対して収集を開始した時点で、データベースが idle 状態にあるトランザクション数 | 個 | resourceId |
LongXact |
実行時間が 1 秒を超えるトランザクション数 | 1 つの収集サイクル内で、実行時間が 1 秒を超えるトランザクション数 | 個 | resourceId |
Tps |
1 秒あたりのトランザクション数 | 平均して 1 秒あたりに正常終了したトランザクション数(ロールバックとコミットを含む) | 回/秒 | resourceId |
XactCommit |
トランザクションコミット数 | 平均して 1 秒あたりにコミットされたトランザクション数 | 回/秒 | resourceId |
XactRollback |
トランザクションロールバック数 | 平均して 1 秒あたりにロールバックされたトランザクション数 | 回/秒 | resourceId |
ReadWriteCalls |
リクエスト数 | 1 つの集計サイクル内の総リクエスト数 | 回 | resourceId |
ReadCalls |
読み取りリクエスト数 | 1 つの集計サイクル内の読み取りリクエスト数 | 回 | resourceId |
WriteCalls |
書き込みリクエスト数 | 1 つの集計サイクル内の書き込みリクエスト数 | 回 | resourceId |
OtherCalls |
その他のリクエスト数 | 1 つの集計サイクル内のその他のリクエスト数(begin、create、DML 以外、DDL、DQL 操作) | 回 | resourceId |
HitPercent |
バッファキャッシュヒット率 | 1 つのリクエストサイクル内におけるすべての SQL 文の実行ヒット率 | % | resourceId |
SqlRuntimeAvg |
平均実行遅延 | 1 回の集計サイクル内におけるすべての SQL 文の平均実行遅延 | ms | resourceId |
SqlRuntimeMax |
最長 TOP10 実行遅延 | 1 回の集計サイクル内における最長 TOP10 の SQL 平均実行遅延 | ms | resourceId |
SqlRuntimeMin |
最短 TOP10 実行遅延 | 1 回の集計サイクル内における最短 TOP10 の SQL 平均実行遅延 | ms | resourceId |
SlowQueryCnt |
スロークエリ数 | 1 つの収集サイクル内に発生したスロークエリの件数 | 個 | resourceId |
LongQuery |
実行時間が 1 秒を超える SQL 数 | データベースに対して収集を開始した時点で、実行時間が 1 秒を超える SQL の件数を取得します | 個 | resourceId |
2pc |
2pc トランザクション数 | データベースに対して収集を開始した時点での、現在の 2PC トランザクション数 | 個 | resourceId |
Long2pc |
5 秒を超えて未コミットの 2PC トランザクション数 | データベースに対して収集を開始した時点での、現在の実行時間が 5 秒を超える 2PC トランザクション数 | 個 | resourceId |
Deadlocks |
デッドロック数 | 1 つの収集サイクル内におけるすべてのデッドロック数 | 個 | resourceId |
Memory |
メモリ使用量 | 使用済みメモリ量 | MB | resourceId |
MemoryRate |
メモリ使用率 | 使用済みメモリ量が総量に占める割合 | % | resourceId |
オブジェクト¶
収集された Tencent Cloud postgresql オブジェクトのデータ構造は、「インフラ / リソースカタログ」でデータセット tencentcloud_postgres を確認できます
ログ¶
スロークエリ記録¶
前提条件¶
注意 1: このスクリプトのコード実行は PostgreSQL インスタンスオブジェクトの収集に依存します。PostgreSQL のカスタムオブジェクト収集を設定していない場合、スローログスクリプトではスローログデータを収集できません
ログ収集スクリプトをインストールする¶
前の手順に加えて、対応する PostgreSQL スロークエリログ収集スクリプト も追加でインストールする必要があります
「管理 / スクリプトマーケット」で対応するスクリプトパッケージをクリックしてインストールします:
Integration (TencentCloud-PostgreSQL Slowlog Record Collector)、スクリプトセット IDintegration_tencentcloud_postgresql_slowlog_record
データが正常に同期されると、Guance の「ログ」でデータを確認できます。
送信データの例は以下のとおりです:
{
"measurement": "tencentcloud_postgre_slowlog_record",
"tags": {
"AppId": "137185",
"DBEngine": "postgresql",
"DBInstanceId": "postgres-3coh1xgm",
"DBInstanceName": "Unnamed",
"DBInstanceType": "primary",
"DatabaseName": "postgres",
"ProjectId": "0",
"RegionId": "ap-shanghai",
"Zone": "ap-shanghai-2",
"UserName": "postgres"
},
"fields": {
"ClientAddr": "[local]",
"Duration": 101.013,
"RawQuery": "select 1 from information_schema.tables where table_schema = 'xxx' and table_name = 'xxx'",
"SessionStartTime": "2021-07-27 03:12:01 CST",
"message" : "{スロークエリ JSON データ}"
}
}
注意:
tags、fields内のフィールドは、今後の更新で変更される場合があります 注記 1:tagsの値はカスタムオブジェクトで補完されます 注記 2:fields.messageは JSON シリアライズ後の文字列です
付録¶
TencentCloud-PostgreSQL の「リージョン」¶
Tencent の公式ドキュメントを参照してください:
TencentCloud-PostgreSQL のスローログ情報の説明ドキュメント¶
Tencent の公式ドキュメントを参照してください: