묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실리콘밸리 엔지니어와 함께하는 Elasticsearch
vs code 환경에서 실행방법
안녕하세요. 강사님! tutorial.ipynb 파일을 vs code에서 강사님처럼 실행버튼으로 실행하려고 하니 에러가 나서 일단은 로컬 가상환경에서 .py 파일을 만들어서 빌드해서 실행하였습니다. 저 같이 vs code가 익숙하지 않은 초보자들을 위해서 실행방법도 알려주시면 감사하겠습니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
정말 사소한 질문이지만 ... 궁금해서 물어봅니다.
안녕하세요... 정말 사소한 질문이지만...controller 를 만들때@GetMapping() 이런식으로 () 빈 괄호를 쓰시던데 혹시 특별한 이유가 있을까요 ???? 뭔가 가독성이 좋다거나...?? 이런 스타일은 첨봐서 신기해서 문의드립니다 !
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
도큐먼트 upsert API 관련 강의 자료 오류 제보 드립니다.
https://www.elastic.co/docs/api/doc/elasticsearch/v8/operation/operation-create 문서 상으로 보면 같은 path에 대해 PUT과 POST가 동일한 기능을 제공하는 것처럼 보여서 질문드립니다!
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
안녕하세요 선생님 '실전에서 바로 써먹는 Kafka 입문' 강의 질문 있습니다.
일단 해당 질문은 강의 내용하고 관련 없는 점 죄송 드립니다.'실전에서 바로 써먹는 Kafka 입문' 해당 강의 구입 전 질문을 하고 싶어서 찾고 있었는데 게시판이 따로 없어서 어쩔수 없이 여기에 글을 등록합니다. 양해 부탁드립니다. 일단 저는 어느 한 스타트업에서 종사 하고 있는 주니어 개발자 입니다. 어쩔수 없이 Kafka 를 당장 사용해야 하는 상황이 발생해서 Kafka 관련 지식도 중요하지만 이보다 더 중요한 것은 상용 서비스에서 실제로 직접 Kafka 를 설치 하고 서버를 운영 해야 하는 일인데요.일단 해당 강의 내용을 보니 AWS EC2 로 실습을 하는 것 같은데요. <질문1>이 강의 내용만 잘 따른다면 기초적인 Kafka 서버 운영에서 크게 무리가 없을까요? (제가 추상적으로 질문을 드렸고 어떤 기능 및 사용자 접속량도 말하지 않는 상황에서 답변드리기 곤란하시겠지만 대략 적으로 말씀드리자면 아직 초반이라 하루에 100명 정도 사용자가 접속 한다고 생각하시면 될 것 같습니다!)<질문2>그리고 제가 한번 찾아보니 "Amazon MSK", "컨플루언트" 같은 SaaS 형태로 제공하는 서비스를 제외 했는지 알고 싶습니다.<질문3>혹시 제가 말씀드린 상황에서 SaaS 형태로 제공하는 서비스는 비추천일까요?다시 한번 강의 내용과 관련없는 질문을 남겨드려서 죄송 합니다.답변 부탁드립니다 감사합니다 :)
-
미해결개발자에게 필요한 로그 관리
trace 로그 보관 질문
강의 내용에서 사용자 요청, 응답에 관한 부분은 trace로그로 보관한다고 들었습니다. 또한 로그 레벨을 나누는 이유가 보기 편하라는 이유를 들었는데요 보통 개발환경에서 로그레벨을 파일별로 나누나요?app-trace.logapp-info.logapp-error.log이런식으로 나누고 trace로그를 7일만 보관할 경우 app-trace.log가 7일이 지나면 삭제한다는 방식으로 파일을 나눠서 보관하는지 궁금합니다. 추가로,다른 질문에 app.log, security.log 이런식으로 파일을 분할하지만 강사님 기준 법적 기준 로그 제외 파일을 하나로 묶는게 좋다고 추천하셨는데요그럼 trace로그도 하나로 묶어서 보관하는지, 묶는경우 삭제가 안되니까 나눠서 보관하는지요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.
안녕하세요.spring boot project 에 테이블을 여러 개 만드는 경우의 설정을 알고 싶습니다.강의에서는 products 테이블과 index 하나이지만실제로 프로젝트를 하게 되면 테이블을 여러 개 만들게 됩니다.가령, 학사관리 시스템의 경우 필요한 테이블이,student, professor, department, subject, course_registration.. 최소한 이정도는 있어야 되는데요...이러한 경우, Spring Boot JPA + Elasticsearch 조합으로 프로젝트를 진행하게 되는데. 테이블이 여러 개 있는 경우입니다.관리자 페이지이도 있어야 되고요.학생과 교수님의 경우에는 학생검색, 교수님 검색, 과목 검색, 학과 검색을 해야 되고, 관리자는 모두 다 검색할 수 있어야 됩니다. (수강신청내역검색 추가) 이런 경우에는 settings.json 파일을 어떻게 설정해야 되는지요?자세한 답변 부탁드립니다.
-
미해결IT인을 위한 ELK 통합로그시스템 구축과 활용
notion 에서 어떻게 파일 다운로드하죠?
수업 중에 보면notion 에서 파일 다운로드받는 부분이 있습니다.notion 에는 어떻게 접속하나요?그런데, 이 강의는 이제 관리 안 하시나요?
-
해결됨개발자에게 필요한 로그 관리
학습내용 블로그 개재 여부
안녕하세요 학습 목적으로 블로그에 강의내용을 정리하고 있는데 혹시 기재해도 될까요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
58 강에서 동의어처리가 안 됩니다
58 강에서 자동완성 기능은 잘 적용되나 동의어처리가 안 됩니다강의에 나온대로 elasticsearch와spring boot 의json파일에서 동의어처리와 자동 완성 처리를설정하고엘지 건조기엘지 휴대폰LG 에어컨엘지 청소기LG 공기 청정기엘지 식기세척기라고 POST 한 후에GET /products7/_search { "query":{ "multi_match":{ "query":"엘지", "type":"bool_prefix", "fields":[ "name.auto_complete", "name.auto_complete._2gram", "name.auto_complete._3gram" ] } }, "size":5 }이렇게 검색하면LG 에어컨LG 공기 청정기는 조회가 안 됩니다GET /products7/_search { "query":{ "multi_match":{ "query":"LG", "type":"bool_prefix", "fields":[ "name.auto_complete", "name.auto_complete._2gram", "name.auto_complete._3gram" ] } }, "size":5 }이렇게 검색하면LG 에어컨LG 공기 청정기만 조회 됩니다그리고, Spring Boot 를 사용하는 강의는 17, 18 강에서 하시고 kibana 에서 실습하다가 60강에서 다시 Spring Boot 에 적용하는 강의가 진행되는데, 18 강에서 없던 ProductService 가 이미 작성되어서 나옵니다.ProductControllerProductRepository도 그러네요...혹시 중간에 있었는데 제가 놓친 건가요?....
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
opensearch nori 플러그인 지원
안녕하세요강의 너무 잘 듣고 있습니다!실무 위주로 쏙쏙 뽑아주셔서 공부하기 편해요~ 글을 남기는 이유는 다름이 아니라현재 opensearch에서 nori 플러그인 지원하고 있어서 입니다~~강의에서는 지원 안 하고 있다고 나와서요~
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
스프링부트에서 엘라스틱 인덱스 설정(동의어 필터 적용 에러)
개발환경 : WSL 기반의 리눅스 + 엘라스틱 서치spring boot : 3.5톰캣 서버를 구동하면 아래와 같은 에러가 발생합니다.request [HEAD http://localhost:9200/products] returned [HTTP/1.1 404 Not Found]2025-06-19T09:34:18.201+09:00 DEBUG 15492 --- [ restartedMain] org.elasticsearch.client.RestClient : request [PUT http://localhost:9200/products] returned [HTTP/1.1 400 Bad Request]인덱스를 생성하는 구문에서 에러가 발생하는데 이유를 살펴보면 아래와 같이 나옵니다.[illegal_argument_exception] failed to build synonyms from ['product_synonyms' analyzer settings product-settings.json 파일에 설정한 product_synonyms 부분에서 에러가 발생하고 있습니다.(혹시 잘못 작성했을까 해서 강사님의 github 파일을 복사했습니다.)---------------------------------------------------------------------------------------------[해결해보기]products_name_analyzer에서 product_synonyms 를 제거한 후 서버를 구동하면 서버는 문제없이 구동됩니다."products_name_analyzer": { "char_filter": [], "tokenizer": "nori_tokenizer", "filter": ["nori_part_of_speech", "nori_readingform", "lowercase"] },엘라스틱서치에 가서 확인해 보면 인덱스는 생성 되었으나 한글이 깨지는 상황입니다."analysis": { "filter": { "product_synonyms": { "type": "synonym", "synonyms": [ "samsung, �궪�꽦", "apple, �븷�뵆", "�끂�듃遺�, �옪�깙, 而댄벂�꽣, computer, laptop, notebook", "�쟾�솕湲�, �쑕���룿, �빖�뱶�룿, �뒪留덊듃�룿, �쑕���쟾�솕, phone, smartphone, mobile phone, cell phone", "�븘�씠�룿, iphone", "留λ턿, 留�, macbook, mac" ] } },[질문1] product_synonyms 필터가 적용된 상태에서 서버를 구동하는 부분 에러[질문2] 한글 깨짐 에러
-
미해결빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
practice1 응답값 관련 질문
선생님의 코드와 100% 똑같이 하고 1_weather.py를 실행했는데 맑음, 구름많음과 같은 <data>들은 안뜹니다.. 그냥 홈페이지에 대한 html 코드만 나와요 홈페이지에 직접들어가보면 다음과 같은 내용이 표시됩니다.. 업데이트가 필요할 듯 합니다. ※ 날씨누리에 접속 시 해당화면이 나타났다면 다음을 확인해주세요.- 『 www.weather.go.kr/w/ 』 로 시작되는 URL로 접속- 기상청 날씨누리는 『 www.weather.go.kr/w/ 』 시작되는 페이지만 운영합니다.(21년 이후)- 그 외 접속 페이지는 현재 서비스 및 관리를 하지 않는 페이지 임을 알려드립니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
docker compose.yml 주석 중에 이해 안되는 부분이 있어요
es 설정을 입력해주는 부분이라고 이해했는데 운영환경에서는 설정하면 안된다는 게 무슨 말인지 잘 이해되지 않습니다.실제 docker 서버에서 경로에 elasticsearch.yml에서 설정하면 적용 안된다는 건가요? 아니면 보안 설정이라 실무에서 주의하라는 말씀이신가요?
-
미해결ElasticSearch Essential
하루 100GB 로그를 30기간 저장하는 클러스터 예시중 질문이 있습니다.
안녕하세요.오픈서치 샤드와 노드 구성 관련해서 질문이 있는데요,강의에서 말씀해주신 예시를 다시 계산해보니 뭔가 안 맞는 것 같아서요.하루 100GB 로그, 30일 보관, 레플리카 1로 설정했을 때전체 저장공간: 6,000GB인덱스별 샤드 최대 크기: 10GB데이터 노드: 10개노드당 가져야 할 디스크 크기 : 600GB이렇게 계산하셨는데, 결국에는 인덱스별 프라이머리 샤드개수가 10개고, replica까지 포함하면 20개니까 실제로는 노드 하나에 샤드 2개(프라이머리+레플리카)씩 들어가고 각 샤드 최대 크기가 10GB라면 노드당 최대 20GB밖에 저장이 안 되는 거 아닌가요?그럼 하루에 600GB를 저장하려면 샤드 1개당 최대크기가 최소 300GB는 되어야 할 것 같은데... 제가 잘못 이해한 건지 확인 부탁드립니다
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elastic Cloud 에서 "Logs and metrics" 기능 관련 질문 있습니다.
Elastic Cloud 에서 "Logs and metrics" 기능 활성화를 통해 나중에 문제 발생시 로그 및 매트릭 확인을 위해서 해당 기능을 활성화 하고자 하는데요.이 기능은 좋은데 문제점이 너무 빠르게 용량을 잡아 먹는다는 것 입니다.저 예산으로 가야 되는 상황이라 어쩔 수 없이 낮은 사양으로 할 수 밖에 없는 상황이지만 그렇다고 "Logs and metrics" 기능을 비활성화 하기에 나중에 문제 발생시 대처가 안 될 것 같아서 고민이 됩니다. 한번 여러 방면으로 대책법을 찾아보니필수 로그 및 메트릭만 수집 (필터링)수집 주기 조정 (Metrics 기준)이렇게 대응 방법을 말해주고 있는데요. 지금부터 ChatGPT 가 답변해준 글을 공유 하도록 하겠습니다. ==================================================💥 주요 성능 부하 원인🔁수집량 과다수집 주기 짧음, 많은 필드 → 데이터 폭주📥Ingest Pipeline 부하Elastic Agent가 사용하는 Ingest Pipeline이 CPU/RAM 자원 소비💾인덱싱 부하많은 로그가 빠르게 들어오며 디스크 I/O 및 CPU 부하 증가🔍자동 매핑 확장필드가 자동으로 확장되어 메모리, 클러스터 상태 불안정🧠ILM 미적용 / 장기 보존오래된 데이터가 계속 쌓이며 성능 하락 및 디스크 압박✅ 해결책: 성능 최적화 전략1. 필수 로그 및 메트릭만 수집 (필터링)수집 대상 최소화:log.level: error, source: app-* 등 필요 데이터만 수집예: Elastic Agent policy에서 수집 대상 제외 설정processors: - drop_event: when: not: equals: log.level: "error"2. 수집 주기 조정 (Metrics 기준)리소스기본 주기추천 조정Metrics (System, Docker 등)10s~15s→ 30s~60s로 늘리기Elastic Agent 정책에서 조정 가능 (Kibana → Fleet → Integration Policy → Advanced options)3. ILM 수명주기 정책 설정오래된 로그/메트릭 자동 삭제 또는 cold/warm tier로 이동예: logs-*, metrics-* 인덱스 7일 후 삭제 📍 Elastic Agent Policy 설정 페이지 찾는 방법🔹 경로:Kibana에 로그인왼쪽 메뉴에서 "Management" → "Fleet" 클릭→ Fleet은 Elastic Agent를 중앙에서 관리하는 UI입니다.상단 탭에서 "Agents" 또는 "Agent policies" 클릭원하는 정책 이름 클릭 (예: Agent policy 1)Integrations 리스트가 보이면, 로그/메트릭 관련 항목 클릭 (예: System, NGINX, Kubernetes 등)Advanced Options 또는 Streams 탭에서 수집 조건/필터 조정 가능🎯 필수 로그/메트릭만 수집하는 핵심 위치Integrations 안의 Stream 설정예: system.syslog → enabled ✅ / ❌메트릭 → 수집 주기(Collect every 10s 등)Advanced YAML (고급 설정)예를 들어, error 레벨만 수집하도록 필터 추가:processors: - drop_event: when: not: equals: log.level: "error" 🧭 화면 예시 흐름Kibana └─ Management └─ Fleet ├─ Agent Policies ← 여기서 정책 선택 │ └─ [Agent policy 1] │ └─ System integration 등 클릭 │ └─ Streams or Advanced options 설정 ==================================================이렇게 필수로그 수집 기능 및 수집 주기 조정 기능으로 조금이나마 성능 부하를 줄이고자 할려고 하는데요. 말 그래도 키바나 접속 해서 Fleet 페이지로 가서 먼저 agent policy 등록를 하고등록한 agent policy 접근 해서 system-1 클릭하면 Edit System integration 페이지 접근 할텐데요. 여기서 Collect metrics from System instances 에서 Change defaults 클릭 하고 여기서 원하는 Period 를 설정 하면 되는게 맞는 것인지 궁금 합니다... 혹시 또 추가적으로 설정 해야 하는 부분이 있을까요?
-
미해결ElasticSearch Essential
노드당 샤드수 제한 질문입니다.
안녕하세요현재 max_shards_per_node가 1400으로 설정되어 있습니다. 그런데 _cat/allocation?v 명령어를 통해 노드당 샤드수를 보면 특정 노드 한개(1번노드)가 1500가까이 할당되어 있는 상황입니다. 현재 롤오버되고 있는 인덱스의 샤드는 정상적으로 1번 노드에 할당되고 있습니다. 이런경우는 어떤경우인지 알 수 있을까요?
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
must_not 쿼리는 term 쿼리만 사용 가능한가요 ?
안녕하세요. 유익한 강의 열심히 수강하고 있습니다. 이번에 must_not 쿼리를 공부하는 과정에서 filter와 같이 term 쿼리를 사용하셨습니다. 주어진 상황이 광고 게시판의 글이 아니고 공지 글이 아니라 유연한 검색이 필요하지 않는 상황이어서 term 쿼리를 쓰신 것 같습니다. 그럼 만약, "검색엔진" 키워드를 제외한 관련된 게시글을 조회하고 싶다고 가정한다면 아래와 같은 쿼리문을 작성할 수 있을까요 ? "query" : { "bool" : { "must_not" : [ "match" : { "title" : "검색엔진" } ] }}
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
nori 관련 질문드립니다.
안녕하세요 강사님 강의 잘 보고 있습니다.다름 아니라 nori 토큰화 과정에서 이해가 안되는 부분이 있어서 질문드립니다.get /_analyze { "text":"", "analyzer":"nori" } 간단한 nori analyzer 테스트 쿼리입니다.해운대 결과{ "tokens": [ { "token": "해운", "start_offset": 0, "end_offset": 2, "type": "word", "position": 0 }, { "token": "대", "start_offset": 2, "end_offset": 3, "type": "word", "position": 1 } ] }해운대로 결과{ "tokens": [ { "token": "해운", "start_offset": 0, "end_offset": 2, "type": "word", "position": 0 }, { "token": "대", "start_offset": 2, "end_offset": 3, "type": "word", "position": 1 } ] }해운대구 결과{ "tokens": [ { "token": "해운대", "start_offset": 0, "end_offset": 3, "type": "word", "position": 0 }, { "token": "구", "start_offset": 3, "end_offset": 4, "type": "word", "position": 1 } ] }해운대, 해운대로 결과에서는 해운대가 해운 + 대 로 토큰화 되었습니다.해운대구 결과에서는 마찬가지로 해운 + 대 + 구 로 토큰화 될 것이라 예상했지만 해운대 + 구 로 토큰화 되었습니다. 어떤 이유로 이렇게 동작하는지 궁금합니다.
-
미해결개발자에게 필요한 로그 관리
로그레벨 외의 Logger 분리 질문
안녕하세요! 강사님강의 잘 듣고있습니다. 몇가지 궁금한게 있어서 질문드려요.로그를 내용에 따라, Logger 분리를 하는 방법 (Access.log, app.log, security.log, error.log 등등) 도 있는 것으로 알고 있는데요. 실무 API 서버경우에도 이렇게 로그레벨 이외에 Logger 분리를 하는 방법을 많이 사용하시는지 궁금합니다.1번과 연관된 질문으로, 복잡한 실무 ELK 환경에서는 어플리케이션 로그의 경우, 한가지 로그에 몰아서 하는 방식을 많이 사용하는지, 각각 로거로 분리하고 elasticsearch index도 분리하는 방식을 많이 사용하는지 궁금합니다.
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
(질문아님)Windows에서 Elasticsearch 하는 법
Docker를 설치한다. = 설치 방법은 구글링에 "Windows Docker 설치"만 검색해도 많은 자료가 있습니다. vim 설치 = 기본적으로 windows는 리눅스 환경이 아니기 때문에 CMD 또는 Powershell에서 강의처럼 vim을 사용하지 못합니다. 아래 링크를 통해서 설치만 해주고 프롬프트에 vim 입력하시면 사용 가능합니다. https://velog.io/@deadkim/windows-vim-windows%EC%97%90%EC%84%9C%EC%9D%98-vim-%EC%82%AC%EC%9A%A9