2019년 9월 16일 월요일

PostgreSQL 모니터링(monitoring) 방법

DB 모니터링 항목(상시점검항목)에 대한 가이드 (check list, critical 항목들)
DB 부하 상태 정보들을 획득할 수 있는 항목 및 방법에 대한 가이드

Statistics Collector

  • PostgreSQL statistics collector는 server activity를 수집하고 리포팅 하기 위한 sub system이다.
  • 현재 상태를 보여주는 Dynamic Statistics View와 수집된 정보를 보여주는 Collected Statistics view가 있다.
  • 각 view 는 select * from <view name>; 방식으로 조회 가능하다.
  • 각 view 를 적절히 조합하면 필요한 정보를 습득 가능하다.

Statistics 보기

  • 시스템의 현재 상태를 보여주는 Dynamic View 종류는 다음과 같다.
View Name Description
pg_stat_activityserver process당 한 row 이며, process의 상태, 동작중인 query 등과 같은 현재 activity 관련 정보를 나타냄. 자세한 정보는 pg_stat_activity
pg_stat_replicationWAL sender process 당 한 row 이며, 해당 센더가 접속되어있는 standby server의 replication 통계정보를 나타냄. 자세한 정보는 pg_stat_replication
pg_stat_wal_receiver한 row 이며 현재 WAL receiver 의 통계 정보를 나타냄. 자세한 정보는 pg_stat_wal_receiver
pg_stat_ssl한 connection 당 한 row, 해당 connection 이 사용하는 SSL 관련 정보 나타냄. 자세한 정보는 pg_stat_ssl
pg_stat_progress_vacuumVACUUM을 실행중인 backend 당 한 row, 현재 VACUMM의 진행상황 나타냄. 자세한 정보는 pg_stat_progress_vacumm

  • 수집된 정보들을 보여주는 Collected Statistics View 종류는 다음과 같다.
View Name Description
pg_stat_archiver한 row, wal archiver process의 활동 통계 정보를 나타냄. 자세한 정보는 pg_stat_archiver
pg_stat_bgwriter한 row, background writer process 의 활동 통계 정보를 나타냄. 자세한 정보는 pg_stat_bgwriter
pg_stat_databaseDatabase당 한 row, database 관련 통계정보를 나타냄. 자세한 정보는 pg_stat_database
pg_stat_database_conflictsDatabase당 한 row, standby server에 있는 recovery 정보와 conflict로 취소된 query 관련 통계 정보를 나타냄. 자세한 정보는 pg_stat_database_conflicts
pg_stat_all_tables현 database 의 각 table 당 한 row, 특정 테이블 accesss관련 통계정보를 나타냄. 자세한 정보는  pg_stat_all_tables
pg_stat_sys_tablespg_stat_all_tables와 같으며, system table 관련 정보만 나타냄
pg_stat_user_tablespg_stat_all_tables 와 같지만, User table 관련 정보만 나타냄
pg_stat_xact_all_tablespg_stat_all_tables와 비슷하지만, 아직 pg_stat_all_tables에 포함되지 않은 현재 transaction 까지 포함함. live/dead row 수, vacuum, analyze action column 은 포함되지 않음
pg_stat_xact_sys_tablespg_stat_xact_all_tables와 같지만 , system tables 관련 정보만 나타냄
pg_stat_xact_user_tablespg_stat_xact_all_tables와 같지만 , User table 관련 정보만 나타냄
pg_stat_all_indexes현 database의 각 index 당 한 row, 특정 index access 관련 통계 정보를 나타냄. 자세한 정보는  pg_stat_all_indexes
pg_stat_sys_indexespg_stat_all_indexes와 같지만, system tables 관련 정보만 나타냄
pg_stat_user_indexespg_stat_all_indexes와 같지만, User table 관련 정보만 나타냄
pg_statio_all_tables현 database 의 각 table 당 한 row, 특정 테이블 I/O 관련 통계정보를 나타냄. 자세한 정보는 pg_statio_all_tables
pg_statio_sys_tablespg_statio_all_tables와 같지만, system tables 관련 정보만 나타냄
pg_statio_user_tablespg_statio_all_tables와 같지만, User table 관련 정보만 나타냄
pg_statio_all_indexes현 database의 각 index 당 한 row, 특정 index I/O 관련 통계 정보를 나타냄. 자세한 정보는 pg_statio_all_indexes
pg_statio_sys_indexespg_statio_all_indexes와 같지만, system tables 관련 정보만 나타냄
pg_statio_user_indexespg_statio_all_indexes와 같지만, User table 관련 정보만 나타냄
pg_statio_all_sequences현 database의 각 sequence 당 한 row, 특정 sequence 에 대한 I/O 통계정보를 나타냄. 자세한 정보는 pg_statio_all_sequences
pg_statio_sys_sequencespg_statio_all_sequences와 같지만, system sequences 관련 정보만 나타냄
pg_statio_user_sequencespg_statio_all_sequences와 같지만, user sequences 관련 정보만 나타냄
pg_stat_user_functionsfunction 당 한 row, 해당 function 수행 관련 통계 정보 나타냄. 자세한 정보는 pg_stat_user_functions
pg_stat_xact_user_functionspg_stat_user_functions 와 비슷하지만, 현 transaction 동안의 호출만 count (pg_stat_user_functions 에 아직 포함되지 않은 통계 정보)

PostgreSQL Error Codes

  • PostgreSQL이 출력하는 모든 message에는 5 글자의 error code 가 포함됩니다. 이 Error code는 SQL Standard convention을 따른다.
  • 5글자의 error code 중 앞 2글자는 error 종류를 나타내고, 나머지 3글자는 세부사항을 나타낸다.
  • 자세한 에러코드는 https://www.postgresql.org/docs/10/errcodes-appendix.html에서 확인 가능하다.



출처
https://www.postgresql.org/docs/10/monitoring.html
https://www.postgresql.org/docs/10/monitoring-stats.html

댓글 없음:

댓글 쓰기

화곡 어쩌라고, 굴사냥

석화찜(굴찜)을 먹으러 여의도로 갔다 그런데 재료가 모두 소진되었다고 마감이라고 한다 응? 다들 굴에 미쳤나? 굴을 찾아 헤매다 보니, 화곡까지 가게 되었다. 화곡은 처음 가본다. 첫인상은 "술집 겁네 많네" 피똥쌀때까지 마실 수 있...