개요
OneSignal + Elasticsearch 통합은 Elasticsearch 클러스터에서 OneSignal로 사용자 지정 이벤트를 자동으로 동기화할 수 있게 합니다. 이를 통해 검색 및 분석 엔진에 저장된 사용자 행동 데이터를 기반으로 자동화된 Journeys 및 개인화된 메시징 캠페인을 트리거할 수 있습니다.요구 사항
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
Elasticsearch
- Elasticsearch 클러스터(버전 7.0 이상 권장)
- 인증 자격 증명(API 키, 사용자 이름/비밀번호 또는 인증서)
- 적절한 문서 구조를 가진 행동 데이터를 포함하는 이벤트 인덱스
- OneSignal에서 Elasticsearch 클러스터로의 네트워크 액세스
설정
1
Elasticsearch 액세스 구성
OneSignal이 Elasticsearch 클러스터에 연결할 수 있는지 확인하세요:Elasticsearch Cloud의 경우:
- Elasticsearch Cloud 콘솔에서 Security로 이동
- 이벤트 인덱스에 대한 읽기 권한이 있는 API 키 생성
- Cloud ID 및 API Key 기록
- 인증 구성(기본 인증 또는 API 키)
- OneSignal의 IP 주소에서 클러스터에 액세스할 수 있는지 확인
- 클러스터 endpoint URL 및 credentials 기록
2
전용 사용자 만들기(권장)
이벤트 인덱스에 대한 읽기 전용 액세스 권한이 있는 OneSignal 전용 사용자를 만드세요:
3
OneSignal에서 통합 추가
OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.Elasticsearch를 선택하고 다음을 제공하세요:
- Cluster URL: Elasticsearch 엔드포인트(예:
https://your-cluster.es.amazonaws.com) - Authentication Method: API Key, Basic Auth 또는 Certificate
- Username/Password 또는 API Key: 인증 자격 증명
- Cloud ID(Elasticsearch Cloud를 사용하는 경우): 배포 Cloud ID
4
이벤트 데이터 소스 구성
이벤트 데이터를 포함하는 Elasticsearch 인덱스를 지정하세요:
- Index Pattern: 이벤트를 포함하는 인덱스 또는 인덱스 패턴(예:
events-*) - Event Query: 이벤트 문서를 필터링하기 위한 선택적 Elasticsearch Query DSL
- Time Field: 시간 기반 필터링을 위한 타임스탬프 필드(예:
@timestamp)
- 이벤트 이름/유형(String)
- 사용자 식별자(String)
- 이벤트 타임스탬프(Date)
- 추가 이벤트 속성(Object)
5
연결 테스트
Test Connection을 클릭하여 OneSignal이 Elasticsearch 클러스터에 액세스하고 이벤트 데이터를 읽을 수 있는지 확인하세요.
이벤트 데이터 매핑
를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:Sync Key는 동기화 중 각 행의 고유 식별자로 지정하는 열입니다. OneSignal은 이를 사용하여 행이 이미 처리되었는지 감지하므로, 데이터를 다시 동기화해도 중복 이벤트가 생성되지 않습니다. 행마다 고유한 텍스트 값을 가진 열을 선택하세요. 불리언 값이나 여러 행에서 반복되는 값은 사용하지 마세요.
고급 구성
Query DSL 필터링
Elasticsearch Query DSL을 사용하여 OneSignal에 동기화하기 전에 이벤트 데이터를 필터링하고 변환하세요:인덱스 패턴 구성
여러 인덱스를 효율적으로 쿼리하세요:- 시간 기반 인덱스: 시간 분할 데이터에
events-2024-*와 같은 패턴 사용 - 라우팅: 사용자 기반 쿼리에 대한 일관된 라우팅 보장
- 별칭: 간소화된 관리를 위해 인덱스 별칭 사용
성능 최적화
대량 이벤트 볼륨에 대한 쿼리를 최적화하세요:- 필드 필터링:
_source필터링을 사용하여 필요한 필드만 검색 - Scroll API: 대량 결과 세트의 경우 OneSignal은 스크롤 페이지네이션 사용
- 날짜 수학: 효율적인 시간 기반 필터링을 위해 Elasticsearch 날짜 수학 사용
FAQ
OneSignal은 Elasticsearch에서 이벤트를 얼마나 자주 동기화하나요?
OneSignal은 구성된 일정에 따라 이벤트 데이터를 동기화하며 최소 간격은 15분입니다.여러 Elasticsearch 인덱스에서 이벤트를 동기화할 수 있나요?
예, 인덱스 패턴(예:events-*)을 사용하여 여러 인덱스를 쿼리하거나 다른 인덱스 그룹에 대해 여러 통합을 만들 수 있습니다.