Cloudflare가 Cloudflare Workers 내부의 오류를 모니터링하는 Issues 기능을 출시했으며, 현재 오픈 베타 버전으로 제공한다. 이 기능은 반복적으로 발생하는 실패를 하나의 문제로 묶은 다음, 해당 세부 정보를 프로그래밍 에이전트로 전송해 조사를 이어 가고 수정 사항을 제안하며 풀 리퀘스트를 열 수 있도록 한다.
Cloudflare는 프로덕션 장애 처리 주기의 실무적 공백을 겨냥한다. 에이전트는 모니터링 데이터에 질의하고, 코드 저장소를 탐색하며, 테스트를 작성하고 코드를 수정할 수 있지만, 이러한 단계를 연결하려면 여러 실패가 동일한 장애에서 비롯된 것인지 확인하고 로그와 트레이스를 수집하는 인간의 개입이 필요했다.
Issues는 무엇을 모니터링하는가?
이 기능은 Workers 환경 내부에서 작동하며 SDK를 설치하거나 애플리케이션에 래퍼를 추가할 필요가 없다. 활성화하면 처리되지 않은 예외, 실패한 호출, 5xx 등급의 HTTP 응답, console.log() 및 console.error() 출력, 그리고 호출 스택을 포함하는 로그를 기록한다. 또한 반복적으로 알림이 실행되는 상황과 루프 내부에 대량의 로그를 작성하는 상황도 모니터링한다.
Issues는 실패한 각 요청을 별도의 상태로 표시하는 대신 유사한 오류를 묶고, 처음 나타난 시점, 발생 횟수, 발생률 증가 여부를 보여 준다. 문제, 가능한 경우 호출 스택, 이전 및 이후 로그와 트레이스, Worker 버전, 요청 세부 정보, 시간에 따른 문제 추이를 표시한다.
조사에 애플리케이션 컨텍스트 추가
개발자는 Workers 환경에 내장된 OpenTelemetry 인터페이스를 사용해 사용자, 계정, 세션과 같은 식별자를 첨부할 수 있다. 이 데이터는 각 occurrence와 함께 표시되므로, 에이전트로 전송하기 전에 장애가 특정 계정이나 세션에 집중되어 있는지 확인하는 데 도움이 된다.
모니터링 대시보드에서 프로그래밍 에이전트로
문제가 정해진 발생 횟수 임계값을 초과하거나 일정한 조용한 기간 이후 다시 발생할 때 전송이 실행되도록 Automation을 설정할 수 있다. Cloudflare는 routine ID와 token을 통한 Claude Code 연결, webhook 주소를 통한 Cursor 연결, API token과 조직 ID를 통한 Devin 연결을 지원하며, 일반 webhook과 채팅 시스템 및 인시던트 관리 시스템도 지원한다.
전송되는 컨텍스트에는 실패 요약, 예외, 소스에 연결된 호출 스택, 로그와 트레이스, Worker 버전, 개발자가 추가한 애플리케이션 컨텍스트가 포함된다. 더 깊이 있는 조사를 위해 에이전트를 Cloudflare MCP에 별도로 연결해 관련 로그와 트레이스를 조회하고 코드와 테스트 수정을 제안하며 풀 리퀘스트를 열 수 있다.
실무적으로 무엇이 달라지는가?
Issues는 장애 발견과 조사 사이의 수작업 단계를 줄이지만, 수정 작업을 완전히 자동화하지는 않는다. 풀 리퀘스트 검토, 변경 사항 배포, 문제를 해결 상태로 전환하는 권한은 여전히 팀이 통제한다. 또한 결과의 품질은 애플리케이션이 추가하는 컨텍스트와 선택한 운영 설정 및 임계값에 좌우된다.
Cloudflare는 Workers를 기반으로 구축된 장기 실행 및 다단계 애플리케이션용 구성 요소인 Workflows에서 이 기능을 테스트했다. 하루 동안 자동화는 두 가지 문제를 발견하는 데 도움을 주었다. 하나는 외래 키와 관련된 SQLite 오류로 인해 제어 평면에서 마이그레이션 중 재시도 루프가 발생한 문제였고, 다른 하나는 Workers의 하위 요청 한도를 초과해 삭제 작업이 완료되지 않은 문제였다. 자동화는 두 문제를 Cloudflare OS로 전송했고, Cloudflare OS는 Workflows 코드에서 오류를 추적해 두 가지 수정 사항을 제안했다.
사용을 시작하려면 wrangler.jsonc 파일에서 observability.issues.enabled를 활성화한 다음, Cloudflare 대시보드에서 첫 번째 Automation을 설정해 문제의 목적지를 선택해야 한다. 목적지는 에이전트, webhook, 인시던트 관리 도구 또는 채팅 플랫폼 중에서 선택할 수 있다.