시작하기
기본 개념
여러 파일 전송 Flow의 실행 상태를 하나의 대시보드에서 확인하기
파일 전송 환경에서는 하나의 Flow만 실행되는 것이 아니라, 서버 간 전송, 클라우드 스토리지 이동, 자동 수집과 배포 등 여러 작업이 동시에 실행될 수 있습니다.
각 작업의 결과는 Runs에서 개별적으로 확인할 수 있지만, 전체 운영 현황을 확인하려면 여러 실행 결과를 하나씩 비교해야 할 수 있습니다.
Grafana 대시보드를 활용하면 전송 작업에서 발생하는 주요 상태와 지표를 시간 흐름에 따라 함께 확인할 수 있습니다.
┌──────────────────────────────────────────────────────┐
│ File Transfer │
│ │
│ Flow A ──┐ │
│ Flow B ──┼──▶ Run / Transfer Metrics │
│ Flow C ──┘ │ │
└─────────────────────────────┼────────────────────────┘
│
▼
Monitoring Data
│
▼
┌──────────────────────────────────────────────────────┐
│ Grafana │
│ │
│ Total Transfer │ Progress │ Completed │ Failed │
│ │
│ Retry Count │ Transfer Trend │ Flow Status │
└──────────────────────────────────────────────────────┘

이렇게 하면 개별 전송 작업을 따로 확인하는 대신 전체 전송 현황 → 특정 Flow 상태 → 개별 Run 확인으로 이어지는 운영 흐름을 구성할 수 있습니다.
대시보드 구성
전송량과 상태 지표를 목적에 맞게 나누어 확인하기
Grafana 대시보드에서는 모든 정보를 하나의 패널에 표시하기보다, 운영 중 확인해야 하는 항목을 역할에 따라 나누어 구성할 수 있습니다.
예를 들어 현재 전송 상태는 상단에서 빠르게 확인하고, 시간에 따른 전송량 변화와 실패 추이는 별도의 패널에서 확인할 수 있습니다.
대시보드의 구성 예시는 다음과 같습니다.
| 대시보드 영역 | 확인 지표 | 활용 |
|---|---|---|
| 현재 상태 | 진행 중인 Run, 전체 진행률 | 현재 전송 상황 확인 |
| 전송량 | 파일 수, 전체 전송 용량 | 처리 규모와 변화 확인 |
| 완료 현황 | 완료된 Run 수 | 정상 처리 결과 확인 |
| 실패 현황 | 실패한 Run 수 | 문제 발생 여부 확인 |
| 재시도 | Retry 횟수와 상태 | 복구 작업 확인 |
| 추이 분석 | 시간별 전송량과 상태 변화 | 반복 패턴 확인 |
| Flow 비교 | Flow별 성공·실패 결과 | 특정 작업 상태 비교 |

이처럼 현재 상태와 누적 결과, 시간별 변화를 구분하면 운영자가 확인하려는 상황에 따라 필요한 정보를 빠르게 찾을 수 있습니다.
운영 흐름
대시보드에서 전체 상태를 확인한 뒤 필요한 Run으로 이동하기
Grafana는 전체 전송 환경의 상태를 빠르게 확인하는 화면으로 활용하고, 문제가 발견된 경우에는 해당 Flow와 Run의 상세 정보로 이동해 실제 전송 결과를 확인할 수 있습니다.
전체 흐름은 다음과 같이 구성할 수 있습니다.
Grafana Dashboard
│
├── Transfer Volume
│
├── Completed
│
├── Failed
│
└── Retrying
│
▼
Flow Identification
│
▼
Run Details
│
▼
Source / Target Check
예를 들어 대시보드에서 특정 시간대에 실패 건수가 증가한 것을 확인하면, 해당 Flow를 찾고 Run 상세 정보에서 Source와 Target, 파일별 처리 결과를 확인할 수 있습니다.
이렇게 하면 전체 현황 확인은 Grafana에서, 실제 파일 전송 결과와 원인 확인은 Run 상세 화면에서 이어서 관리할 수 있습니다.
IT 엔지니어
지표 연결
파일 전송 실행 결과를 모니터링 데이터로 연결하기
먼저 파일 전송 Flow에서 확인할 수 있는 실행 정보와 상태 변화를 모니터링 지표로 전달합니다.
전송량과 파일 수뿐만 아니라 완료, 실패, 재시도와 같은 상태 변화를 함께 연결하면 단순한 사용량 확인을 넘어 파일 전송 환경의 운영 상태를 함께 확인할 수 있습니다.
Transfer Flow
│
▼
Run
│
├── Total Files
├── Total Size
├── Progress
├── Status
└── Retry
│
▼
Metrics / Events
│
▼
Grafana

전송 환경에서는 다음과 같은 지표를 중심으로 구성할 수 있습니다.
| 지표 | 확인 내용 |
|---|---|
| Transfer Volume | 일정 기간 동안 처리된 전체 전송량 |
| File Count | 전송된 파일 수 |
| Progress | 현재 실행 중인 작업의 진행률 |
| Completed | 정상적으로 완료된 작업 수 |
| Failed | 실패하거나 추가 확인이 필요한 작업 수 |
| Retrying | 재시도 중인 작업과 횟수 |
| Duration | 전송 작업에 걸린 시간 |
이렇게 구성하면 파일 전송의 처리 규모와 현재 상태, 반복되는 실패 여부를 서로 다른 지표로 분리해 확인할 수 있습니다.
화면 설계
현재 상태와 시간별 변화를 구분해 대시보드 구성하기
대시보드는 모든 지표를 동일한 방식으로 표시하기보다, 정보의 성격에 따라 적합한 화면으로 나누어 구성할 수 있습니다.
예를 들어 현재 완료·실패 건수는 숫자 중심으로 확인하고, 시간에 따른 전송량 변화는 추이 그래프로 확인할 수 있습니다.
┌───────────────────────────────────────────────────┐
│ FILE TRANSFER OVERVIEW │
├─────────────┬─────────────┬──────────┬────────────┤
│ In Progress │ Completed │ Failed │ Retrying │
│ 12 │ 248 │ 3 │ 2 │
├───────────────────────────────────────────────────┤
│ │
│ Transfer Volume Trend │
│ │
│ ╱╲ ╱╲ │
│ ╱───╱ ╲──╱╲──╱ ╲──── │
│ │
├───────────────────────────┬───────────────────────┤
│ Flow Status │ Retry / Failure Trend │
│ │ │
│ Flow A Completed │ ↑ Failure │
│ Flow B Running │ → Retry │
│ Flow C Failed │ ↓ Recovery │
└───────────────────────────┴───────────────────────┘

예를 들어 다음과 같이 나눌 수 있습니다.
상단 요약 영역: 현재 진행, 완료, 실패, 재시도 상태
전송량 영역: 시간별 파일 수와 전송 용량 변화
Flow 상태 영역: 작업별 현재 실행 결과
실패 추이 영역: 일정 기간 동안 발생한 실패 변화
재시도 영역: 복구 작업과 Retry 결과
이처럼 대시보드의 역할을 나누면 한 화면에서 모든 세부 정보를 읽는 대신 현재 상황을 먼저 파악한 뒤 필요한 지표를 중심으로 상세 상태를 확인할 수 있습니다.
전송량 분석
시간대와 Flow별 전송량을 비교해 처리 흐름 확인하기
파일 전송량은 단순히 전체 용량만 확인하는 것보다 시간대와 Flow별로 나누어 보면 실제 처리 패턴을 확인하는 데 도움이 됩니다.
예를 들어 매일 새벽에 백업 파일이 집중적으로 전송되거나, 특정 업무 시간에 대량 파일 전송이 반복되는 흐름을 확인할 수 있습니다.
Transfer Volume
│
┌──────────────────┼──────────────────┐
▼ ▼ ▼
Time Range Flow Name Target
│ │ │
▼ ▼ ▼
Hour / Day Backup Flow Amazon S3
Report Flow File Server
Media Flow Cloud Storage

전송량을 분석할 때는 다음 기준을 함께 활용할 수 있습니다.
| 분류 기준 | 확인 목적 |
|---|---|
| 시간 | 특정 시간대의 전송 집중 여부 확인 |
| Flow | 작업별 처리량 비교 |
| Source | 파일 생성 환경별 전송 규모 확인 |
| Target | 스토리지별 저장량 확인 |
| 파일 수 | 다수의 소형 파일 처리량 확인 |
| 전체 용량 | 대용량 파일 전송 규모 확인 |
이를 통해 전체 전송량만 확인하는 대신 어떤 작업이 언제, 어느 환경으로 많은 파일을 전송하는지 구분해 확인할 수 있습니다.
상태 추적
완료·실패·재시도 결과를 시간 흐름에 따라 확인하기
전송량이 정상적으로 유지되더라도 특정 Flow에서 실패가 반복될 수 있습니다.
따라서 처리 규모와 실행 결과를 함께 확인하면, 단순히 얼마나 많은 파일이 이동했는지뿐 아니라 실제 전송 환경이 안정적으로 동작하고 있는지도 함께 확인할 수 있습니다.
Run Status
│
┌────────────────┼────────────────┐
▼ ▼ ▼
Completed Failed Retrying
│ │ │
▼ ▼ ▼
Success Count Failure Count Retry Count
│ │ │
└────────────────┼────────────────┘
▼
Grafana Dashboard
│
▼
Status Trend Analysis

예를 들어 실패 건수와 재시도 건수가 동시에 증가하는 경우에는 네트워크나 Source·Target 환경의 상태를 추가로 확인할 수 있습니다.
반대로 실패 이후 재시도 작업이 완료 상태로 전환되면, 일시적인 문제가 발생했지만 정상적으로 복구되었는지 확인할 수 있습니다.
이처럼 실패 건수만 따로 보는 것이 아니라 실패 → 재시도 → 완료로 이어지는 상태 변화를 함께 확인할 수 있습니다.
Flow 비교
여러 전송 작업의 상태를 같은 기준으로 비교하기
하나의 Grafana 대시보드에서 여러 Flow를 함께 확인하면 특정 작업의 상태를 다른 전송 작업과 비교할 수 있습니다.
예를 들어 대부분의 Flow가 정상적으로 완료되고 있지만 특정 Target으로 전송하는 작업에서만 실패가 반복된다면 해당 환경을 중심으로 추가 확인할 수 있습니다.
┌──────────────────────────────────────────────┐
│ Flow Status │
├────────────────┬────────────┬───────────────┤
│ Flow │ Transfer │ Current State │
├────────────────┼────────────┼───────────────┤
│ Backup │ 1.2 TB │ Completed │
│ Daily Report │ 48 GB │ Completed │
│ Media Upload │ 860 GB │ Retrying │
│ Archive │ 2.4 TB │ Failed │
└────────────────┴────────────┴───────────────┘

Flow별 상태를 비교할 때는 다음 항목을 기준으로 확인할 수 있습니다.
| 확인 기준 | 활용 |
|---|---|
| 전송량 | 특정 작업의 처리 규모 비교 |
| 완료율 | 정상 처리 상태 확인 |
| 실패 수 | 반복적인 문제 발생 여부 확인 |
| 재시도 수 | 자동 복구 작업 확인 |
| 실행 시간 | 예상보다 오래 걸리는 작업 확인 |
| Target | 특정 저장 환경의 문제 여부 확인 |
이를 통해 특정 Run을 직접 찾기 전에 전체 Flow 중 추가 확인이 필요한 작업을 먼저 식별할 수 있습니다.
문제 확인
대시보드에서 이상 상태를 찾고 Run 상세 정보로 이어가기
Grafana 대시보드에서 실패 증가나 전송량 변화와 같은 이상 상태가 확인되면, 해당 작업의 Flow와 Run 상세 정보를 통해 실제 전송 결과를 확인할 수 있습니다.
문제 확인 흐름은 상황에 따라 다음과 같이 이어집니다.
Dashboard Check
│
▼
Metric Change
│
├── Transfer Volume Increase
│
├── Failed Count Increase
│
└── Retry Repeated
│
▼
Identify Flow
│
▼
Check Run
│
┌──────┼──────┐
▼ ▼ ▼
Source Files Target
│ │ │
└──────┼──────┘
▼
Environment Check

Run 상세 정보에서는 실제 파일 전송이 어느 구간에서 추가 확인이 필요한지 확인할 수 있습니다.
예를 들어 Source에서 파일을 읽지 못한 경우에는 파일 경로와 연결 상태를 확인하고, Target 저장에 실패한 경우에는 대상 스토리지의 연결과 접근 범위를 점검할 수 있습니다.
운영 관리
전체 전송 현황과 개별 실행 결과를 연결해 운영하기
Grafana는 여러 파일 전송 작업의 전체 상태와 시간별 변화를 확인하는 화면으로 활용할 수 있습니다.
문제가 확인되면 해당 Flow와 Run의 상세 정보로 이동해 실제 처리 결과를 확인하고 필요한 경우 재시도를 진행할 수 있습니다.
전체 운영 흐름은 다음과 같이 구성할 수 있습니다.
┌─────────────────┐
│ Grafana │
│ Dashboard │
└────────┬────────┘
│
│ Overall Status
▼
┌─────────────────┐
│ Flow │
│ Identification │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Run Details │
└────────┬────────┘
│
┌────┴─────┐
▼ ▼
Normal Issue
│ │
│ ▼
│ Environment Check
│ │
│ ▼
│ Retry
│ │
└──────────┘
│
▼
Updated Metrics
│
▼
Grafana Dashboard

이 레시피를 적용하면 파일 전송 실행 → 전송량·진행률·상태 지표 수집 → Grafana 대시보드 구성 → Flow별 상태 비교 → 실패와 재시도 추이 확인 → Run 상세 확인 → 재실행 결과 반영까지 하나의 운영 흐름으로 구성할 수 있습니다.
이를 통해 개별 파일 전송 작업을 반복적으로 확인하는 대신, 전송량과 완료·실패·재시도 상태를 Grafana에서 종합적으로 확인하고 전체 파일 전송 환경의 변화와 문제 발생 흐름을 함께 관리할 수 있습니다.
개발자
전송 이력을 조회·집계해 Grafana가 읽을 지표로 노출하기
전송 목록·이력 API를 기간·상태로 조회해 상태별 건수를 집계합니다. 이 지표를 Grafana의 JSON 계열 데이터소스로 노출합니다. 시작 전에 다음 항목을 준비합니다.
| 준비물 | 내용 |
|---|---|
| INNORIX 인증 | INNORIX_ACCESS_TOKEN (Authorization: Bearer) |
| 조회 기간·상태 | 집계할 기간(startDate·endDate)과 상태 필터(statusFilter) |
| Grafana 데이터소스 | JSON API·Infinity 등 HTTP JSON을 읽는 데이터소스 |
| 런타임 | Python 3 + requests · Java 17+ · Node.js 18+ · .NET 8+ |
Python·Node.js는 REST를 직접 호출하는 최소
api()헬퍼를 API 호출 레시피의 것을 재사용합니다. Java·C#은 번들 소스의InnorixClient와Json(C#은J) 헬퍼를 사용합니다. 상태 코드(2=완료, 4=오류, 9=부분 완료 등)는 무결성 검증·중단 후 재개 레시피의 상태 표를 참고합니다.
전송 이력을 상태별로 집계
기간·상태로 이력을 조회하고 커서로 전체를 순회하며 상태별 건수를 집계합니다. 결과를 Grafana가 읽을 JSON으로 반환합니다.
def transfer_metrics(start_date, end_date, limit=200):
counts = {} # status -> count
cursor = None
while True:
params = {"startDate": start_date, "endDate": end_date, "limit": limit}
if cursor:
params["cursor"] = cursor
page = api("GET", "/api/transfer-history", params=params) or {}
for row in (page.get("data") or []):
status = row.get("status")
counts[status] = counts.get(status, 0) + 1
cursor = (page.get("pagination") or {}).get("nextCursor")
if not cursor:
break
# metric shape read by the Grafana JSON datasource
return {
"completed": counts.get(2, 0),
"error": counts.get(4, 0),
"partial": counts.get(9, 0),
"total": sum(counts.values()),
}
metrics = transfer_metrics("2026-09-01T00:00:00Z", "2026-09-07T23:59:59Z")
print(metrics) # e.g. {"completed": 120, "error": 3, "partial": 1, "total": 124}Grafana 연결 방식 INNORIX는 Grafana 전용 통합을 제공하지 않으므로, 위 지표를 Grafana가 읽을 수 있게 노출하는 방법을 선택합니다. 가장 간단한 방법은 이 함수를 작은 HTTP 엔드포인트로 감싸고 Grafana의 JSON API·Infinity 데이터소스로 조회하는 것입니다. 데이터소스·패널 구성은 Grafana 쪽 설정입니다.
커서 페이지네이션
/api/transfer-history는pagination.nextCursor로 페이지를 넘깁니다. 대량 이력은 커서가 없어질 때까지 순회해 전체를 집계합니다. 실시간 진행 지표가 필요하면GET /api/transfers(활성 목록,statusFilter)를 함께 조회합니다.
구현 결과
이 레시피를 적용하면 다음 흐름으로 전송 지표를 Grafana에서 확인할 수 있습니다.
전송 이력·활성 목록 API 조회 (기간·상태·커서)
↓ 상태별 집계 (완료·실패·부분)
지표 JSON 노출
↓ Grafana JSON 데이터소스가 조회
Grafana 대시보드 패널
전송 이력을 기간·상태로 집계해 지표로 노출하고, Grafana 데이터소스로 읽어 전송 건수·성공·실패 추이를 대시보드로 확인할 수 있습니다.