OpenSearch MCP와 Claude를 활용한 AI 로그 분석
카카오클라우드 Advanced Managed Search와 Claude Desktop을 활용하여 자연어 기반 로그 분석 환경을 구축하는 방법을 설명합니다.
Claude는 MCP(Model Context Protocol)를 통해 OpenSearch에 직접 연결하여 로그, 메트릭, 이벤트 데이터를 조회하고 분석할 수 있습니다. 이를 통해 운영자는 복잡한 DSL 쿼리 없이도 질문하듯이 로그를 분석할 수 있습니다.
- 예상 소요 시간: 30분
- 권장 운영 체제: MacOS, Ubuntu
- 사전 준비 사항
- Advanced Managed Search 클러스터 생성
- OpenSearch 마스터 사용자 계정 정보
시나리오 소개
운영 환경에서는 장애 원인 분석이나 로그 탐색을 위해 복잡한 쿼리(DQL, DSL)를 직접 작성해야 하는 경우가 많습니다.
이 튜토리얼에서는 Claude + MCP + OpenSearch를 결합하여 운영자가 복잡한 쿼리 없이 자연어로 로그를 분석할 수 있는 환경을 구축합니다.
작동 원리
Claude Desktop은 MCP(Model Context Protocol) 를 통해 로컬 환경에 설치된 OpenSearch MCP 서버를 실행합니다. 사용자가 질문을 하면 MCP 서버가 OpenSearch API를 호출하여 필요한 데이터를 조회하고, 그 결과를 Claude 모델로 전달하여 최종적으로 운영자에게 분석된 답변을 제공합니다.
주요 활용 시나리오
- 자연어 로그 검색: "어제 오후 2시부터 4시 사이의 인증 관련 로그 보여줘"와 같은 직관적인 질의
- 장애 원인 분석: 에러 발생 원인 요약 및 반복되는 장애 패턴 분석
- 실시간 트렌드 파악: 최근 로그 데이터를 바탕으로 한 서비스 상태 질의응답
- 생산성 향상: 운영자가 DSL 쿼리를 직접 작성하지 않아도 되는 AI 기반 분석 환경 제공
학습 내용
- Claude Desktop에 OpenSearch MCP 서버 연동 및 설정
- MCP 도구를 활용한 OpenSearch 인덱스 데이터 조회
- 자연어 기반 로그 분석 및 인사이트 도출
시작하기 전에
이 튜토리얼을 진행하기 앞서, 먼저 클러스터 생성 및 관리를 참고하여 Advanced Managed Search 클러스터를 생성해 주세요. 클러스터 생성 시 입력한 마스터 사용자 계정(ID/PW) 정보도 아래에서 사용됩니다.
Advanced Managed Search 클러스터 엔드포인트는 퍼블릭 엔드포인트 기준으로 동작합니다. nginx 설치 및 설정 방법을 참고하여 nginx 프록시 엔드포인트를 확인하세요.
시작하기
Step 1. Claude Desktop 설치
아래 링크에서 운영체제에 맞는 Claude Desktop을 설치합니다. 설치가 완료되면 Claude Desktop을 실행해 주세요.
Step 2. OpenSearch MCP Server 설치
Claude와 OpenSearch를 연결하기 위한 MCP 서버를 설치합니다.
OpenSearch MCP Server는 Python 기반으로 제공됩니다.
pip install uv
설치 후 uvx 경로를 확인합니다.
which uvx
이 경로는 이후 Claude 설정에서 사용됩니다.
Step 3. Claude Desktop에 MCP 서버 설정
-
Claude Desktop에서 설정 화면으로 이동:
Claude 메뉴 > 설정 > 개발자 > 구성 편집 -
claude_desktop_config.json수정 아래 예시와 같이 MCP 서버 설정을 추가합니다.{
"mcpServers": {
"opensearch-mcp-server": {
"command": "${WHICH_UVX_PATH}",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "https://${AMS_ENDPOINT}",
"OPENSEARCH_USERNAME": "${MASTER_USERNAME}",
"OPENSEARCH_PASSWORD": "${MASTER_PASSWORD}"
}
}
}
}환경변수 설명 WHICH_UVX_PATH🖌︎ uvx 설치 경로 AMS_ENDPOINT🖌︎ Advanced Managed Search 클러스터의 퍼블릭 엔드포인트 MASTER_USERNAME🖌︎ 마스터 사용자 ID MASTER_PASSWORD🖌︎ 마스터 사용자 비밀번호
Step 4. Claude 재실행 및 연결 확인
Claude Desktop을 완전히 종료한 뒤 다시 실행합니다. 이후 Claude에게 다음과 같이 질문해 보세요.
최근 10분간 에러 로그를 요약해줘
OpenSearch MCP 서버를 통해 로그가 조회되고, Claude가 이를 분석하여 응답하면 정상적으로 연동된 것입니다.
활용 예시
다음과 같은 질문을 통해 로그 분석을 수행할 수 있습니다.
- 최근 1시간 동안 가장 많이 발생한 에러는 무엇인가요?
- 특정 서비스에서 500 에러가 발생한 원인을 요약해 주세요.
- 오늘 발생한 에러 로그의 공통 패턴을 알려줘.
- 특정 키워드가 포함된 로그를 기반으로 장애 원인을 분석해줘.