텐센트 클라우드 PostgreSQL¶
스크립트 마켓의 「Guance 클라우드 동기화」 시리즈 스크립트 패키지를 사용하여 클라우드 모니터링, 클라우드 자산 데이터를 Guance로 동기화
설정¶
Func 설치¶
추천: Guance 통합 - 확장 - 호스팅 버전 Func를 활성화하세요. 모든 사전 조건이 자동으로 설치되므로, 계속해서 스크립트를 설치하면 됩니다.
직접 Func를 배포하는 경우 직접 Func 배포를 참고하세요.
스크립트 활성화¶
안내: 요구 사항을 충족하는 Tencent Cloud AK를 미리 준비하세요. 간단하게 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다.
호스팅 버전 스크립트 활성화¶
- Guance 콘솔에 로그인합니다.
- [통합] 메뉴를 클릭하고 [클라우드 계정 관리]를 선택합니다.
- [클라우드 계정 추가]를 클릭하고 [텐센트 클라우드]를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 이미 클라우드 계정 정보가 설정되어 있다면 이 단계를 건너뛰어도 됩니다.
- [테스트]를 클릭한 뒤 테스트가 성공하면 [저장]을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트하세요.
- [클라우드 계정 관리] 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다.
- 클라우드 계정 상세 페이지의 [통합] 버튼을 클릭한 뒤
미설치목록에서텐센트 클라우드 PostgreSQL을 찾아 [설치] 버튼을 클릭하면 설치 화면이 뜨며, 여기서 설치하면 됩니다.
수동 스크립트 활성화¶
-
Func 콘솔에 로그인한 뒤 [스크립트 마켓]을 클릭하여 Guance 스크립트 마켓으로 들어가고,
integration_tencentcloud_postgresql을 검색합니다. -
[설치]를 클릭한 뒤, Tencent Cloud AK, SK 및 계정 이름에 해당하는 매개변수를 입력합니다.
-
[배포 시작 스크립트]를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다. -
활성화한 뒤에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. [실행]을 클릭하면 정기 실행 시간을 기다릴 필요 없이 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업에 대한 자동 트리거 설정이 존재하는지 확인하고, 동시에 작업 기록과 로그를 확인하여 이상 여부를 점검합니다.
- Guance의 「기반 시설 / 사용자 정의」에서 자산 정보가 있는지 확인합니다.
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다.
지표¶
Tencent Cloud - 클라우드 모니터링이 설정되면 기본 지표 세트는 다음과 같습니다. 설정을 통해 더 많은 지표를 수집할 수 있습니다. Tencent Cloud 클라우드 모니터링 지표 상세
모니터링 지표¶
| 지표 영문명 | 지표 한글명 | 의미 | 단위 | 차원 |
|---|---|---|---|---|
Cpu |
CPU 사용률 | CPU 실제 사용률 | % | resourceId |
DataFileSize |
데이터 파일 크기 | 데이터 파일이 차지하는 공간 크기 | GB | resourceId |
LogFileSize |
로그 파일 크기 | wal 로그 파일이 차지하는 공간 크기 | MB | resourceId |
TempFileSize |
임시 파일 크기 | 임시 파일의 크기 | 회 | resourceId |
StorageRate |
저장 공간 사용률 | 임시 파일, 데이터 파일, 로그 파일 및 기타 유형의 데이터베이스 파일을 포함한 총 저장 공간 사용률 | % | resourceId |
Qps |
초당 쿼리 수 | 평균적으로 초당 실행되는 SQL 문 수 | 회/초 | resourceId |
Connections |
연결 수 | 데이터베이스에 대해 수집을 시작할 때의 현재 총 연결 수 | 개 | resourceId |
NewConnIn5s |
5초 내 신규 연결 수 | 데이터베이스에 대해 수집을 시작할 때 최근 5초 이내에 생성된 모든 연결 수 | 회 | resourceId |
ActiveConns |
활성 연결 수 | 데이터베이스에 대해 수집을 시작할 때의 데이터베이스 순간 활성 연결 수(비 idle 연결) | 개 | resourceId |
IdleConns |
유휴 연결 수 | 데이터베이스에 대해 수집을 시작할 때 조회되는 데이터베이스 순간 유휴 연결 수(idle 연결) | 개 | resourceId |
Waiting |
대기 세션 수 | 데이터베이스에 대해 수집을 시작할 때 현재 대기 중인 세션 수(상태가 waiting) | 회/초 | resourceId |
LongWaiting |
5초를 초과해 대기한 세션 수 | 하나의 수집 주기 내에서 데이터베이스가 5초를 초과해 대기한 세션 수(상태가 waiting이며 대기 상태가 5초 동안 유지됨) | 개 | resourceId |
IdleInXact |
유휴 트랜잭션 수 | 데이터베이스에 대해 수집을 시작할 때 idle 상태에 있는 트랜잭션 수 | 개 | resourceId |
LongXact |
실행 시간이 1초를 초과한 트랜잭션 수 | 하나의 수집 주기 내에서 실행 시간이 1초를 초과한 트랜잭션 수 | 개 | resourceId |
Tps |
초당 트랜잭션 수 | 평균적으로 초당 성공적으로 실행된 트랜잭션 수(롤백 및 커밋 포함) | 회/초 | resourceId |
XactCommit |
트랜잭션 커밋 수 | 평균적으로 초당 커밋된 트랜잭션 수 | 회/초 | resourceId |
XactRollback |
트랜잭션 롤백 수 | 평균적으로 초당 롤백된 트랜잭션 수 | 회/초 | resourceId |
ReadWriteCalls |
요청 수 | 하나의 통계 주기 내 총 요청 수 | 회 | resourceId |
ReadCalls |
읽기 요청 수 | 하나의 통계 주기 내 읽기 요청 수 | 회 | resourceId |
WriteCalls |
쓰기 요청 수 | 하나의 통계 주기 내 쓰기 요청 수 | 회 | resourceId |
OtherCalls |
기타 요청 수 | 하나의 통계 주기 내 기타 요청 수(begin, create, 비 DML, DDL, DQL 작업) | 회 | resourceId |
HitPercent |
버퍼 캐시 적중률 | 하나의 요청 주기 내 모든 SQL 문의 실행 적중률 | % | resourceId |
SqlRuntimeAvg |
평균 실행 지연 | 하나의 통계 주기 내 모든 SQL 문의 평균 실행 지연 | ms | resourceId |
SqlRuntimeMax |
최장 TOP10 실행 지연 | 하나의 통계 주기 내 최장 TOP10 SQL의 평균 실행 지연 | ms | resourceId |
SqlRuntimeMin |
최단 TOP10 실행 지연 | 하나의 통계 주기 내 최단 TOP10 SQL의 평균 실행 지연 | ms | resourceId |
SlowQueryCnt |
슬로 쿼리 수 | 하나의 수집 주기 내에 발생한 슬로 쿼리 개수 | 개 | resourceId |
LongQuery |
실행 시간이 1초를 초과한 SQL 수 | 데이터베이스에 대해 수집을 시작할 때 조회된 실행 시간이 1초를 초과한 SQL 수 | 개 | resourceId |
2pc |
2pc 트랜잭션 수 | 데이터베이스에 대해 수집을 시작할 때의 현재 2PC 트랜잭션 수 | 개 | resourceId |
Long2pc |
5초를 초과해 커밋되지 않은 2PC 트랜잭션 수 | 데이터베이스에 대해 수집을 시작할 때 현재 실행 시간이 5초를 초과한 2PC 트랜잭션 수 | 개 | resourceId |
Deadlocks |
교착 상태 수 | 하나의 수집 주기 내의 모든 교착 상태 수 | 개 | 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 공식 문서를 참고하세요.