프로메테우스란?
프로메테우스
p8s
대표적인 오픈소스 모니터링, 경보 툴킷
애플리케이션과 인프라가 어떻게 수행되고 있는지 분석할 수 있는 도구
GO언어로 만들어짐
promql 매우 간단한 쿼리 언어 사용
- 일기 전용
- 시계열에 저장된 모든 레이블에서 집계 가능
분산 스토리지에 의존 하지 않음
윈도우, 리눅스, MYSQl등의 기본 라이브러리와 서버 모두 프로케테우스를 이용할수있음
go,java 또는 scala, python, ruby 및 기타 여러 언어와 같이 PROMETheus 클라이언트 라이브러리를 통해 ㅗㅋ드 계측 추가 가능
자체 ALERTMANAGER를 갖춘 본격적인 모니터링 시스템
alert manager
- 정의된 규칙에서 벗어나면 경고가 발생
- 경고가 발생하면 조치를 취해야 함
- 프로메테우스 자체는 이 작업의 책임이 없음
- 이러한 규칙을 처리하기 위해
target
- 스크랩하고 모니터ㅣㅇ하려는 메트릭이 있는 객체
instance
- 스크랩하는 엔드포인트, 스크랩 하려는 주소
job
- 동인한 목적을 가진 인스턴스 모음
sample
- 시계열의 특정 시점에서 검색된 메트릭의 단일 값
promtetheus 쿼릿 언어 -promql
- selectors &matcher
matcher types
- (=) : 제공된 문자열과 정확이 둥일한 레이블 선택
operators 연산자
- 집계 연산자 : 정보를 결합하는 데 사용되는 특수 수학 함수
binor
quanter
premetheus 쿼리 언어 PRImeql
- function
- rate
- irate
- changed
- deriv
- predict_;inear
주말에는 아키텍처 하나씩 깔아보기
nginx 인그레스 컨트롤러란?
ChatGPT
Nginx Ingress Controller는 Kubernetes 클러스터 내에서 동작하는 오픈 소스 프로젝트입니다. 이 컨트롤러는 Ingress 리소스를 사용하여 클러스터 내부에 로드 밸런싱과 라우팅을 수행하는 역할을 합니다.
Kubernetes에서 Ingress는 클러스터 외부에서 내부로의 HTTP 및 HTTPS 트래픽을 관리하기 위한 API 개체입니다. Ingress는 외부 요청을 적절한 백엔드 서비스로 전달하는 규칙을 정의할 수 있습니다. 그러나 Ingress 리소스 자체는 단순히 규칙을 정의하는 용도이며, 요청을 처리할 실제 로드 밸런서가 필요합니다. 이때 Nginx Ingress Controller가 사용됩니다.
Nginx Ingress Controller는 Ingress 리소스에 정의된 라우팅 규칙을 기반으로 Nginx를 사용하여 로드 밸런싱 및 프록시 기능을 수행합니다. 클러스터 내부에 배포된 Nginx Ingress Controller는 외부로 들어오는 요청을 수신하고, 요청을 적절한 서비스로 라우팅하여 클러스터 내의 서비스에 접근할 수 있도록 합니다.
또한, Nginx Ingress Controller는 프로메테우스(metrics)를 위한 엔드포인트를 노출하여 클러스터 내에서 Nginx의 성능 및 상태 정보를 수집할 수 있게 해줍니다. 이를 통해 모니터링 및 분석 도구인 프로메테우스가 Nginx의 메트릭 데이터를 수집하여 시각화하거나 경고를 생성할 수 있습니다.