메인 콘텐츠로 건너뛰기
Elasticsearch 클러스터를 연결하여 CloudThinker 에이전트가 로그를 검색하고, 옵저버빌리티 데이터를 분석하며, 인시던트를 조사할 수 있도록 합니다. Elasticsearch는 특정 인덱스와 클러스터 권한으로 범위가 지정된 API 키로 인증합니다.

사전 요구 사항

  • CloudThinker에서 접근 가능한 Elasticsearch(7.x, 8.x), OpenSearch(1.x, 2.x), AWS OpenSearch Service, 또는 Elastic Cloud 클러스터.
  • API 키를 생성하기 위한 Kibana(Stack Management → Security → API Keys) 또는 Elasticsearch API에 대한 관리자 접근 권한.
  • 클러스터 엔드포인트 URL.

설정

1

Kibana 열기

Kibana 인스턴스로 이동하여 관리자 권한으로 로그인합니다.
2

API 키 메뉴로 이동

Stack Management → Security → API Keys로 이동합니다.
3

API 키 생성

Create API key를 클릭하고 다음을 입력합니다:
  • Name: cloudthinker-readonly
4

권한 설정

읽기 전용 접근을 위한 역할 디스크립터를 추가합니다(전체 JSON은 필요 권한 참고). 최소한 클러스터에 monitor, 필요한 인덱스 패턴에 read + view_index_metadata를 부여합니다.
5

생성 및 복사

Create API key를 클릭하고 인코딩된 키를 즉시 복사합니다 — Elasticsearch는 이 키를 다시 표시하지 않습니다.
6

클러스터 엔드포인트 확인

Elasticsearch 엔드포인트를 복사합니다:
  • 자체 호스팅: https://elasticsearch.your-domain.com:9200
  • Elastic Cloud: 배포 설정에서 확인
  • AWS OpenSearch: AWS 콘솔의 도메인 엔드포인트
7

CloudThinker에 연결 추가

Connections → Elasticsearch로 이동하여 다음을 입력합니다:
  • Cluster URL: Elasticsearch 엔드포인트
  • API Key: 복사한 인코딩 키
  • Index patterns: 접근할 패턴 (예: logs-*)
Connect를 클릭합니다. CloudThinker가 자격 증명을 확인하고 Connected 상태를 표시합니다.
생성 직후 API 키를 복사하세요. Elasticsearch는 이후에 키를 다시 표시하지 않으며, 분실 시 새 키를 생성해야 합니다.

연결 세부 정보

필드설명예시
ES_URLElasticsearch 클러스터 URLhttps://your-cluster.es.region.cloud.es.io:9243
ES_API_KEYBase64로 인코딩된 API 키VnVhQk...
구성할 일반적인 인덱스 패턴:
패턴사용 사례
logs-*애플리케이션 로그
filebeat-*Filebeat로 수집된 로그
metricbeat-*인프라 메트릭
apm-*애플리케이션 성능 데이터
kubernetes-*Kubernetes 클러스터 로그

필요 권한

최소 권한

{
  "cluster": ["monitor"],
  "indices": [
    {
      "names": ["logs-*", "metrics-*"],
      "privileges": ["read"]
    }
  ]
}

권장 권한

{
  "cluster": ["monitor", "read_ilm"],
  "indices": [
    {
      "names": ["*"],
      "privileges": ["read", "view_index_metadata"]
    }
  ]
}
CloudThinker에 필요한 인덱스 패턴에만 read 권한을 부여하세요. CloudThinker API 키에 write 또는 클러스터 관리자 권한을 절대 부여하지 마세요.

에이전트 기능

연결 후 에이전트는 다음을 수행할 수 있습니다:
기능설명
로그 검색애플리케이션 및 인프라 로그 검색
오류 분석오류 패턴 및 이상 징후 탐지
인시던트 조사서비스 전반의 이벤트 상관 분석
메트릭 쿼리저장된 메트릭 데이터 쿼리

연결 확인

@oliver search Elasticsearch for application errors in the last hour

예시 프롬프트

@oliver search logs for authentication failures in the last 24 hours
@alex find error patterns in application logs for the api-gateway service
@kai search for pod crash events in Kubernetes logs

문제 해결

  • 클러스터 URL이 올바르고 CloudThinker에서 접근 가능한지 확인합니다.
  • 방화벽 규칙이 CloudThinker의 이그레스 IP를 허용하는지 확인합니다.
  • AWS OpenSearch의 경우, 퍼블릭 접근을 활성화하거나 VPC 엔드포인트를 구성합니다.
  • Elasticsearch가 실행 중이고 요청을 수락하고 있는지 확인합니다.
  • API 키가 올바르고 만료되지 않았는지 확인합니다.
  • 키에 필요한 인덱스 및 클러스터 권한이 있는지 확인합니다.
  • AWS OpenSearch의 경우, IAM 역할 또는 액세스 정책이 올바르게 구성되어 있는지 확인합니다.
  • Stack Management → Security → API Keys로 이동합니다.
  • 동일한 권한으로 새 키를 생성합니다.
  • CloudThinker 연결 설정에서 키를 업데이트합니다.
  • 인덱스 패턴이 클러스터의 기존 인덱스와 일치하는지 확인합니다.
  • API 키가 해당 인덱스에 read 권한을 갖고 있는지 확인합니다.
  • 인덱스에 요청한 시간 범위의 데이터가 있는지 확인합니다.

보안

  • 최소 권한 — 에이전트가 사용 사례에 필요한 권한만 부여하세요. 읽기 전용으로 시작한 후 필요에 따라 확장하세요.
  • 기본 읽기 전용 — 에이전트가 이 연결을 통해 변경 작업을 수행하게 할 것이 아니라면 읽기 전용 자격증명을 사용하세요.
  • 자격증명 교체 — 정기 일정에 따라 키와 토큰을 교체하세요. 연결을 업데이트하면 CloudThinker가 새 값을 자동으로 반영합니다.
  • 오프보딩 시 취소 — 연결을 삭제하거나 팀원이 퇴사할 때 프로바이더에서 자격증명을 제거하세요.
  • API 키 교체 — 90일마다 API 키를 교체하고, 키 생성 시 만료 날짜를 설정합니다.
  • 제한된 인덱스*에 대한 접근 권한을 부여하는 대신 CloudThinker가 실제로 필요한 인덱스 패턴으로 키를 제한합니다.

관련 항목

Oliver 에이전트

보안 로그 분석
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/grafana.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=c1329049025cd3c3a0909b400baef7be

Grafana 연결

Elasticsearch 데이터 시각화