AIX IBM MQ
AIX IBM MQ input은 dspmq와 runmqsc를 통해 Queue Manager, 큐, 채널, 리스너, 고급 객체를 수집합니다.
구성¶
[inputs]
# 미들웨어 input의 전체 스위치.
enabled = true
[[inputs.ibm_mq]]
# 인스턴스 이름이며, instance tag로 사용됩니다.
name = "QM1"
# 이 IBM MQ 인스턴스 수집을 활성화할지 여부.
enabled = true
# 수집 주기.
interval = "60s"
# 선택 사항, 수집 전에 인스턴스 환경 변수를 로드합니다.
env_file = ""
# cluster/topic/subscription 등의 고급 객체를 수집할지 여부.
collect_advanced = false
# 선택 사항, 사용자 정의 지표 명령. key=value 형식의 행을 출력합니다.
deep_metrics_command = ""
# Queue Manager 이름.
queue_manager = "QM1"
# 큐 필터 규칙.
queue_include = []
queue_exclude = ["SYSTEM.*"]
dead_letter_queue = "SYSTEM.DEAD.LETTER.QUEUE"
# IBM MQ 명령 경로.
dspmq = "dspmq"
runmqsc = "runmqsc"
명령 의존성¶
| 명령 | 설명 |
|---|---|
dspmq -m <QM> |
Queue Manager 상태를 수집합니다. |
runmqsc <QM> |
QMSTATUS, QLOCAL, CHSTATUS, LSSTATUS를 수집합니다. |
runmqsc <QM> 고급 명령 |
collect_advanced = true일 때 CLUSQMGR, TOPIC, SUB를 수집합니다. |
deep_metrics_command |
사용자 정의 명령으로, key=value 행을 출력하여 사용자 정의 지표를 수집합니다. |
지표¶
모든 지표에는 host, input=ibm_mq, instance=<name> 태그가 추가됩니다.
ibm_mq_qmgr¶
| Tags & Fields | Description |
|---|---|
| queue_manager ( tag) |
Queue Manager 이름. |
| status ( tag) |
Queue Manager 상태. |
| up | Queue Manager가 Running 상태인지 여부. Type: int | (gauge) |
ibm_mq_queue¶
| Tags & Fields | Description |
|---|---|
| queue_manager ( tag) |
Queue Manager 이름. |
| queue ( tag) |
큐 이름. |
| curdepth | 현재 큐 깊이. Type: int | (gauge) Unit: count |
| open_input | 입력 open 수. Type: int | (gauge) Unit: count |
| open_output | 출력 open 수. Type: int | (gauge) Unit: count |
| maxdepth | 최대 큐 깊이. Type: int | (gauge) Unit: count |
| dead_letter_depth | 데드 레터 큐 깊이. Type: int | (gauge) Unit: count |
ibm_mq_channel¶
| Tags & Fields | Description |
|---|---|
| channel ( tag) |
채널 이름. |
| status ( tag) |
채널 상태. |
| substate ( tag) |
채널 substate. |
| running | 채널이 RUNNING 상태인지 여부. Type: int | (gauge) |
| current_sharing_conversations | 현재 공유 대화 수. Type: int | (gauge) Unit: count |
| bytes_sent | 전송된 바이트 수. Type: int | (count) Unit: digital,B |
| bytes_received | 수신된 바이트 수. Type: int | (count) Unit: digital,B |
| messages | 메시지 수. Type: int | (count) Unit: count |
ibm_mq_listener¶
| Tags & Fields | Description |
|---|---|
| listener ( tag) |
리스너 이름. |
| status ( tag) |
리스너 상태. |
| running | 리스너가 RUNNING 상태인지 여부. Type: int | (gauge) |
ibm_mq_cluster_qmgr¶
| Tags & Fields | Description |
|---|---|
| queue_manager ( tag) |
Queue Manager 이름. |
| cluster_qmgr ( tag) |
Cluster Queue Manager 이름. |
| status ( tag) |
Cluster Queue Manager 상태. |
| channel ( tag) |
Cluster Queue Manager 관련 채널. |
| running | Cluster Queue Manager가 RUNNING 상태인지 여부. Type: int | (gauge) |
ibm_mq_topic¶
| Tags & Fields | Description |
|---|---|
| queue_manager ( tag) |
Queue Manager 이름. |
| topic ( tag) |
Topic 이름. |
| publishers | publisher 수. Type: int | (gauge) Unit: count |
| subscribers | subscriber 수. Type: int | (gauge) Unit: count |
ibm_mq_subscription_summary¶
| Tags & Fields | Description |
|---|---|
| queue_manager ( tag) |
Queue Manager 이름. |
| subscriptions | subscription 총수. Type: int | (gauge) Unit: count |
| durable_subscriptions | durable subscription 수. Type: int | (gauge) Unit: count |
| admin_subscriptions | admin subscription 수. Type: int | (gauge) Unit: count |
사용자 정의 지표¶
사용자 정의 지표 필드는 deep_metrics_command 출력에 따라 결정됩니다. 표에 나열된 필드는 tag로 사용되며, 그 외 key=value에서 숫자 값은 float | (gauge) field로 보고되고, 숫자가 아니면 tag로 처리됩니다. 숫자 field가 없으면 count=1이 추가되며, 단위는 count입니다.
| Measurement | Tags | Description |
|---|---|---|
ibm_mq_authority |
object, object_type, principal |
사용자 정의 권한 지표. |
ibm_mq_event |
event_type, reason, object |
사용자 정의 이벤트 지표. |
ibm_mq_cluster |
cluster, status |
사용자 정의 클러스터 지표. |
ibm_mq_deep_metric |
metric, unit |
범용 IBM MQ 사용자 정의 지표. |