10Logs & EventsLogs & Events
QoS 정책을 만들어 두는 것만으로는 충분하지 않습니다. 그 정책이 실제로 무엇을 했는지 — 어떤 연결을 거부했고, 어디서 패킷이 떨어졌으며, 인터페이스마다 얼마나 많은 트래픽이 QoS를 지나갔는지 — 를 들여다봐야 정책이 의도대로 듣고 있는지 알 수 있습니다. 이 장은 조건을 걸어 로그를 만드는 규칙을 어떻게 구성하고, SmartConsole의 강력한 Logs & Events 기능으로 그 로그를 보며 QoS 정책의 효과를 모니터링하는지 를 빠짐없이 정리합니다. 어떤 사건이 어떤 데이터를 남기는지, 또 실제 로그가 화면에 어떤 모습으로 나오는지까지 예시로 풀어 둡니다. 로깅 자체를 켜는 방법은 QoS 관리에서 다뤘으므로, 여기서는 기록되는 내용 에 집중합니다.
로깅 개요 — 무엇이 로그에 남나
QoS가 남기는 로그는 성격에 따라 크게 둘로 나뉩니다. 하나는 사건(event)을 그때그때 기록하는 비-Accounting 로그 이고, 다른 하나는 일정 구간 동안 쌓인 통계를 기록하는 Accounting 로그 입니다. 두 갈래는 남기는 데이터도, 어떤 정책 모드에서 쓸 수 있는지도 다르므로 나눠서 봅니다.
비-Accounting 로그 사건
다음 사건들이 로그로 남습니다. 아래 표는 각 사건 로그의 고유한 특징을 설명합니다.
| 사건 | 무엇 때문에 남나 | 반환되는 데이터 | 표시(생성) 방식 | 정책 모드 |
|---|---|---|---|---|
| Connection Reject(연결 거부) | 보장(guaranteed) 연결 수를 넘겼거나, 추가 연결을 받지 않도록 시스템을 구성했을 때 QoS가 연결을 거부합니다. | 그 연결을 거부하게 만든 매칭 규칙의 이름. | reject 로그 로 생성되며, 최초 연결 로그와 하나로 합쳐(unified) 집니다. | Recommended 정책 전용. |
| Running Out of Packet Buffers(패킷 버퍼 소진) | 어떤 인터페이스-방향(interface-direction)의 패킷 버퍼가 바닥났을 때. 최대 12시간에 한 번 만 보고됩니다. | 문제의 성격과 해당 풀(pool)의 크기를 설명하는 문자열. | 전역(global) 문제가 보고될 때마다 새 로그 레코드 가 만들어집니다. | Recommended 정책 전용. |
| LLQ Packet Drop(LLQ 패킷 드롭) | LLQ 연결에서 패킷이 떨어졌을 때. 최대 5분에 한 번 만 보고됩니다. | 지연 만료로 떨어진 바이트 수, 평균 패킷 지연, 지터(연속한 두 패킷 사이 지연의 최대 차이). | 최초 연결 로그와 하나로 합쳐 집니다. | Recommended 정책 전용. |
Accounting 로그
다음 표는 Accounting 로그의 고유한 특징을 설명합니다.
| 통계 | 기록되는 데이터 | 정책 모드 |
|---|---|---|
| General Statistics(일반 통계) | 관련된 각 인터페이스·방향별로 QoS를 지나간 총 바이트. QoS가 전송한 inbound·outbound 바이트입니다. | Recommended·Express 정책 모두. |
| Drop Policy Statistics(드롭 정책 통계) | QoS 정책 때문에 연결에서 떨어진 총 바이트. 여기에는 단일 연결에 허용된 최대 메모리 fragment 수를 넘겨 떨어진 바이트의 개수도 포함됩니다. | Recommended 정책 모드 전용. |
| LLQ Statistics(LLQ 통계) | LLQ 연결에 대한 통계. 지연 만료로 떨어진 바이트 수, 평균 패킷 지연, 지터(연속한 두 패킷 사이 지연의 최대 차이). | Recommended 정책 모드 전용. |
로그가 남기 위한 조건
연결 하나가 로그에 남으려면 다음 두 조건이 모두 충족 되어야 합니다.
- Gateway Properties 의 Additional Logging Configuration 창에서 QoS logging 체크박스가 선택 되어 있어야 합니다(기본적으로 자동 선택됨).
- 그 연결의 매칭 규칙(matching rule)이 Track 필드에서 Log 또는 Account 로 표시 되어 있어야 합니다. 규칙이 로그로 남는지 확인하는 방법(Confirming a Rule is logged)과 규칙의 Tracking을 바꾸는 방법(To Modify Tracking for a Rule)은 QoS 관리를 참고하세요.
로그 사건 예시
이 절은 실제 로그 사건이 화면에 어떻게 나오는지를 예시로 보여 줍니다.
Connection Reject 로그
연결이 거부되는 경우는 규칙이 보장 연결 수를 넘겼고, QoS Action Properties 창에서 "Accept additional non-guaranteed connections"가 체크 해제 되어 있을 때입니다(QoS Action Properties는 QoS 관리 참고). 이때 로그에는 규칙의 이름과 클래스(class) 가 다음 형식으로 함께 남습니다.
rule_name: <class> <name>아래 예에서 규칙은 Best_Effort 클래스에 속하고, 규칙 이름(rule_name)은 udp2 입니다.
| Time | Product | Interface | Type | Action | Information |
|---|---|---|---|---|---|
| 15:17:09 | QoS | daemon | log | reject | rule_name:Best_Effort->udp2 |
LLQ Drop 로그
LLQ 연결에서 패킷이 떨어지면, 직전 로그를 만든 시점 이후의 LLQ 정보를 계산해 기록합니다. 여기에는 해당 인터페이스-방향에서 의미 있게 기록된 데이터가 담깁니다. 아래 예에서 기록된 정보는 다음과 같습니다(모두 Server-In 방향이라 접두어가 s_in_).
- s_in_llq_drops — Server-In 인터페이스 방향에서 그 연결에서 떨어진 바이트 수.
- s_in_llq_avg_xmit_delay — Server-In 방향에서 떨어지지 않은 그 연결의 모든 패킷에 대해 계산한 평균 지연.
- s_in_llq_max_delay — Server-In 방향에서 떨어지지 않은 연결 패킷의 최대 지연.
- s_in_llq_xmit_jitter — Server-In 방향에서 성공적으로 전송된 연속한 두 패킷 사이 지연의 최대 차이. 그 사이에 떨어진 패킷은 무시합니다.
- s_in_llq_recommended_delay — 떨어지는 바이트 수를 최소로 하기 위해 Add Low Latency QoS Class Properties 창에 넣을 만한 기본 지연값.
| Product | Type | Information |
|---|---|---|
| QoS | log | s_in_llq_drops:3000 s_in_llq_avg_xmit_delay:900 s_in_llq_max_delay:1351 s_in_llq_xmit_jitter:1351 s_in_llq_recommended_delay:2000 |
위 예에서는 관련 데이터가 Server-In 방향에서만 관측 되었기 때문에 Server-In 카운터만 나옵니다.
Pool Exceeded 로그
지정된 ifdir 풀의 크기를 넘겼을 때 남는 로그입니다. 이 예에서 로그가 보여 주는 것은 다음과 같습니다.
- 한 인터페이스-방향(ifdir)의 풀 크기가 8 fragment 입니다.
- 인터페이스 이름은 E100B1, 방향은 outbound 입니다(바깥을 향하는 화살표가 달린 큐브로 outbound가 표시됩니다).
| Product | Interface | Type | Information |
|---|---|---|---|
| QoS | E100B1 | control | info:Ifdir Memory Pool Exceeded Pool_size:8 |
Accounting 통계 로그 예시
Accounting 로그는 항상 Information 열에 segment_time 정보(로그에 담긴 정보를 모으기 시작한 시점) 를 포함합니다.
Account 로그의 필수 필드(Mandatory Fields)는 다음과 같은 모습입니다.
| Product | Type | Information |
|---|---|---|
| QoS | Account | segment_time 8May2002 12:24:57 |
Account 로그는 위의 정보 가운데 일부 또는 전부 를 포함할 수 있습니다.
General Statistics Data
이 통계는 관련된 인터페이스 방향마다 QoS를 지나 전송된 바이트 수 를 담습니다. 아래 예에서는 이렇습니다.
- s_in_bytes — Server-In 인터페이스 방향에서 QoS를 지나 5768바이트 가 전송되었습니다.
- s_out_bytes — Server-Out 인터페이스 방향에서 QoS를 지나 154294바이트 가 전송되었습니다.
... Information ...
s_in_bytes:5768 s_out_bytes:154294Drop Policy Statistics Data
관련 인터페이스 방향마다 drop policy 때문에 연결에서 떨어진 바이트 수 가 기록됩니다. drop policy는 QoS 패킷 버퍼를 관리하기 위한 것으로, WFRED(Weighted Flow Random Early Drop)가 맡습니다. 여기에는 연결이 자기 할당량을 넘긴 이후 그 연결에서 떨어진 총 바이트 가 포함됩니다. 아래 예에서는 이렇습니다.
- s_out_total_drops — Server-Out 인터페이스 방향에서 drop policy 때문에 그 연결에서 3914274바이트 가 떨어졌습니다.
- s_out_exceed_drops — 그 총 드롭(s_out_total_drops) 가운데, Server-Out 방향에서 허용된 fragment 수를 넘겨 떨어진 바이트가 3914274바이트입니다.
... Information ...
s_out_total_drops:3914274 s_out_exceed_drops:3914274LLQ Statistics Data
데이터 항목은 LLQ Drop 로그와 같지만, 직전 로그를 만든 시점이 아니라 연결이 시작된 시점부터 누적해 생성한다는 점이 다릅니다.