Prometheus - kubelet의 통해 container - target system에서 메트릭을 수집하는 "폴링"방식 모든 메트릭에 대한 데이터를 중앙 서버로 보내지 않아도 된다는 점에서 과부하를 방지할 수 있다. - 프로메테우스가 "주기적으로" exporter에서 메트릭을 읽어와서 수집(메모리와 로컬디스크에 저장됨) -> exporter는 저장기능 없음 - 장기간 데이터 유지 -> 시계열 데이터 저장소로 구성되어 있어 많은 양의 정보를 빠르게 검색 가능 모든 쿠버네티스 오브젝트의 메트릭을 가지고 있는 kube state metric kubelet에 포함된 cAdvisor를 통해 컨테이너의 메트릭 정보를 볼 수 있음 k8s metric server & k8s client library /metri..
kubesphere를 만약 완전히 삭제하지 않으면 설치시 골치아픈 오류가 발생한다. 완벽히 제거하는 방법은 kubectl delete -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/kubesphere-installer.yaml kubectl delete -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/cluster-configuration.yaml 설치한대로 삭제해준다음 https://github.com/kubesphere/ks-installer/blob/master/scripts/kubesphere-delete.sh GitHub - kubesph..
비슷한 에러로 MountVolume.SetUp failed for volume "tls-assets" : secret "alertmanager-kube-prometheus-stack-alertmanager-tls-assets" not found 가 있다 계속 pod가 다음과 같은 이유로 terminating 될 것이다. 해결방법 prometheusOperator: tls: enabled: false admissionWebhooks: enabled: false 이렇게 values.yaml파일을 변경하면 helm-charts/charts/kube-prometheus-stack/templates/prometheus-operator/deployment.yaml 의 값이 변경되고 에러가 사라진다 위의 해결방법으로..
helm 으로 kube-prometheus-stack 설치시 unknown field "shards" in com.coreos.monitoring.v1.Prometheus.spec 같은 에러 발생 해결방법 helm install kube-prometheus-stack . -n monitoring --set prometheus.prometheusSpec.shards=null values.yaml의 prometheus.prometheusSpec.shards을 null로 변경하면서 설치
서버에 Nginx 돌리기 #설치 생략 #systemctl start nginx Nginx Config 파일 생성후 nginx 재시작 # /etc/nginx/conf.d/nginx.conf server { listen ; server_name status.localhost; keepalive_timeout 0; access_log off; allow all; location /metrics { stub_status on; } } Nginx Prometheus Exporter 설정 Deployment apiVersion: apps/v1 kind: Deployment metadata: name: nginx-prometheus-exporter labels: app: nginx-prometheus-exporter..
kube_pod_info{pod=~".*"}
준비 - monitoring 네임스페이스 - helm 설치 Git Clone $ git clone https://github.com/prometheus-community/helm-charts $ cd helm-charts/charts/kube-prometheus-stack Helm dependency upgrade $ helm dependencies update values.yaml 수정 그라파나와 프로메테우스의 service 타입을 clusterIp에서 nodePort로 변경 # values.yaml grafana: service: enabled: true type: NodePort port: 80 targetPort: 3000 nodePort: 31030 portName: service service..
helm 파일을 수정하기 위해서 일단 pull git clone https://github.com/grafana/helm-charts loki ClusterIP를 NodePort로 바꾼다 root@master-node-ubuntu:/loki/helm-charts/charts/loki# vim values.yaml service: type: NodePort nodePort: port: 3100 annotations: {} labels: {} targetPort: http-metrics loki-stack에 수정된 chart를 dependency로 바꾸고 dependency update - name: "loki" condition: loki.enabled repository: "file://../loki" ..