인프라를 운영하면 숫자가 많을수록 판단이 느려집니다. 서버 오류 로그와 네트워크 상태를 한 화면에 모두 넣어도, 실제로 필요한 정보는 찾기 어렵고 오히려 혼란만 커집니다. 좋은 모니터링 대시보드는 "더 많은 차트"가 아니라 "빨리 판단하게 만드는 화면"입니다.

왜 서버 로그와 네트워크를 한 화면에 넣으면 안 되는가
서버 오류 로그와 네트워크 상태는 서로 다른 계층의 데이터를 다룬다. 서버 로그는 애플리케이션, 미들웨어, OS 레벨의 오류를 보여주지만 네트워크는 인터페이스, 링크, 라우팅, 패킷 손실 같은 하위 계층 문제를 다룬다. 같은 화면에 억지로 합치면 각 지표가 서로 묻히기 쉽고, 장애 원인을 찾을 때 우선순위가 흐릿해진다.
Grafana 문서도 인프라 자원은 USE 방식, 서비스 품질은 RED 방식처럼 관점이 다른 지표 체계를 구분해 설계하라고 설명한다. 대시보드는 질문에 답하거나 스토리를 전달해야 한다. 목표 없이 차트만 많이 나열하면 중요한 신호가 묻혀버린다.
Microsoft는 "올인원 차트"보다 "단순한 차트 여러 개"를 권장한다. 복잡한 올인원 차트보다 여러 섹션에 나누어 단순 차트를 배치하면 주요 지표를 더 빠르게 식별할 수 있다. 더불어 대시보드는 명확한 목표 KPI를 먼저 정하고 그 기준으로 지표를 선택해야 한다.
결론은 간단하다.
- 증상과 원인 후보를 같은 화면에서 구분해야 한다.
- 영향 범위와 상세 분석 영역을 분리해야 한다.
- 역할별 읽기 순서가 명확해야 운영자가 클릭을 적게 한다.
대시보드 설계의 핵심 원칙 7가지
원칙 1: 대시보드는 누구를 위한 화면인가
운영 담당자는 "지금 어디가 위험한지"를 빠르게 알아야 하고, 팀 리더는 "장애 추세와 SLA 영향도"를 봐야 하며, 엔지니어는 "특정 서버나 서비스 단위 Drill-down"이 가능해야 한다. 단일 화면이라도 역할별 읽기 순서가 분명해야 한다.
원칙 2: 읽는 순서를 위에서 아래로, 왼쪽에서 오른쪽으로
상단에 전체 건강 상태를 요약하는 KPI 카드를 배치하고, 중단에는 시간 흐름에 따른 추세 차트를 둔다. 하단에는 오류 원인과 세부 로그를, 우측이나 보조 영역에는 알림과 최근 배포 이벤트 같은 맥락 정보를 추가한다. 이렇게 하면 인지 부담이 줄어든다.
원칙 3: 단순 차트 여러 개가 복잡한 올인원 차트보다 좋다
Grafana는 계층형 대시보드와 Drill-down 구조를 권장하며, 서비스 흐름을 반영한 행 배치가 효과적이라고 설명한다. 유사한 대상을 비교할 때는 축을 정규화하고, 크기 차이가 큰 데이터를 한 차트에 몰아넣지 말아야 중요한 신호가 묻히지 않는다.
원칙 4: 차트의 화려함보다 정보의 우선순위
대시보드는 "무슨 일이 일어났는가"보다 먼저 "지금 대응이 필요한가"를 알려줘야 한다. 색상도 예쁨보다 상태 전달에 맞춰 일관되게 사용해야 한다.
| 상태 | 추천 색상 |
| 정상 | blue 또는 green |
| 경고 | amber |
| 심각 | red |
상태 의미를 고정하면 시선 이동 속도가 빨라진다.
원칙 5: 화면은 Summary Dashboard와 세부 분석 화면으로 나누기
한 장짜리 Summary Dashboard와 세부 분석 화면으로 나누는 것이 좋다. Grafana는 템플릿 변수와 링크를 활용해 노드별로 대시보드를 복제하지 말고 하나의 Master Dashboard를 재사용하라고 권장한다. 알림에서 바로 관련 대시보드로 연결되는 구조가 바람직하다.
원칙 6: 목표 KPI를 먼저 정하고 지표를 선택
Microsoft는 서버 다운타임, 평균 대응 시간, SLA 같은 목표 지표를 먼저 정하라고 권장한다. Grafana는 USE, RED, Four Golden Signals 같은 관측 전략을 기반으로 지표를 선택하라고 설명한다.
원칙 7: 알림에서 바로 관련 화면으로 이동
대시보드는 알림 이벤트와 연결되어야 한다. Grafana는 알림에서 바로 관련 대시보드로 연결되는 구조를 권장한다.
추천 정보 구조: 상단, 중앙, 하단 3 단계
상단 Summary 영역
다음 항목이 잘 어울린다.
- 총 서버 수, 현재 장애 서버 수, Warning 장비 수, 전체 Availability 비율
- 최근 1 시간 Error Count, Critical Error 비중, 평균 복구 시간, 미해결 Incident 수
- 네트워크 관점의 Packet Loss, Latency, Interface Down 수, Throughput 이상 징후 수
중앙 Trend 영역
시간 흐름을 보여주는 차트가 필요하다.
- 시간대별 Error Rate line chart, 갑작스러운 급증을 식별하기 좋다.
- 서비스 또는 서버 그룹별 Latency trend, 사용자 체감 영향도를 해석하기 좋다.
- Packet Loss와 Network Latency를 함께 보는 dual-axis chart, 단위가 다르므로 좌우 Y 축 분리가 유리한다. Grafana도 다른 단위의 시계열은 좌우 축 사용을 권장한다.
- Deployment, Patch, Batch Job 시작 시간을 annotation으로 표시하면 장애와 변경 이벤트의 상관관계를 빨리 찾을 수 있다.
하단 Detail 영역
원인 분석용으로 구성한다.
- Top Error Message bar chart, 어떤 오류가 가장 많이 발생했는지 바로 확인할 수 있다.
- Host 또는 VM별 Error Heatmap, 특정 시간과 장비 조합에서 문제가 몰리는지 파악하기 좋다.
- Interface 상태 테이블, 장비명, 포트명, 상태, 패킷 손실, 최근 변경 시각을 함께 보여주면 운영 대응 속도가 높아진다. IBM의 Network Health Dashboard 설명도 디바이스와 인터페이스 가용성, KPI 그래프, 테이블, 추적을 함께 제시한다고 설명한다.
- Raw Log Preview, 심각도별 필터와 검색창을 두어 상세 로그로 바로 내려가게 설계하는 것이 좋다.
어떤 KPI를 넣어야 하는가: USE, RED, Four Golden Signals
서버 인프라 관점: USE Method
| 구분 | 권장 KPI | 시각화 방식 |
| Utilization | CPU 사용률, Memory 사용률, Disk 사용률 | line chart, gauge, sparkline |
| Saturation | Load Average, Queue Length, Thread Pool 대기 수 | line chart |
| Errors | 시스템 오류 건수, 프로세스 재시작 수, Disk I/O 오류 수 | alert card, bar chart, heatmap |
서비스 장애 감지 관점: RED Method
| 구분 | 권장 KPI | 시각화 방식 |
| Rate | 초당 요청 수, 로그 유입량, API 호출 수 | line chart |
| Errors | HTTP 5xx, Application Exception, Timeout 비율 | line chart, bar chart |
| Duration | 평균 응답 시간, P95, P99 latency | percentile line chart |
사용자 체감 중심: Four Golden Signals
Latency, Traffic, Errors, Saturation을 함께 보면 단순히 서버 자원이 높은지보다 실제 서비스 품질이 나빠졌는지 더 쉽게 판단할 수 있다.
네트워크 상태 KPI
다음 KPI가 실무적으로 중요하다.
- Device Availability, Interface Availability
- Packet Loss, Round Trip Time, Jitter, Throughput
- Link Utilization, Bandwidth Saturation
- Interface Error, Dropped Packet, Retransmission
여기서 중요한 점은 지역, IDC, Zone, VNet, Subnet 단위 상태 비교이다. 같은 장비 수치만 계속 보는 방식보다 Region, Cluster, Service Group, Environment 단위 필터를 함께 제공하면 운영 효율이 높아진다. Grafana도 템플릿 변수로 노드별 별도 대시보드를 만들지 말고 재사용 가능한 필터 기반 구조를 권장한다.
오류 로그 시각화에서 중요한 포인트
오류 로그는 단순 카운트만 보여주면 거의 쓸모가 없다. Loggly의 오류 리포팅 예시처럼 전체 로그 중 오류만 필터링하고, 메시지 기준으로 분리해 상위 오류를 bar chart로 보여주고, 이후 시간 흐름과 서비스별 분포를 Operational Dashboard에 결합하는 방식이 실제 대응에 더 유리한다.
실무에서 특히 강조할 점은 Error Count보다 Error Pattern이다. 예를 들어 같은 500 건의 오류라도 10 초 동안 몰린 Burst인지, 하루 종일 조금씩 이어진 Chronic Error인지에 따라 대응 방식이 완전히 다르므로 line chart와 heatmap을 반드시 함께 사용해야 한다.
오류 로그는 다음처럼 단계적으로 보여주면 읽기 좋다.
- Total Errors와 Critical Errors를 KPI 카드로 보여준다.
- 시간대별 Error Trend를 line chart로 배치한다.
- Top Error Messages를 horizontal bar chart로 보여준다.
- Host, Service, Module 기준 Error Heatmap을 추가한다.
- 마지막에 검색 가능한 Raw Log Table을 둔다.
이 구조가 좋은 이유는 Summary to Detail 흐름이 자연스럽기 때문이다. Grafana가 말하는 "general to specific"과 "large to small" 스토리 구조를 그대로 적용할 수 있고, 야간 장애 상황처럼 급박한 순간에도 운영자가 생각보다 클릭을 적게 하게 된다.
네트워크 상태 시각화에서 놓치기 쉬운 점
네트워크 대시보드는 서버 지표보다 더 쉽게 과밀해진다. IBM 문서가 설명하듯 Network Health Dashboard는 선택된 네트워크 뷰에서 디바이스와 인터페이스 가용성을 보여주고, 성능은 KPI 그래프, 테이블, 추적으로 함께 제시하는데, 이 조합이 중요한 이유는 네트워크 문제는 "어디서", "언제", "어느 인터페이스에서" 발생했는지가 같이 보여야 하기 때문이다.
단순한 Ping 성공률만으로는 운영 의사결정을 내리기 어렵다. 예를 들어 Availability는 99.9%로 좋아 보여도 특정 구간에서 Packet Loss와 Jitter가 급등하면 실사용 품질은 나빠질 수 있으므로, Availability KPI 아래에 Latency, Packet Loss, Bandwidth Saturation, Interface Error를 함께 배치해 증상과 원인을 동시에 볼 수 있게 해야 한다.
네트워크 시각화는 다음 조합이 특히 효과적이다.
- Geographic map 또는 Topology style 요약, 여러 거점 상태를 즉시 파악할 수 있다.
- Device Availability donut 또는 stacked status bar, 전체 장비 상태 분포를 빠르게 보여준다.
- Interface Down Top N bar chart, 우선 대응 대상을 정하는 데 좋다.
- Latency trend와 Packet Loss trend, 네트워크 품질 저하 흐름을 파악하기 좋다.
- Port detail table, 실제 운영 조치로 연결하기 좋다.
다만 observability 대시보드에서는 donut이나 stacked graph를 남용하면 오히려 중요한 변화를 가릴 수 있다. Grafana는 stacked graph가 오해를 만들 수 있어 대부분의 경우 주의가 필요하다고 설명하므로, 상태 분포처럼 비율 파악이 목적일 때만 제한적으로 쓰고 시계열 비교는 line chart 중심으로 가져가는 것이 안전하다.
Azure와 Power BI 관점에서 구현하는 방법
Azure Monitor, Log Analytics, Application Insights, Power BI를 조합한 구조가 실무에서 가장 자연스럽다. Microsoft Playbook은 Azure Workbooks, Log Analytics 기반 대시보드, Application Insights, Power BI, Grafana를 모두 관측 대시보드 도구로 추천한다.
Azure 환경에서는 보통 다음 구조가 자연스럽다.
- Azure Monitor와 Log Analytics에서 인프라 메트릭, 진단 로그, 네트워크 로그를 수집한다.
- Application Insights로 애플리케이션 오류, 응답 시간, 사용자 요청 데이터를 연결한다.
- Power BI에서 운영용 Summary Dashboard와 분석용 트렌드 리포트를 구성한다.
- 필요 시 Grafana를 연결해 실시간 기술 관측 화면을 강화한다.
Power BI로 구현할 때는 Business Dashboard처럼 예쁘게 꾸미기보다 Monitoring Dashboard답게 상태 중심 UI를 유지하는 것이 좋다. 상단 KPI 카드, 중앙 시계열, 하단 상세 테이블 구조를 잡고, slicer는 Environment, Region, Service, Host, Severity 정도만 남겨 필터 복잡도를 낮추는 편이 운영 화면에 적합하다. 단순하고 여러 개의 차트를 섹션별로 배치하라는 원칙과도 맞다.
Power BI에서는 Drill-through와 Tooltip Page를 적극 활용하면 좋다. 메인 화면은 짧게 유지하고, 특정 서버나 서비스 클릭 시 Error Detail, Network Detail, Change History 페이지로 넘어가도록 설계하면 한 화면에 모든 것을 욱여넣지 않아도 된다. 이런 Drill-down 구조는 Grafana가 권장하는 계층형 대시보드 개념과 동일한 방향이다.
Azure Monitor 와 Log Analytics 기반 대시보드 구현 예시
Azure 환경에서 실제 구현할 때 다음 단계가 가장 실무적이다.
- Azure Monitor와 Log Analytics에서 인프라 메트릭과 진단 로그를 수집한다.
- Application Insights로 애플리케이션 오류와 응답 시간을 연결한다.
- Power BI에서 KPI 카드, 시계열 차트, 상세 테이블을 구성한다.
- Grafana를 연결해 실시간 관측 화면을 강화한다.
Power BI 대시보드 구조 예시
상단 KPI 카드
- 총 서버 수
- 장애 서버 수
- Error Count
- Critical Error 비중
- Availability 비율
- Packet Loss
- Interface Down 수
중앙 시계열 차트
- 시간대별 Error Rate
- 서비스별 Latency trend
- Packet Loss trend
- Network Latency trend
- Deployment annotation
하단 상세 테이블
- Top Error Message
- Host별 Error Heatmap
- Interface 상태 테이블
- Raw Log Preview
Power BI에서 Drill-through 설정
- 메인 화면에서 특정 서버나 서비스 클릭
- Error Detail 페이지로 이동
- Network Detail 페이지로 이동
- Change History 페이지로 이동
이렇게 하면 한 화면에 모든 것을 넣지 않아도 된다. Grafana가 권장하는 계층형 대시보드 개념과 동일하다.
Azure Monitor KQL 예시
Azure Log Analytics에서 서버 오류 로그를 조회하는 기본 KQL 예시다.
AzureDiagnostics
| where category == "Application"
| where logLevel in ("Error", "Critical")
| timegrain 1h
| count by logLevel, timeBucket
| order by timeBucket asc
네트워크 상태 로그 조회 예시
AzureNetworkAnalytics
| where direction == "Inbound"
| where packetLoss > 0.01
| timegrain 5m
| avg(packetLoss) by subnet, timeBucket
| order by timeBucket asc
이 KQL로 Power BI 차트에 바로 연결할 수 있다. Azure Monitor와 Log Analytics를 사용하면 인프라 메트릭과 네트워크 로그를 한 번에 수집할 수 있다.
Grafana 대시보드 JSON 예시
Grafana에서 서버 오류 로그와 네트워크 상태를 한 화면에 구성하는 기본 JSON 예시다.
{
"dashboard": {
"title": "Server Error & Network Monitoring",
"panels": [
{
"title": "Total Errors",
"type": "stat",
"targets": [
{
"query": "sum(errors_total)"
}
]
},
{
"title": "Error Rate Trend",
"type": "graph",
"targets": [
{
"query": "sum(rate(errors_total[5m])) by (service)"
}
]
},
{
"title": "Packet Loss",
"type": "graph",
"targets": [
{
"query": "avg(packet_loss) by (subnet)"
}
]
},
{
"title": "Top Error Messages",
"type": "table",
"targets": [
{
"query": "topk(10, count by (message))"
}
]
}
]
}
}
이 JSON을 Grafana Dashboard에 import 하면 바로 사용 가능하다. Grafana는 템플릿 변수로 노드별 별도 대시보드를 만들지 말고 재사용 가능한 필터 기반 구조를 권장한다.
Power BI 대시보드 M 코드 예시
Power BI에서 Azure Monitor 데이터를 가져오는 기본 M 코드 예시다.
let
Source = AzureMonitor.Connect(
"AzureSubscriptionId",
"AzureResourceGroup",
"AzureMonitorWorkspace"
),
Errors = AzureMonitor.Logs(
Source,
"AzureDiagnostics",
wherecategory = "Application",
whereLogLevel in ("Error", "Critical")
),
Grouped = Errors
| groupby(timeBucket, logLevel)
| count(),
Result = Grouped
order by timeBucket asc
이 M 코드로 Power BI 데이터 모델을 구성하고 차트를 연결할 수 있다. Azure Monitor와 Log Analytics를 사용하면 인프라 메트릭과 네트워크 로그를 한 번에 수집할 수 있다.
독자가 바로 적용할 수 있는 체크리스트
다음 체크리스트를 대시보드 설계 전에 먼저 확인하자.
- 대시보드 목적을 명확히 적었다 (장애 탐지, 원인 분석, SLA 보고)
- KPI를 장애 탐지용과 원인 분석용으로 분리했다
- 상단 KPI 카드, 중앙 시계열, 하단 상세 테이블 구조를 잡았다
- slicer는 Environment, Region, Service, Host, Severity 정도로 제한했다
- 단순 차트를 여러 개 배치하고 질문 순서대로 정렬했다
- 알림에서 바로 관련 화면으로 이동할 링크를 둔다
- 문서 패널에 대시보드 목적, 사용법, 해석 기준을 적었다
- 서버별로 대시보드를 복제하지 않고 템플릿 변수로 재사용한다
- 과도한 refresh 주기를 줄였다 (5 분 이상 권장)
- 임시 실험 대시보드는 정기적으로 정리한다
자주 하는 질문
Q1: 서버 로그와 네트워크를 한 화면에 넣어야 하는가
아니다. 증상과 원인 후보를 같은 화면에서 구분해야 하고, 영향 범위와 상세 분석 영역을 분리해야 한다. 역할별 읽기 순서가 명확해야 운영자가 클릭을 적게 한다.
Q2: 어떤 KPI를 먼저 정해야 하는가
서버 다운타임, 평균 대응 시간, SLA 같은 목표 지표를 먼저 정한다. USE, RED, Four Golden Signals 같은 관측 전략을 기반으로 지표를 선택한다.
Q3: Power BI와 Grafana를 같이 사용해야 하는가
필수는 아니다. Power BI로 운영용 Summary Dashboard와 분석용 트렌드 리포트를 구성하고, 필요 시 Grafana를 연결해 실시간 기술 관측 화면을 강화한다.
Q4: 차트는 얼마나 많이 넣어야 하는가
한 화면에 5~8 개 차트가 적당하다. 단순 차트를 여러 개 배치하고, 질문에 답하는 순서대로 정렬한다.
Q5: 새로고침 주기는 어떻게 설정해야 하는가
5 분 이상 권장한다. 1 분 새로고침은 백엔드와 네트워크 부하를 키운다.
복잡한 인프라 수치를 한눈에 관리하는 서버 오류 로그 및 네트워크 상태 모니터링 대시보드는 많이 보여주는 화면이 아니라, 빨리 판단하게 만드는 화면으로 설계해야 한다. 좋은 대시보드는 목표 없는 차트 모음이 아니라 장애 징후, 원인 후보, 영향 범위, 대응 우선순위를 한 흐름으로 보여준다.
벽돌로 쌓은 화면이 아니라, 질문과 스토리로 짜인 화면이 운영자의 수고를 줄인다. Azure Monitor, Log Analytics, Application Insights, Power BI, Grafana를 조합해 현실에 맞는 대시보드를 구성하면, 장애 대응 속도와 운영 효율이 눈에 띄게 개선된다.
이 글이 Azure 환경에서 SAP, MSSQL 등 원천 데이터를 적재하고 모델링한 분석계를 Power BI로 연결하는 Data Engineer, BI Engineer 역할을 하는 당신에게 실제로 도움이 되길 바란다. 대시보드 설계 전에 체크리스트를 먼저 확인하고, 상단 KPI 카드, 중앙 시계열, 하단 상세 테이블 구조를 잡으면 복잡도를 줄이면서 읽기 좋은 화면을 만들 수 있다.
놓치면 아쉬운 추천 글, 함께 읽어보세요!
- 추천 글을 불러오는 중입니다...