How to use Grafana & Prometheus in SeldonDeployment? #96
-
안녕하세요. 개인적인 학습을 진행하다 모니터링 부분에 대해 궁금한점이 있어서 질문드립니다. 현재 mlflow에 저장된 모델을 SeldonDeployment를 통해 배포를 하였고 Request에 대한 Response를 grafana에서 확인하려고 하는 상태입니다. Question 1. 여기서 Model Metrics seldonio/skleanserver라고 적혀있는 부분에 세개의 빈 그래프가 보입니다. 여기서 왜 skleanserver에 대한 Model Metirc이 default로 되어있나요? (seldon-core-analytics github에 값이 설정되어 있을것 같아 확인해 보았는데 찾지 못했습니다.) Question 2. 여기서 URL을 metirc이 발생한 prometheus 주소를 적어야 할 것 같아 우선 아래 명령어로 Prometheus를 port-forward해서 Targets를 확인해보았습니다.
15020 port를 캡쳐한 이유는 모델이 배포된 pod를 살펴보았더니 아래와 같은 결과가 나왔기 때문입니다. input part of result
Targets 이미지에서 Last Scrape을 보았을때 인식은 하는것 같지만 이것을 어떻게 활용하면 좋을지 혹은 접근이 잘못된 것인지 조언을 구하고 싶습니다.. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
안녕하세요 :) 답변이 늦어서 죄송합니다. 우선 첫 번째로 다음과 같이 문의주셨는데요,
해당 metric 과 그 metric 을 시각화하는 query 가 default 로 들어있는 것은 아닙니다. 실제로 seldon-core-analytics github Helm chart 만 설치한 경우에는 다음과 같이 Model Metrics All 이라는 형태로 그래프가 default 로 되어있습니다. 이는 해당 helm chart 내부의 grafana dashboard json 파일과 일치합니다. 이 상태에서 sklearnserver 라는 seldon-deployment 를 배포하고 api request 를 보내면 첨부해주신 스크린샷과 같이 sklearnserver 라는 model metric server 에 대한 metric 이 수집되어 dashboard 가 업데이트되는 것입니다. 예를 들어, 여기서 seldonio/sklearnserver 외에 xgboost server 를 사용하는 seldondeployment 를 추가적으로 배포하게 된다면 다음과 같이 대시보드가 업데이트 됩니다. (대시보드를 전혀 건드리지 않아도 위 쪽의 deployment count 에서도, 아래 쪽의 model metrics 에서도 추가됩니다. ) 두 번째로 문의주신 내용은 grafana 에서 prometheus 로부터 metric 을 받아오기 위한 datasource 를 등록하는 과정에서 url 을 무엇으로 적어야 하는지에 대한 질문으로 이해가 되는데요, 일반적인 ip + port 형태가 아닌 도메인 네임의 형태를 띄고 있는 것은 grafana 와 prometheus 가 현재 모두 kubernetes 에 배포되어있기 때문에, service name 으로 dns lookup 을 수행할 수 있기 때문인데요
현재 설치 방식에 의해 prometheus 와 grafana 는 동일한 namespace 에 배포되어있고, prometheus pod 에 대응되는 svc 의 name 이 seldon-core-analytics-prometheus-seldon (kubectl get svc -n seldon-system 에서 확인 가능합니다.)이기 때문에 해당 svc name 으로 grafana 와 prometheus 간의 통신이 가능한 것입니다. 결론적으로는 @tjems6498 님께서 별도로 또다른 prometheus server 로부터 metrics 을 받아와서 시각화하는 dashboard 를 그리기 위함이 아니라, seldon-deployment metric 을 확인하기 위해서라면 default 로 추가되어있는 datasource 를 그대로 사용하시면 됩니다. |
Beta Was this translation helpful? Give feedback.
안녕하세요 :) 답변이 늦어서 죄송합니다.
우선 첫 번째로 다음과 같이 문의주셨는데요,
해당 metric 과 그 metric 을 시각화하는 query 가 default 로 들어있는 것은 아닙니다.
해당 sklearnserver 에 대한 그래프가 보이는 것은 저희가 seldon-analytics 를 배포하기 전에 sklearnserver seldon-deployment 를 미리 생성해두었고, api request 를 보내어 metric 이 수집된 history 가 있기 때문입니다.
실제로 seldon-core-analytics github Helm chart 만 설치한 경우에는 다음과 같이 Model Metrics All 이라는 형태로 그래프가 default 로 되어있습니다. 이는 해당 helm chart 내부의 grafana dashboard json 파일과 일치합니다.
이 상태에서 sklearnserver 라는 seldon-deployment 를 배포하고 api request 를 보내면 첨부해주신 스크린샷과 같이 sklearnserver 라는 model metric server 에 대한 metric 이 수집되어 …