개요
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의 사용자 지정 이벤트 형식에 매핑합니다:| OneSignal 필드 | 설명 | 필수 | |
|---|---|---|---|
name | event_name | 이벤트 식별자 | Yes |
external_id | user_id | 사용자 식별자 | Yes |
timestamp | event_timestamp | 이벤트가 발생한 시간 | No |
properties | event_data | No |
고급 구성
Query DSL 필터링
Elasticsearch Query DSL을 사용하여 OneSignal에 동기화하기 전에 이벤트 데이터를 필터링하고 변환하세요:인덱스 패턴 구성
여러 인덱스를 효율적으로 쿼리하세요:- 시간 기반 인덱스: 시간 분할 데이터에
events-2024-*와 같은 패턴 사용 - 라우팅: 사용자 기반 쿼리에 대한 일관된 라우팅 보장
- 별칭: 간소화된 관리를 위해 인덱스 별칭 사용
성능 최적화
대량 이벤트 볼륨에 대한 쿼리를 최적화하세요:- 필드 필터링:
_source필터링을 사용하여 필요한 필드만 검색 - Scroll API: 대량 결과 세트의 경우 OneSignal은 스크롤 페이지네이션 사용
- 날짜 수학: 효율적인 시간 기반 필터링을 위해 Elasticsearch 날짜 수학 사용
Elasticsearch 클러스터에 클러스터를 사용하는 다른 애플리케이션에 영향을 주지 않고 OneSignal의 쿼리를 처리할 수 있는 충분한 리소스가 있는지 확인하세요.
FAQ
OneSignal은 Elasticsearch에서 이벤트를 얼마나 자주 동기화하나요?
OneSignal은 구성된 일정에 따라 이벤트 데이터를 동기화하며 최소 간격은 15분입니다.여러 Elasticsearch 인덱스에서 이벤트를 동기화할 수 있나요?
예, 인덱스 패턴(예:events-*)을 사용하여 여러 인덱스를 쿼리하거나 다른 인덱스 그룹에 대해 여러 통합을 만들 수 있습니다.