애플리케이션에 대한 로깅 및 이벤트 공유 활성화하기

이 항목에서는 로깅 및 이벤트 공유를 활성화하여 애플리케이션 문제를 해결하는 방법을 설명합니다. 로깅 및 추적 이벤트를 사용하면 애플리케이션에 오류가 발생할 경우 성능 및 진단 정보를 얻을 수 있습니다. 이러한 정보는 애플리케이션 공급자와 공유됩니다.

컨슈머로서 로깅 및 이벤트 공유를 활성화하는 워크플로

컨슈머는 다음을 수행하여 애플리케이션에 대한 로깅 및 이벤트 공유를 활성화할 수 있습니다.

  1. 로깅 및 이벤트 공유 활성화를 위한 고려 사항을 검토합니다.

  2. 이벤트 테이블을 설정합니다.

  3. 공급자가 지정한 로깅 수준을 봅니다.

  4. 이벤트 테이블에 있는 이벤트를 봅니다.

  5. 애플리케이션에서 로깅 및 이벤트 공유를 활성화합니다.

로깅 및 이벤트 공유 활성화를 위한 고려 사항

애플리케이션에 대한 로깅 및 이벤트 공유를 활성화하기 전에 다음 사항을 고려해야 합니다.

  • 이 기능을 사용하려면 자신의 계정에서 이벤트 테이블을 설정 해야 합니다.

  • 이벤트 공유를 활성화하면 로그 및 추적 이벤트의 마스킹되고 수정된 복사본이 지정된 공급자 계정의 이벤트 테이블에 자동으로 캡처됩니다.

  • Snowflake는 이벤트 공유 활성화 비용을 청구하지 않습니다. 하지만 이벤트 테이블의 로그와 이벤트의 수집 및 저장 비용은 사용자가 부담해야 합니다.

  • 공급자와 이벤트를 공유한 후에는 공유 로그와 추적 이벤트에 대한 액세스를 취소할 수 없습니다.

  • 이벤트 공유를 사용하여 과거 이벤트를 공유할 수는 없습니다.

  • 이벤트 중 일부를 공유하거나 필터를 적용할 수 없습니다.

  • Snowflake는 계정과 동일한 리전 내의 지정된 공급자 계정으로 공유 이벤트를 보냅니다. 이 기능에서는 서로 다른 리전 간에 데이터를 공유하지 않습니다.

  • 공급자가 수준을 설정하므로 애플리케이션에 대한 로깅 또는 추적 수준을 변경할 수 없습니다.

  • 이벤트 테이블에서 로그 및 이벤트를 검토한 후 이벤트 공유를 활성화하는 것이 좋습니다.

  • 애플리케이션 문제를 해결할 필요가 없는 경우 로깅 및 이벤트 공유를 비활성화하는 것이 좋습니다.

이벤트 테이블 설정하기

Native Apps Framework에서는 애플리케이션의 함수 및 저장 프로시저에서 생성된 로그 메시지와 추적 이벤트를 저장하는 이벤트 테이블이 필요합니다.

참고

애플리케이션을 설치하기 전에 이벤트 테이블을 설정하고 활성 테이블로 만들지 않으면 로깅 및 이벤트 데이터가 삭제됩니다.

한 계정에 여러 이벤트 테이블이 있을 수 있지만, 한 번에 그중 하나만 Snowflake 계정의 활성 이벤트 테이블로 설정할 수 있습니다. 활성 이벤트 테이블이 없으면 애플리케이션에서 생성된 로그 메시지와 추적 이벤트가 캡처되지 않습니다. 이는 애플리케이션의 함수와 프로시저가 로깅 및 추적 이벤트 API를 호출하는 경우에도 마찬가지입니다.

다음 예와 같이 CREATE EVENT TABLE 명령을 사용하여 이벤트 테이블을 생성합니다.

CREATE EVENT TABLE event_db.event_schema.my_event_table;
Copy

이벤트 테이블을 생성한 후 ALTER ACCOUNT 명령을 사용하여 이벤트 테이블이 계정의 활성 테이블임을 지정합니다.

ALTER ACCOUNT SET EVENT_TABLE=event_db.event_schema.my_event_table;
Copy

이벤트 테이블에 있는 이벤트 보기

공급자와 컨슈머가 모두 이벤트 테이블을 쿼리하여 저장 중인 이벤트를 볼 수 있습니다. 예를 들어 SELECT 명령을 사용하여 이벤트 테이블에서 로그 및 추적 이벤트를 쿼리합니다.

SELECT * FROM event_db.event_schema.my_event_table;
Copy

애플리케이션의 로깅 및 추적 이벤트 수준 보기

컨슈머 자격으로는 애플리케이션의 로그 수준을 변경할 수 없습니다. 하지만 애플리케이션에 대한 로깅을 활성화하기 전에 로그 수준을 확인하여 공급자와 공유할 정보의 유형을 이해하는 것이 좋습니다.

설치된 애플리케이션의 로깅 수준을 보려면 다음 명령을 실행하십시오.

DESC APPLICATION HelloSnowflake;
Copy

이 명령을 실행하면 log_leveltrace_level 의 값을 포함하여 HelloSnowflake 애플리케이션에 대한 정보가 표시됩니다.

애플리케이션에 대한 로깅 및 이벤트 공유 활성화하기

로그 및 이벤트 정보를 공급자와 공유하려면 애플리케이션에 대해 이벤트 공유를 활성화해야 합니다.

애플리케이션 인스턴스에 대한 이벤트 공유를 활성화하려면 다음 전제 조건을 충족해야 합니다.

애플리케이션에 대한 이벤트 공유를 활성화하려면 ALTER APPLICATION 명령을 실행하여 SHARE_EVENTS_WITH_PROVIDER를 TRUE 로 설정하십시오. 예:

ALTER APPLICATION HelloSnowflake SET SHARE_EVENTS_WITH_PROVIDER = TRUE;
Copy

애플리케이션의 이벤트 공유 상태를 표시하려면 다음 예와 같이 DESC APPLICATION 명령을 사용하십시오.

DESC APPLICATION HelloSnowflake;
Copy

SHARE_EVENTS_WITH_PROVIDER 는 애플리케이션의 이벤트 공유 상태를 보여줍니다.