묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 부트 - 핵심 원리와 활용
스프링 부트 현재 버전 말고 다른 버전 확인하는 법
[질문 내용]스프링 부트 docs에서 현재 스프링 부트 버전에 대한 스프링이 관리하는 외부 라이브러리들의 버전을 확인할 수 있었습니다.그런데 스프링 부트나 스프링 프레임워크에서 현재 버전이 아닌 이전 버전에서 스프링이 관리하는 외부 라이브러리들의 버전을 확인하고 싶을 땐 어떻게 해야 하나요?
-
미해결스프링 부트 - 핵심 원리와 활용
서블릿 컨테이너, 스프링 컨테이너 질문
[질문 내용]안녕하세요. 서블릿 컨테이너와 스프링 컨테이너가 헷갈립니다.서블릿 컨테이너 위에서 스프링 컨테이너가 생성되고, 그 사이에 디스패처 서블릿이 스프링 MVC의 컨트롤러들을 매핑해주는 것이 맞나요? 스프링 컨테이너를 사용하지 않았을 땐, 서블릿을 개별적으로 등록하는 것만으로도 웹으로서 작동할 수 있는 것이 맞나요? 서블릿 초기화와 애플리케이션 초기화의 영역을 잘 모르겠습니다. 서블릿이 작동할 때 서블릿 초기화를 진행하게 되고, 그 이후에 애플리케이션 초기화가 진행되는 것으로 알고 있습니다. 그런데 이 두 영역을 왜 나눴는지 모르겠습니다. 예전에 공부할 때 서블릿 설정은 애플리케이션 전체 영역 범위 설정을 하는 것이고, 애플리케이션은 개별적인 영역을 설정하는 것으로 기억하고 있는데 제가 알고 있는 개념이 맞을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
Tomcat EE
[TOMCAT EE는 뭔가요?]질문 내용 그대로 입니다!
-
미해결스프링 부트 - 핵심 원리와 활용
편리한 부트 클래스 만들기 챕터에 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MySpringBootMain 클래스의 main 메서드에서 MySpringApplication.run()을 호출하면서 인자로 MySpringBootMain을 넘깁니다. 이 자리는 configClass인데, MySpringBootMain에는 @MySpringBootApplication 어노테이션만 붙어있고, Bean이나 기타 설정에 대한 내용은 전혀 없습니다. 또한 @Configuration 어노테이션도 없습니다. 그렇다면 @MySpringBootApplication을 통해서 Configuration 클래스의 역할을 하는 것 같은데 이 부분이 잘 이해가 되지 않습니다. 아마도 @ComponentScan 어노테이션이 MySpringBootMain가 configClass의 역할을 하도록 해주는 것 같은데 어떤 원리인지 잘 모르겠습니다. EmbedTomcatSpringMain를 사용할 때는 HelloConfig.class를 넘기는데, 이때는 @Configuration이 붙어있으니까 이해가 됩니다. @ComponentScan이 붙어있으면 해당 클래스의 패키지의 모든 컴포넌트를 읽는다고 하는데, 여기에 뭔가 생략된 설명이 있는 것 같은데 잘 모르겠습니다. 질문이 중언부언해서 죄송합니다!
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
Apple Silicon에서 버츄얼 박스 세팅
brew install --cask ./virtualbox-v7.0.18/virtualbox.rb위 명령 실행했을 때 아래와 같은 에러가 발생하는데요! 제 맥북으로는 버츄얼 박스 사용 불가능한 걸까요?
-
미해결스프링 부트 - 핵심 원리와 활용
스프링 레거시에서 프로메테우스를 통한 메트릭 수집
강사님 안녕하세요. 만약 스프링부트가 아닌 스프링 레거시 프로젝트와 같은경우cpu 사용량확인 및 메모리 확인 엔드포인트, 메트릭api 를 직접 구현해서 프로메테우스에서 수집하도록 해야할까요? 스프링 레거시프로젝트에서는 Actuator 라이브러리를 못쓰는걸로 알거든요
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
prometheus 설치 방법 문의드립니다.
구글링해서 보면 prometheus를 설치하는 방법이 여러개 있는 것 같은데요, manifest 파일로? https://github.com/prometheus-operator/kube-prometheus/tree/main helm의 prometheus-community로?https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack bitnami의 kube-prometheus 차트로?강의에서 알려주신 edu/promethesu? 각각 설치되는 내용이 다른것인지?? 장단점이나 주의해야하는 부분이 있을지도 궁금합니다!
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
habor metric 노출 관련 질문
위 링크에 접속할 때 metric을 확인할 수 있었지만, 도대체 어떤 요소가 habor에 대한 metric을 노출 시켜주는지 이해가 가질 않습니다. 또한 꼭 harbor가 아니더라도 웹을 배포하고 url 뒤에 /metrics를 붙이면 메트릭을 확인할 수 있는것인가요?
-
미해결스프링 부트 - 핵심 원리와 활용
5장 자동구성) 자동 구성이 내부에서 컴포넌트 스캔을 사용하면 안되는 이유
자동 구성이 내부에서 컴포넌트 스캔을 사용하면 안되는 이유가 무엇인가요? 컴포넌트 스캔을 사용하면 패키지 구조에 의존적이게 돼서 그런걸까요?
-
미해결스프링 부트 - 핵심 원리와 활용
explodedWar 문의
server 프로젝트 위치에서 gradlew explodedWar 을 실행해 압축이 풀어진 WAR 파일 경로를 톰캣 Deployment directory 경로에 기재해두었습니다. 이후 강의를 보니 강사님께서는 프로젝트를 수정하고 나서 톰캣을 재실행하니 소스가 수정된 내역이 서버에 바로 반영이 되더라구요. 근데 저는 server 프로젝트 경로로 가서 build 폴더의 exploded 파일을 삭제하고 다시 gradlew explodedWar 명령어를 실행해야 수정된 소스가 톰캣에서 실행되던데 뭐가 잘못된걸까요..?
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
external-ip가 pending 상태
k get pod,service 명령어를 실행시 프로메테우스 웹에 접속하기 위한 external-ip가 계속 pending으로 설정 되어있습니다. MetaLB를 따로 설치해야할까요? root@cp-k8s:~/_Lecture_prom_learning.kit/ch2# kubectl get pods -n metallb-system NAME READY STATUS RESTARTS AGEcontroller-57cf8fbb89-w8l9c 1/1 Running 1 (90m ago) 137mspeaker-bhzf2 1/1 Running 0 137mspeaker-hkg7l 1/1 Running 0 83mspeaker-r4x8g 1/1 Running 0 91mspeaker-wwmsr 1/1 Running 0 88m root@cp-k8s:~/_Lecture_prom_learning.kit/ch2# kubectl get ipaddresspool -A No resources found
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
kubectl 명령어 실행시
root@cp-k8s:~# kubectl get nodes E0915 18:03:59.239484 2428 memcache.go:265] couldn't get current server API group list: Get "https://192.168.1.10:6443/api?timeout=32s": dial tcp 192.168.1.10:6443: i/o timeout 이미지와 같은 명령어 수행시 아래와 같은 에러가 발생합니다. 어떻게 해결하면 좋을까요?
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
ssh 연결 타임아웃
OVA로 버추얼박스에 VM들을 올리고 Tabby를 실행하여 접속을 하려해도 ssh timeout 에러가 발생해서 계속 접속이 안되는 상태입니다. 어떻게 해결할 수 있을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
rate vs irate
rate는 초당 평균 증가율 (평균 변화율)irate 는 초당 순간 증가율을 나타낸다고 하네요 (미분계수)12시 ~ 12시 5분 사이에 얼마나 많은 변화가 있었는지 보고싶으면 rate딱 정확히 12시 3분이 된 시점에서 변화율을 보고싶으면 irate를 사용하면 되겠습니다.
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
[4.5] - 익스포터의 종류 내용
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기][4.5] - 익스포터의 종류의 데이터베이스 항목에서 MongoDB,MySQL,PostgreSQL,Redis가 있는데, k8s의 Pod형태가 아닌 Dedi 서버로 구축된 경우도 익스포터를 통해 모니터링이 가능할까요?
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
Prometheus 및 컨테이너 상태 메트릭 수집
Prometheus 설명 부분에서요,컨테이너 상태에 대한 Metrics 수집 부분에 대해서 질문있습니다.실무에서 컨테이너 환경에서 애플리케이션을 개발한적은 없고, Prometheus, Grafana, Loki, Promtail 정도만 컨테이너 기반에서 로그 수집하는 정도로만 활용해봤는데요,스프링 부트 환경에 액츄에이터, 마이크로미터 라이브러리 구성해서 N개의 서버(운영, 개발, 스테이징 서버 등)에서 프로파일에 따른 로그를 수집하고, Promtail도 각 서버에 설치하고, 별도의 모니터링 서버에 컨테이너 기반으로 Prometheus, Grafana, Loki 셋팅해서 사용하고 있습니다.(이렇게 구성한 아키텍쳐?가 베스트 프랙티스인지는 잘모르겠네요)그런데 해당 강의를 듣고 생각한게 컨테이너 기반의 애플리케이션을 올릴 경우 추가적으로 컨테이너 상태에 대한 메트릭 수집이 있을 것 같은데요, 컨테이너 실행/중지 같은 상태 제외하면 어떤 유의미한 데이터를 수집할 수 있는지 감이 안오는데, 어떤것들이 있을까요? CPU나 메모리 같은 리소스 정도가 있을꺼 같고..추가적으로 컨테이너 환경의 애플리케이션을 구성한다면 MSA 환경이 아니더라도 로그 정보를 별도의 로그 서버에서 관리하는게 일반적인가요? 이 강의를 듣기전에는 애플리케이션 서버가 당연히 로그도 수집하는거로 생각해서 Promtail도 각 로그파일이 있는 서버에 다 설치했거든요. 이전 섹션에서 로그를 별도 컨테이너에서 관리하는거 보고 궁금증이 생겼습니다.
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
launchctl-load-vmware-utility 에러
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예]3. 질문 잘하기 법을 읽어보셨나요? [예](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기] 안녕하세요. M1 환경에서 Vmware-fusion 설치를 따라가고 있습니다.launchctl-load-vmware-utility 명령어를 실행하려고 하면 Load failed: 5: Input/output errorTry running launchctl bootstrap as root for richer errors.에러가 발생합니다. 어떻게 해야하나요?
-
미해결실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
operator alertmanager 연결 관련 문의
안녕하세요. 배운 내용을 가지고 회사에서 prometheus를 잘 활용하고 있습니다. 다만 막힌 부분이 있어 문의를 드립니다.Prometheus operator로 prometheus 와 alertmanager가 잘 연계되어있는지 확인하는 방법을 문의드립니다.코드 첨부가 어렵지만, 간단하게 말씀드리면,prometheus operator를 통해 prometheus A 와 alertmanager X를 띄우고 연결이 잘되어 있는 상황 (alertmanager X ui에서 a의 prometheusrules로 정의한 값의 firing 된 것을 확인 가능함 -> ui)prometheus operator를 통해 prometheus B를 띄우고 이 B도 alertmanager X를 이용하려고 했으나, B의 prometheusurule로 정의한 값이 firing 되어도 alertmanager X UI에 값이 나오지 않음. 이런 상황입니다. 기존 A가 연결된 alertmanager X에, 추가로 Prometheus B를 연결하고 싶습니다.이 부분에 대해서 제가 확인한 것은, prometheus B를 띄우고 edit으로 prometheus 값 수정 (config reload가 설정되어있음)alerting: alertmanagers: - apiVersion: v2 name: ~ // alertmanager 이름 입력 (service 명), 기존 잘 연결된 A와 동일한 값 namespace: ~~ // alertmanager X 의 namespace 입력, 기존 잘 연결된 A와 동일한 값 pathPrefix: / port: http-web2. 현재 같은 클러스터, namespace에 존재PrometheusRule 로 생성한 Rule이 Prometheus B의 UI Rule 메뉴에서 정상적으로 firing 된 것을 확인prometheus B의 pod에 log를 확인. -> 해당 로그에 alert이라는 값이 존재하지 않음기존에 연결되어 있던 prometheus A의 config 설정의 alerting 부분과 설정은 동일함. 위 와 같은 상황이며, alertmanager X UI에 B에서 firing 된 값이 나오지가 않습니다.혹시 제가 놓친 부분이 있는지, 아니면 잘 연결이 되어 있는지 추가적으로 더 검사할 방법이 있을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
exploded 배포시 경로
인텔리제이에서 exploded로 war를 배포하면톰캣의 webapps에 배포가 되는게 아니라 , 프로젝트의 target 이라는 폴더를 톰캣이 바라보는거 같은데톰캣 설정파일 어디에 target이 명시되는걸까요?ㅠㅠ
-
해결됨실습으로 배우는 프로메테우스 - {{ x86-64, arm64 }}
[A.001] prometheus-force-installer.sh 내용중 설치경로 변경요청건
안녕하세요 강사님정말 별건 아니지만....소스에 적힌 설치경로가 2.2 -> 2.11로 변경되어야 할 것 같아서 연락드렸습니다.echo "Start to deploy native prometheus with scraping 15s interval" echo "============================================================" sh ~/_Lecture_prom_learning.kit/ch2/2.11/prometheus-installer-15s.sh보강 수업도 열심히 따라가고 있습니다.두 강사님 모두 늘 감사드립니다.