전체 글 83

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

[모니터링, 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