Azure SRE 에이전트의 워크플로 자동화

운영 워크플로는 여러 도구에 걸쳐 있으며 다음에 나오는 내용을 다른 사람이 기억해야 합니다. 한 시스템에서 상태를 확인하고, 결정을 내리고, 다른 시스템에서 실행하고, 세 번째 시스템에서 팀에 알립니다. 각 핸드오프는 대기 시간과 위험을 추가합니다.

팁 (조언)

워크플로 자동화를 통해 다음을 수행할 수 있습니다.

  • 누구도 깨우지 않고 사고를 처음부터 끝까지 처리하기
  • 필요한 경우 사용자 감독으로 예약된 작업 자동 실행
  • 과거 사건에서 얻은 지식을 매번 일관되게 적용하기

워크플로 자동화 작동 방식

달성할 항목:

  • 일정에 따라 또는 인시던트에 대응하여 실행되는 자동화된 워크플로
  • 특수 작업을 위한 특정 도구를 사용하는 사용자 지정 에이전트
  • 엔드 투 엔드 흐름: 트리거 → 조사 → 작업 → 알림

트리거가 발동되면(예정된 시간 또는 인시던트 발생 시), 에이전트는 다음과 같이 동작합니다.

  1. 트리거를 받습니다. 예약된 작업이 실행되거나 인시던트가 응답 계획과 일치합니다.
  2. 사용자 지정 에이전트를 호출합니다. 구성된 사용자 지정 에이전트는 해당 도구 및 지침으로 시작합니다.
  3. 워크플로를 실행합니다. 사용자 지정 에이전트는 필요한 경우 다른 사용자 지정 에이전트를 조사, 작업 및 조정합니다.
  4. 팀에게 알립니다. 결과는 Teams, 이메일 또는 인시던트 플랫폼에 게시됩니다.

각 사용자 지정 에이전트는 커넥터에서 특정 도구에 액세스할 수 있으며 실행 모드에 따라 자율적으로 또는 승인을 통해 지침을 따릅니다.

이것이 다른 이유

스크립트와 달리 에이전트는 패턴이 변경될 때 적응합니다. 입력이 다를 때 스크립트가 중단됩니다. 에이전트는 발견한 정보를 바탕으로 무엇을 할지 결정합니다.

Runbook과 달리 에이전트는 워크플로를 문서화하는 것뿐만 아니라 실행합니다. Runbook은 인간에게 무엇을 해야 할지 알려줍니다. 에이전트가 이 작업을 수행합니다.

IFTTT 스타일 자동화와 달리 에이전트는 동작하기 전에 조사합니다. 트리거가 발동되더라도 무분별하게 실행되지 않습니다. 대신 상황을 평가하고 적절한 응답을 결정합니다.

이전 및 이후

이전 이후
모니터링 도구에서 상태 확인 에이전트 쿼리를 자동으로 실행
데이터에 따라 수행할 작업 결정 에이전트가 상황을 분석하고 작업을 제안함
다른 시스템에서 수정 실행 연결된 도구를 통해 에이전트 실행
Slack/Teams에서 팀에게 알림 에이전트가 상황별 알림을 보냅니다.
발생한 내용 기록 에이전트는 스레드에서 작업을 기록합니다.

워크플로 빌드

워크플로는 다음 세 가지 구성 요소를 결합합니다.

구성 요소 용도 구성할 위치
커넥터 외부 시스템(Outlook, Teams, GitHub, PagerDuty)의 도구 제공 작성기 > 커넥터
사용자 지정 에이전트 특정 도구 액세스 및 자율성 설정을 사용하는 특수 작업자 빌더 > 에이전트 캔버스
트리거 일정에 따라 또는 인시던트에 대응하여 워크플로 시작 예약된 작업/인시던트 대응 계획

단계별 설정은 시작 가이드에서 5단계: 워크플로 자동화 를 참조하세요.

예: 전자 메일이 포함된 일일 상태 보고서

이 워크플로는 Azure 리소스 상태를 확인하고 요약을 이메일로 보냅니다.

  1. 커넥터: 전자 메일 보내기 추가(Office 365 Outlook)
  2. 사용자 지정 에이전트: 도구를 사용하여 health-reporter 만들기 SendOutlookEmail
  3. 예약된 작업: 프롬프트를 사용하여 사용자 지정 에이전트에 연결:
Check the health of Azure resources in prod-rg:
1. Query Azure Resource Health for any degraded resources
2. Check Application Insights for error rate trends
3. Summarize findings
4. Email the report using SendOutlookEmail

에이전트는 매일 이 작업을 실행하고, 조사하고, 수동 단계 없이 이메일을 보냅니다.

사용자 지정 에이전트 위임

워크플로에 다른 단계의 다른 전문 지식이 필요한 경우 여러 사용자 지정 에이전트를 사용합니다.

Step 사용자 지정 에이전트 이유
데이터베이스 진단 @DatabaseExpert 특수화된 KQL 쿼리
알림 보내기 @Notifier 전자 메일 및 Teams 도구
인시던트 만들기 @IncidentCreator PagerDuty/ServiceNow 통합

오케스트레이터는 필요에 따라 작업을 사용자 지정 에이전트에 위임합니다. 사용자 지정 에이전트를 참조하세요.

모범 사례

연습 중요한 이유
먼저 플레이그라운드에서 테스트 트리거에 연결하기 전에 사용자 지정 에이전트의 동작 확인
검토 모드에서 시작 전체 자동화 전에 에이전트의 판단 확인
"지금 작업 실행"으로 테스트 프로덕션 전에 예약된 워크플로 유효성 검사
사용자 지정 에이전트당 하나의 도구 감사, 디버그 및 업데이트하기 쉽습니다.
설명이 포함된 이름 사용 email-health-report vs custom-agent-1

예약된 작업을 연결하기 전에 사용자 지정 에이전트를 테스트합니다.

  1. Builder에이전트 캔버스로 이동
  2. 테스트 플레이그라운드 보기 선택
  3. 드롭다운에서 사용자 지정 에이전트를 선택하고 적용을 선택합니다.
  4. 테스트 패널에 계획된 지침을 입력하고 에이전트가 올바르게 실행되는지 확인합니다.

동작에 대한 확신이 있으면 트리거를 연결합니다.

시작하기

Resource 학습할 내용
5단계: 워크플로 자동화 이메일 알림을 사용하여 자동화된 상태 검사 빌드
예약된 작업 만들기 예약된 자동화에 대한 단계별 자습서
역량 추가되는 내용
예약된 작업 사전 모니터링 및 되풀이 작업 패턴
완화 조치 실행 워크플로에서 수행할 수 있는 작업
알림 보내기 알림 패턴 및 채널
인시던트 대응 응답 계획의 트리거
사용자 지정 에이전트 자세한 사용자 지정 에이전트 구성
커넥터 사용 가능한 도구 통합