분류 전체보기 86

[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..

[RKE2] Too many open files 로 발생하는 crashLoopBackOff 에러 해결

Too many open files 로 발생하는 crashLoopBackOff 에러 해결Grafana에서 제공하는 helm chart 기반으로 Promtail 설치했다. Node의 memory 와 cpu 모두 정상임에도 pod가 실행되지 않았다.OS단에서 max_user_instance 를 늘리는 것으로 해결할 수 있다.# 에러 메세지level=error ts=2024-04-11T08:08:45.478913366Z caller=main.go:170 msg="error creating promtail" error="failed to make file target manager: too many open files"해결한 방법OS상에서 max_user_instances를 늘린다.sudo sysctl fs.i..

[모니터링, 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] Prometheus 의 주요 스탯들

Prometheus 추가 매트릭 확인 방법1. Prometheus 추가 매트릭 확인 방법Prometheus는 exporter가 수집한 metric을 pulling 만 한다.사용 가능한 metric들은 각 exporter의 세부사항에서 확인할 수 있다.일부 software들은 Prometheus의 포맷으로 metric을 노출한다. 따라서 별도의 exporter 생성 없이도 metric을 수집할 수 있다.주요 S/W 목록Kubernetes, Grafana, Ceph, MinIO전체 목록: prometheus - Software exposing Prometheus metrics2. K8S 제공 매트릭수집 가능한 주요 metric 목록node별 메모리 사용량, CPU 사용량, pod별 cpu/메모리 사용량, p..

카테고리 없음 2024.11.13

[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들의 ..

시작하며

ㅇㅈㅈㅂ쉬운 일은 아니리라 생각한다. 이미 과중한 업무로 스트레스를 받고 있다. 취미생활 - 스트레스 풀 시간 - 을 줄여 이직을 준비해야 한다. 이직 준비 루틴을 만들기 쉽지 않을 것이다. 의지가 흔들릴 때마다 보기 위해 글을 남긴다. 왜 하고싶은지?노력에 비해 충분히 보상을 받고 있다는 느낌이 들지 않는다. 입사할 때부터 연봉이 아쉽다고 생각했다. 그렇지만 급격하게 식어가는 취업 시장을 고려해 입사를 선택했다. 한동안은 회사에 만족했다. 복지가 나쁘지 않았다. 팀 분위기도 좋은 편이었다. 일에만 집중할 수 있어서 좋았다. 입사 5개월만에 TF 에 합류했다. 풀스택에 DevOps 경험까지 쌓을 수 있는 좋은 기회라 생각했다. 대체할 수 없는 역할을 맡아 충분한 성과를 냈다. Docker-compose..