grafana 10

Docker-compose 환경의 '어플리케이션 및 서버 모니터링' 스택 아키텍처

Docker-compose 환경의 '어플리케이션 및 서버 모니터링' 스택 아키텍처목차용어 소개요약On-Premise 모니터링 아키텍쳐(On-premise) 아키텍처 구성도(On-premise) 매트릭(metric) 모니터링 순서도(On-premise) 로그(metric) 모니터링 순서도Cloudwatch모니터링 아키텍처 소개(Cloudwatch) 아키텍처 구성도(Cloudwatch) 모니터링 순서도구성 요소 소개공통 구성 요소 소개매트릭Node-exportercAdvisor로그docker log-driverOn-Premise 모니터링 구성 요소 소개Cloudwatch 모니터링 구성 요소 소개1. 용어 소개1) 매트릭(metric)시스템 성능과 상태에 대한 통계적 정보수치화 되어 나타남(서버) CPU 사용..

[Grafana, K8s, helm] grafana sidecard를 활용한 dashboard provisioning in k8s

환경GrafanaK8SHelmArgoCDtl;drgrafana sidecar를 활용해 json 파일로 저장된 custom dashboard를 손쉽게 저장할 수 있다.설정 - dashboard-config.yaml# dashboard-config.yaml{{- range $category, $dashboards := .Values.grafana.dashboards }} {{- range $name, $dash := $dashboards }} {{- if $dash.file }}---apiVersion: v1kind: ConfigMapmetadata: name: {{ printf "grafana-dashboard-%s" $name | trunc 63 | trimSuffix "-" }} labels..

[Grafana]pod 생성 시 user provisioning

환경helm 3.1k8s 1.30EKS원하는 것Grafana pod가 처음 생성될 때, user 계정들을 provision 하길 원함생성된 user들을 적절히 그룹화하고 권한 등을 부여하고자 함.문제 상황Grafana community에서는 admin 계정만 provision 가능함.https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml#L482-L491 helm-charts/charts/grafana/values.yaml at main · grafana/helm-chartsContribute to grafana/helm-charts development by creating an account on GitHub.github..

[Loki, K8s] 원인 불명의 Loki - CrashLoopBackOff 문제 해결 (EBS 용량 )

개요3개월 이상 안정적으로 작동하던 Loki pod가 알 수 없는 이유로 CrashLoopBackOff 상태가 됨.수동으로 Pod 삭제, Service enable / disable 등 처리를 했음에도 CrashLoopBackOff 상태에서 벗어나지 못함.에러 문구 확인 결과 loki init 단계에서 실패하는 것으로 판단됨.원인loki에 할당된 PV 가 모두 사용됨.구체적인 원인Kuberenetes Event exporter 설치 후 정상적인 dashboard 작동 위해 loki의 버전을 높임.Loki의 버전업 (2.6.1 -> 2.9.6)에 따라 log retention 의 default 값이 off로 바뀜.구동 이후 약 2개월간의 로그가 누적 저장됨.정기적으로 쿼리가 retention 되지 않아 E..

[모니터링] Docker-loki-plugin 환경에서 log라벨 설정

현재 Docker-compose 기반 서버들의 컨테이너 로깅 아키텍쳐는 다음과 같다.Docker Daemon ( with Docker-loki-plugin) > Loki > Grafanahttps://grafana.com/docs/loki/latest/send-data/docker-driver/configuration/Promtail 을 활용하지 않기에, 기존 k8s 환경에서 Promtail을 이용하던 것과는 다른 방법으로 로그를 파싱해야 함.관련 내용 리서치.Docker 환경에서 Log 라벨 설정1. 환경 설정의 차이 KubernetesDocker-compose컨테이너 로그 수집기Promtail별도로 존재하지 않음아키텍쳐Promtail > Loki > GrafanaDocker Daemon(with do..

카테고리 없음 2024.12.31

[K8s, Grafana] Loki 데이터량 확인 및 유지기간 설정 방법 확인(2.6.1)

Loki(2.6.1) 데이터량 확인 및 유지기간 설정 방법 확인1. 데이터량 확인 방법Prometheus 에서 아래 metric을 쿼리loki_ingester_chunk_stored_bytes_total백분율 등의 형태로도 쿼리 가능.(sum(loki_ingester_chunk_stored_bytes_total) / sum(node_filesystem_size_bytes{mountpoint="/home"}) ) * 1001) 시각화 시안퍼센트 게이지와 disk 크기 총량시계열 그래프텍스트2. 유지기간 설정1) 설정 방법: Loki compactor 설정compactor: index(로그들의 색인 파일)를 압축 / 삭제하는 역할.삭제 설정: retention_enabled: true.default는 fa..

[모니터링, Loki, 로그] Promtail 활용한 syslog 수집

Promtail 활용한 syslog 수집1. 구성1) 로깅 아키텍쳐 Rsyslog:Cent OS 7의 default loggerfile 형태로 /var/log 에 log 출력promtail에 log 전달 (via tcp)Promtailsyslog 수집tag 부여LokiPromtail 이 수집한 log 저장 및 indexingGrafanaLoki에게 log를 쿼리.log 시각화 2) 구성 결과 - 정상 수집됨./var/log/messages 의 출력 결과물Grafana에서 탐색한 화면3) 기타rsyslog 사용하지 않는 OS의 경우, 현재와는 다른 설정이 필요함.2. 후속 업무1) syslog 수집 고도화log 종류에 따른 태그 부여messagesmaillogetc...2) syslog 열람에 필요한 Gr..

[Prometheus] 적절한 scrape_interval을 찾아.. - Node exporter 코드 분석

목차Prometheus의 대략적인 구조 - pulling, exporter결론분석1. Prometheus의 구조 - exporter, pullingPrometheus 각종 exporter 들로부터 그들의 매트릭을 pull하여 저장한다. 그 주기는 scrape_config - rate_interval(이하 scrape interval) 을 참조한다. docker에 node-exporter, cadvisor-exporter 등의 이름으로 container 를 돌리고 있다면, 아래처럼 접속해서 prometheus 가 수집하는 매트릭을 확인해볼 수 있다.  http://node-exporter:9100/metrichttp://cadvisor-exporter:9100/metric그렇다면 이들 exporter들의 ..

[모니터링, k8s, Grafana, Prometheus] Prometheus 쿼리에 '$__rate_interval' 이 포함될 때 return 값이 없는 현상

상황Grafana 대시보드에서 Prometheus를 datasource로 사용하는 대시보드에서 metric들을 쿼리할 때, 그래프에 일부 값들이 표현되지 않았다.비교적 짧은 기간(5 ~ 10m) 을 쿼리할 때에만 해당 증상이 나타났다. 긴 기간을 쿼리할 때에는 정상 작동했다.추측했던 원인prometheus 의 버전 문제:[$__rate_interval]을 지원하지 않는 버전이지 않을까 추측함 -> 아니었다.원인Prometheus 의 scrape_interval 값이 grafana의 rate_interval(조회 기간에 따라 자동 생성됨)값에 비해 크다.Grafana 에서 rate_interval % 4가 Prometheus 의 scrape_interval 값 보다 작을 경우, 쿼리에 대한 결과값이 없다...

[k8s, 모니터링] grafana 와 cost-analyzer 의 helm chart 가 app-of-apps 구성에서 오류를 일으키는 현상.

k8s, 모니터링] grafana 와 cost-exploer 의 helm chart 가 app-of-apps 구성에서 오류를 일으키는 현상.환경helm Version:"v3.12.3"EKS 표준 설정 클러스터monitoring-app 이라는 app에 prometheus, grafana 등의 helm chart를 통합 관리. # chart.yamlappVersion: "1.16.0"dependencies:- name: "loki" condition: loki.enabled repository: "https://grafana.github.io/helm-charts" version: "^2.9.0"- name: "promtail" condition: promtail.enabled repository:..

TIL/기타 2024.10.15