8장. 룰북 활성화 문제 해결
룰북 활성화는 여러 가지 이유로 인해 종종 실패할 수 있습니다. 기본 검사를 통해 많은 문제를 해결할 수 있지만 분산 시스템에서 오류를 진단하려면 강력한 로깅이 필요합니다.
이벤트 기반 Ansible의 향상된 로깅 전략에는 문제 해결을 크게 개선하기 위해 모든 출력에 고유한 추적 식별자를 추가하는 작업이 포함됩니다.
이 장에 포함된 가능한 문제 목록을 검토하여 활성화 실패 및 해결 방법에 대한 제안 사항을 검토하십시오. 새 식별자를 사용한 자세한 로그 필터링은 이벤트 기반 Ansible 로그 필터링 을 참조하십시오.
8.1. 이벤트 기반 Ansible 로그 필터링 링크 복사링크가 클립보드에 복사되었습니다!
이벤트 기반 Ansible에는 문제 해결을 크게 개선하기 위해 모든 로그 출력에 추적 식별자가 포함되어 있습니다. 이러한 식별자는 여러 서비스 및 로그 파일에서 사용자 작업 및 활성화 프로세스를 추적하는 데 도움이 됩니다.
| identifier | 약어 | 목적 | 위치 |
|---|---|---|---|
| X-REQUEST-ID |
| 전체 Event-Driven Ansible 요청 라이프사이클을 통해 플랫폼 게이트웨이의 HTTP 요청을 추적합니다. 이를 사용하여 UI 작업 또는 API 호출과 백엔드 처리의 상관 관계를 설정할 수 있습니다. | HTTP 응답 헤더 및 이벤트 기반 Ansible 로그 항목에 포함됩니다. |
| 로그 추적 ID |
| 활성화 라이프사이클을 생성부터 완료까지 추적하여 다시 시작 및 여러 로그 파일을 유지할 수 있습니다. | 모든 활성화 관련 로그 항목에 포함됩니다. UI의 활성화 기록 탭에서 가져올 수 있습니다. |
| 활성화 인스턴스 ID |
|
룰북 활성화의 단일 실행 인스턴스와 관련된 로그를 식별하여 해당 실행에 대한 | 활성화 로그에 포함됩니다. |
모든 프로세스가 사용자 또는 외부 클라이언트에서 시작되는 것은 아닙니다. 이벤트 기반 Ansible 오케스트레이터가 내부적으로 프로세스를 트리거하는 경우(예: 모니터 요청) 제거 UUID가 내부적으로 생성되어 플랫폼 게이트웨이 로그에 존재하지 않습니다.
향상된 로그 형식은 메시지 시작 부분에 이러한 식별자를 배치하여 쉽게 필터링할 수 있도록 합니다.
[rid: <UUID>] [tid: <UUID>] [aiid: <ID>] aap_eda.tasks.orchestrator 처리 요청…
8.1.1. 문제 해결을 위해 로그 필터링 사용 링크 복사링크가 클립보드에 복사되었습니다!
고유한 추적 식별자를 활용하여 모든 시스템 로그를 효율적으로 검색하고 필터링하는 방법을 알아봅니다. 이 프로세스는 특정 룰북 활성화 또는 API 요청에 대한 정확한 타임라인과 실패 원인을 정확하게 지정합니다.
프로세스
식별자를 수집합니다.
-
문제가 발생하면 UI 기록 탭에서 실패한 활성화 인스턴스의 로그에서 로그 추적 ID (
tid)를 검색합니다. -
활성화를 다시 시작하는 것과 같이 사용자 작업에 의해 문제가 트리거된 경우 HTTP 응답 헤더에서 X-REQUEST-ID (
제거)를 가져옵니다.
-
문제가 발생하면 UI 기록 탭에서 실패한 활성화 인스턴스의 로그에서 로그 추적 ID (
시스템 로그 검색:
- 수집된 UUID를 사용하여 백엔드 로그(작업자, 스케줄러, API 등)를 검색합니다. 이렇게 하면 관련 없는 노이즈를 필터링하여 모든 서비스에서 특정 요청 또는 활성화의 전체 타임라인에 집중할 수 있습니다.
타임라인 상관 관계:
-
공통 타일을 사용하여 서로 다른 로그 파일 및 서비스에서 활성화 진행(또는 실패)을 따릅니다.
-
공통 타일을 사용하여 서로 다른 로그 파일 및 서비스에서 활성화 진행(또는 실패)을 따릅니다.
지원 툴 사용:
-
필요한 경우
sosreport또는mustgather툴을 사용하여/var/log/ansible-automation-platform/eda/에서 관련 이벤트 기반 Ansible 로그를 모두 자동으로 수집합니다.
-
필요한 경우