프로메테우스(Prometheus)는 CNCF가 호스트하는 오픈 소스 소프트웨어 모니터링 도구다.
프로메테우스 구성요소
- prometheus-alertmanager : 규칙에 위반하는 사항에 대해서 알람을 전송(메일, 슬랙 등).
- prometheus-kube-state-metrics : 메트릭 수집을 위한 /metrics 엔드포인트를 제공
- prometheus-pushgateway : application이 push gateway에 메트릭을 push 한 후, prometheus server가 pushgateway에 접근해 metric을 pull하는 방식. 프록싱으로 접근할 수 없는 곳에 데이터가 존재하는 경우 사용.
- prometheus-server : 저장소.
- prometheus-node-exporter : prometheus에게 메트릭 정보를 제공.
프로메테우스 서버가 수집하는 메트릭은 데이터 소스에서 수집하는 풀방식 아키텍처를 채용하고 있으므로 프로메테우스 서버가 데이터를 수집하러 가는 형태가 된다.
Helm을 이용한 설치
- 옵션 확인
helm inspect values stable/prometheus
- 설치
helm install prometheus stable/prometheus
--set alertmanager.persistentVolume.storageClass="xx"
--set server.persistentVolume.storageClass="xx"
--set pushgateway.persistentVolume.storageClass="xx"
--set nodeExporter.tolerations[0].key=xxx \
--set nodeExporter.tolerations[0].operator=Exists \
--set nodeExporter.tolerations[0].effect=NoSchedule
- 업데이트
helm upgrade prometheus -f values.yaml stable/prometheus
- 삭제
helm uninstall prometheus
- Grafana 설치
helm install grafana stable/grafana \
--set datasources."datasources\.yaml".apiVersion=1 \
--set datasources."datasources\.yaml".datasources[0].name=Prometheus \
--set datasources."datasources\.yaml".datasources[0].type=prometheus \
--set datasources."datasources\.yaml".datasources[0].url=http://prometheus-server.default.svc.cluster.local \
--set datasources."datasources\.yaml".datasources[0].access=proxy \
--set datasources."datasources\.yaml".datasources[0].isDefault=true \
--set adminPassword='password' \
--set plugins=grafana-kubernetes-app
출처
- [Helm prometheus]
https://gruuuuu.github.io/cloud/l-helm-basic/
- [Grafana]
https://grafana.com/grafana/dashboards/315
- [prometheus arch]
https://medium.com/finda-tech/kube-state-metrics%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-1303b10fb8f8
https://prometheus.io/docs/introduction/overview/
- [container restart] : https://stackoverflow.com/questions/41452930/how-can-i-alert-for-container-restarted
'클라우드 컴퓨팅 > 쿠버네티스' 카테고리의 다른 글
Kubernetes Security - Authentication/Authorization (0) | 2021.11.10 |
---|---|
Kubernetes TLS/PKI 살펴보기 (0) | 2021.11.08 |
Helm으로 매니페스트 범용화하기 (0) | 2021.10.26 |
Kubernetes 컨테이너 로그 집계 (0) | 2021.10.26 |
Kubernetes Container Images (0) | 2021.10.24 |