AIX DB2
AIX DB2 input은 DB2 CLP 명령으로 인스턴스, 데이터베이스, 테이블스페이스, HADR 및 사용자 정의 메트릭을 수집합니다.
설정¶
[inputs]
# 미들웨어 input 전체 스위치.
enabled = true
[[inputs.db2]]
# 인스턴스 이름이며 instance tag로 사용됩니다.
name = "db2inst1"
# 해당 DB2 인스턴스 수집을 활성화할지 여부.
enabled = true
# 수집 간격.
interval = "60s"
# 선택 사항, 수집 전에 인스턴스 환경 변수를 로드합니다.
env_file = ""
# HADR 등 고급 메트릭을 수집할지 여부.
collect_advanced = false
# 선택 사항, 사용자 정의 메트릭 명령. key=value 형식의 행을 출력합니다.
deep_metrics_command = ""
# DB2 명령 경로.
db2_command = "db2"
db2pd_command = "db2pd"
# DB2 인스턴스 사용자.
instance_user = "db2inst1"
# 수집할 데이터베이스 목록.
db_names = ["SAMPLE"]
명령 의존성¶
| 명령 | 설명 |
|---|---|
db2 get snapshot for dbm |
DB2 인스턴스 agent 메트릭을 수집합니다. |
db2 get snapshot for database on <db> |
데이터베이스 연결, 잠금, 로그, buffer pool 개요를 수집합니다. |
db2 list tablespaces show detail |
테이블스페이스 용량을 수집합니다. |
db2 get db cfg for <db> |
HADR, 아카이브 로그 관련 설정을 수집합니다. |
db2pd -db <db> -hadr |
collect_advanced = true일 때 HADR 실행 상태를 수집합니다. |
deep_metrics_command |
사용자 정의 명령으로, key=value 행을 출력해 사용자 정의 메트릭을 수집합니다. |
메트릭¶
모든 메트릭에는 host, input=db2, instance=<name> 태그가 추가됩니다.
db2_instance¶
| Tags & Fields | Description |
|---|---|
| host ( tag) |
호스트 이름. |
| input ( tag) |
항상 db2입니다. |
| instance ( tag) |
input 인스턴스 이름. |
| up | 인스턴스 명령 실행 성공 여부. Type: int | (gauge) |
| agents | DB2 agents 수. Type: int | (gauge) Unit: count |
| agents_registered | registered agents 수. Type: int | (gauge) Unit: count |
| agents_waiting | token을 기다리는 agents 수. Type: int | (gauge) Unit: count |
db2_database¶
| Tags & Fields | Description |
|---|---|
| db_name ( tag) |
데이터베이스 이름. |
| status ( tag) |
데이터베이스 상태. |
| connected | 데이터베이스가 active 상태인지 여부. Type: int | (gauge) |
| connections | 현재 연결 수. Type: int | (gauge) Unit: count |
| locks_held | 현재 보유 중인 잠금 수. Type: int | (gauge) Unit: count |
| lock_waits | 잠금 대기 횟수. Type: int | (count) Unit: count |
| deadlocks | 데드락 횟수. Type: int | (count) Unit: count |
| bufferpool_hit_pct | buffer pool 적중률. Type: float | (gauge) Unit: percent |
| log_available_bytes | 사용 가능한 로그 공간. Type: int | (gauge) Unit: digital,B |
| log_used_bytes | 사용 중인 로그 공간. Type: int | (gauge) Unit: digital,B |
db2_tablespace¶
| Tags & Fields | Description |
|---|---|
| db_name ( tag) |
데이터베이스 이름. |
| tablespace ( tag) |
테이블스페이스 이름. |
| total_pages | 전체 페이지 수. Type: int | (gauge) Unit: count |
| used_pages | 사용된 페이지 수. Type: int | (gauge) Unit: count |
| free_pages | 사용 가능한 페이지 수. Type: int | (gauge) Unit: count |
| page_size_bytes | 페이지 크기. Type: int | (gauge) Unit: digital,B |
| used_pct | 사용률. Type: float | (gauge) Unit: percent |
db2_database_config¶
| Tags & Fields | Description |
|---|---|
| db_name ( tag) |
데이터베이스 이름. |
| parameter ( tag) |
설정 항목 이름. |
| value | 숫자형 설정 항목 값. Type: int | (gauge) |
db2_hadr¶
| Tags & Fields | Description |
|---|---|
| db_name ( tag) |
데이터베이스 이름. |
| member ( tag) |
HADR member. |
| hadr_role ( tag) |
HADR 역할. |
| hadr_state ( tag) |
HADR 상태. |
| hadr_connect_status ( tag) |
HADR 연결 상태. |
| connected | HADR 연결 여부. Type: int | (gauge) |
| primary | HADR 역할이 PRIMARY인지 여부. Type: int | (gauge) |
| hadr_log_gap | HADR 로그 gap. Type: int | (gauge) Unit: count |
| standby_replay_log_gap | standby replay log gap. Type: int | (gauge) Unit: count |
사용자 정의 메트릭¶
사용자 정의 메트릭 필드는 deep_metrics_command의 출력에 따라 결정됩니다. 표에 나열된 필드는 tag로 사용됩니다. 다른 key=value 항목에서 숫자는 float | (gauge) field로 보고되고, 숫자가 아니면 tag로 사용됩니다. 숫자 field가 없으면 count=1이 추가되며, 단위는 count입니다.
| Measurement | Tags | Description |
|---|---|---|
db2_table_metric |
table, db_name, schema |
사용자 정의 테이블 수준 메트릭. |
db2_index_metric |
index, db_name, schema, table |
사용자 정의 인덱스 메트릭. |
db2_long_transaction |
application, db_name, auth_id |
사용자 정의 장기 트랜잭션 메트릭. |
db2_purescale_member |
member, db_name, status |
사용자 정의 pureScale member 메트릭. |
db2_deep_metric |
metric, db_name, unit |
범용 DB2 사용자 정의 메트릭. |