100개 RPA 프로세스, 전역 로그 분석으로 현황 파악 자동화 경험

약 7분 읽기

처음에는 막막했습니다. 100개가 넘는 RPA 프로세스가 운영 중인데, 각 프로세스의 성공/실패 현황을 일일이 파악하는 것은 거의 불가능에 가까웠죠. 매일 아침, 혹은 이슈 발생 시마다 담당자에게 개별적으로 문의하고, 그 응답을 취합하는 비효율적인 작업이 반복되었습니다. 그러다 문득 생각했죠. ‘이 모든 정보를 한눈에 볼 수 있다면 얼마나 좋을까?’ 하는 생각이었죠. 그래서 저는 전역 로그 분석 자동화라는, 다소 거창해 보일 수 있는 도전에 뛰어들었습니다.

문제 정의: 흩어진 로그, 파악의 어려움

각 RPA 프로세스는 자체적으로 로그를 생성합니다. 이 로그들은 대부분 CSV 파일 형태로 저장되었는데, 문제는 이 로그 파일들이 각 프로세스별로, 그리고 경우에 따라서는 서버별로 흩어져 있다는 점이었습니다. 특정 시점에 어떤 프로세스에서 오류가 많이 발생했는지, 성공률은 어떤지, 그리고 그 오류의 패턴은 무엇인지 파악하기 위해서는 수많은 CSV 파일을 열어보고 데이터를 일일이 비교해야 했죠. 이런 방식으로는 빠르고 정확한 문제 진단은 물론이고, 전반적인 프로세스 운영 현황을 파악하는 것조차 어려웠습니다.

첫 번째 시도: 단순 취합의 한계

가장 먼저 떠올린 방법은 단순히 모든 로그 파일을 하나의 저장소로 모으는 것이었습니다. 각 프로세스가 로그 파일을 특정 폴더에 저장하도록 설정하거나, 별도의 스크립트를 이용해 주기적으로 로그 파일을 중앙 서버로 복사하도록 만들었습니다. 물론 이 단계만으로도 로그 접근성은 조금 나아졌지만, 여전히 문제는 남아있었습니다. 수십만, 수백만 줄에 달하는 로그 데이터를 사람이 직접 분석하는 것은 불가능했으니까요. 단순히 모아놓는 것만으로는 ‘한눈에 보기’라는 목표를 달성할 수 없었습니다.

본격적인 분석을 위한 도구 선택

이제는 수집된 로그 데이터를 분석할 수 있는 도구가 필요했습니다. 처음에는 간단한 파이썬 스크립트를 작성하여 CSV 파일을 읽고, 특정 키워드(예: ‘ERROR’, ‘FAILED’)를 포함하는 라인을 추출하는 방식으로 시작했습니다. 하지만 이 방법은 너무 기본적인 수준이었고, 더 복잡한 패턴 분석이나 시각화에는 한계가 있었습니다. 그러던 중, 몇 년 전 개인 서버에 구축했던 n8n이라는 워크플로우 자동화 툴이 떠올랐습니다. n8n은 다양한 데이터 소스와 연동이 쉽고, 워크플로우 형태로 로직을 구성할 수 있어 로그 분석 자동화에 적합하다고 판단했습니다.

n8n을 활용한 로그 분석 워크플로우 구축

저는 n8n을 활용하여 다음과 같은 로그 분석 워크플로우를 설계했습니다.

  • 로그 수집: 먼저, 각 RPA 프로세스가 생성하는 로그 파일을 지정된 중앙 저장소로 모으는 부분을 자동화했습니다. 파일 시스템 노드를 이용해 특정 폴더의 CSV 파일을 읽어오거나, SFTP 노드를 활용하여 원격 서버의 로그 파일을 가져오도록 설정했습니다.
  • 데이터 파싱 및 정제: n8n의 다양한 노드를 활용하여 CSV 파일을 파싱하고, 필요한 데이터(프로세스 이름, 실행 시간, 성공/실패 여부, 오류 메시지 등)만 추출했습니다. 이 과정에서 불필요한 공백을 제거하거나, 날짜 형식을 통일하는 등의 데이터 정제 작업도 함께 진행했습니다.
  • 성공/실패 집계: 추출된 데이터를 바탕으로 각 프로세스별 성공 횟수와 실패 횟수를 집계했습니다. n8n의 ‘Group By’ 기능을 활용하면 손쉽게 특정 필드(예: 프로세스 이름)를 기준으로 데이터를 그룹화하고 집계할 수 있었습니다.
  • 오류 패턴 분석: 단순히 성공/실패 횟수만 집계하는 것을 넘어, 반복적으로 발생하는 오류 메시지를 분석하는 기능도 추가했습니다. 실패 로그에서 오류 메시지를 추출하고, 특정 키워드나 문구의 빈도를 계산하여 자주 발생하는 오류 패턴을 파악할 수 있도록 했습니다.
  • 시각화 및 보고서 생성: 분석된 데이터를 바탕으로 월간 보고서를 자동 생성하는 단계까지 나아갔습니다. n8n에서 직접 데이터를 시각화하는 기능은 제한적이지만, 분석된 데이터를 JSON 형태로 출력하여 다른 시각화 도구(예: Tableau, Power BI)로 연동하거나, 간단한 차트 이미지를 생성하여 보고서에 포함시키는 방식을 고려했습니다. 초기에는 이메일 노드를 통해 간단한 요약 정보를 수신하는 것부터 시작했습니다.

예상치 못한 난관과 해결 과정

이 과정을 진행하면서 예상치 못한 난관에 부딪히기도 했습니다. 첫째, 로그 파일의 형식이 프로세스마다 미묘하게 달랐습니다. 어떤 로그는 헤더가 없거나, 특정 필드의 순서가 다르거나 하는 문제가 있었습니다. 이를 해결하기 위해 n8n 워크플로우 내에 조건부 로직을 추가하여 다양한 로그 형식을 처리할 수 있도록 유연성을 확보했습니다. 둘째, 대용량 로그 파일을 처리할 때 성능 문제가 발생했습니다. 수십만 건 이상의 데이터를 한 번에 처리하려고 하면 n8n 워크플로우가 느려지거나 메모리 부족 오류가 발생하기도 했습니다. 이 문제는 데이터를 청크(chunk) 단위로 나누어 처리하거나, 데이터베이스(예: PostgreSQL)를 중간에 활용하여 효율성을 높이는 방식으로 해결했습니다.

‘한눈에 보기’의 현실화

결과적으로, 저는 n8n을 이용한 전역 로그 분석 자동화 시스템을 통해 100개 이상의 RPA 프로세스 현황을 실시간으로 파악할 수 있게 되었습니다. 대시보드 형태로 각 프로세스의 성공률, 실패율, 주요 오류 유형 등을 한눈에 볼 수 있게 된 것입니다. 이를 통해 다음과 같은 효과를 얻을 수 있었습니다.

  • 신속한 문제 감지 및 해결: 특정 프로세스에서 오류가 발생하면 즉시 알림을 받을 수 있어, 문제 발생 후 대응까지 걸리는 시간을 획기적으로 단축할 수 있었습니다.
  • 운영 효율성 증대: 반복적인 로그 분석 및 보고서 작성 업무에서 벗어나, 더 중요한 문제 해결이나 프로세스 개선에 집중할 수 있게 되었습니다.
  • 데이터 기반 의사결정: 어떤 프로세스가 불안정하고 개선이 필요한지, 어떤 종류의 오류가 자주 발생하는지에 대한 객관적인 데이터를 바탕으로 의사결정을 내릴 수 있게 되었습니다.
  • 예방적 유지보수: 반복되는 오류 패턴을 미리 감지하여, 장애가 발생하기 전에 선제적으로 조치를 취할 수 있었습니다.

앞으로의 과제: 더 깊은 분석과 예측

물론 이 시스템이 완벽하다고 할 수는 없습니다. 현재는 주로 과거 데이터를 기반으로 한 분석에 머물러 있습니다. 앞으로는 머신러닝 기법을 도입하여 미래의 오류 발생 가능성을 예측하거나, 프로세스 성능 저하를 사전에 감지하는 등의 더 고도화된 분석 기능을 추가하고 싶습니다. 또한, n8n 외에 더 전문적인 로그 분석 솔루션과의 연동도 고려해볼 수 있겠죠. 하지만 확실한 것은, 처음 막막하게 느껴졌던 ‘100개 프로세스의 현황을 한눈에 보기’라는 목표를 자동화를 통해 달성했다는 점입니다. 이 경험을 통해 RPA 운영의 효율성을 높이고자 하는 많은 분들에게 작은 영감이 될 수 있기를 바랍니다.

황민

황민 (Hwang Min)

IT·RPA·AI 분야 개발자. 웹앱 개발, UiPath RPA, n8n 자동화 실무 경력 4년. AI·금융·IT 트렌드를 현장 개발자 시각으로 분석합니다.

댓글 남기기

𝕏fin