Skip to content

태그: monitoring

총 28개의 글이 있습니다.
Mixin
grafana
Prometheus는 강력한 모니터링 및 알림 시스템이지만, 유연성이 높은만큼 사전 구성(configuration)이 많이 필요하다. 이에 따라 어떤 애플리케이션에 대한 모니터링을 쉽게 설정할 수 있도록 묶어놓은 것이 Mixin이다. 예시 목적 및 목표 Monitoring Mixins는 다음과 같은 특성을 가지는 구성 단위이다: 1. 플랫폼 중립성: Kubernetes 외에도 다양한 환경에서 쉽게 설치할 수 있어야 한다. 2. 애플리케이션과 함께 배포: 해당 애플리케이션 개발자가 직접 정의하거나 함께 배포할 수 있도록. 3. 협업 및 진화 가능성: 사용자 정의를 복사해서 사용하는 대신, 원본에 기여하거나 버전 업그레이드가 가능한 구조. 4. 재사용성과 구성 가능성
Bloom filter
monitoring
Bloom Filter는 1970년 Burton Howard Bloom에 의해 고안된 공간 효율적인 확률적 데이터 구조로서, 어떤 요소가 집합에 속하는지를 테스트하는 데 사용된다. 이 구조의 핵심적인 특징은 false positive가 발생할 수 있지만, false negative는 발생하지 않는다는 점이다. 즉, Bloom Filter는 주어진 쿼리에 대해 "집합에 포함되어 있을 수도 있음" 또는 "집합에 확실히 포함되어 있지 않음" 중 하나의 결과를 반환한다. 충분한 메모리가 있다면 오류 없는 인덱스 해시를 사용할 수 있지만, 메모리가 제한적일 경우 Bloom Filter를 사용하는 것 만으로도 대부분의 디스크 접근을 불필요하게 만들 수 있다. Bloom Filter는 add only이고, 삭제 기능이
VictoriaLogs
victoria-metrics
Loki는 Grafana에서 개발한 오픈소스 로그 관리 시스템이며, Elasticsearch나 OpenSearch 같은 기존의 오픈소스 로그 데이터베이스보다 RAM과 저장 공간을 적게 사용하는 것이 주요 장점이다. Loki는 전체 로그를 인덱싱하지 않고, 일부 로그 필드(로그 스트림 라벨)만 인덱싱하는 구조이기 때문에, 빠른 전체 텍스트 검색은 지원하지 않지만 라벨을 통한 빠른 로그 스트림 탐색은 가능하다. 로그를 압축 저장함으로써 저장 공간 효율이 높아지고, 이러한 아키텍처는 대량 로그 저장과 분석에 필요한 CPU, RAM, 스토리지 등의 인프라 비용을 절감할 수 있게 해준다. 그러나 Loki는 Elasticsearch와 비교했을 때 다음과 같은 단점을 가진다. 관리 측면 Loki는 구성
Pyroscope Distributor and Ingester
grafana
Distributor Distributor는 Agent로부터 프로파일링 데이터를 받아 처리하는 Stateless 컴포넌트이다. Distributor는 데이터를 일괄 처리하여 여러 Ingesters에 병렬로 보내고, 시리즈를 Ingesters 사이에 나누며, 각 시리즈를 구성된 복제 요소에 따라 복제한다. 기본적으로 구성된 복제 요소는 세 개이다. 유효성 검사 Distributor는 데이터를 Ingester에 전달하기 전에 유효성을 검사, 변환 절차를 거친다. 데이터 중 일부 샘플만 유효하다면 유효한 데이터만 Ingester에 전달하고, 유효하지 않은 데이터는 Ingesters에 보내지지 않는다. 요청에 유효하지 않은 데이터가 포함되어 있으면 Distributor는 Bad Reques
datadog
datadog
💡 APM, log, Infrastructure를 통합적으로 모니터링·관리하는 클라우드 모니터링 솔루션 여러 클라우드 환경에 나뉘어있는 리소스들을 통합적으로 모니터링 가능하다. 클라우드의 상태를 지속적으로 감시하여 예기치 못한 상황과 오류를 대비, 대응할 수 있다. 장점 에러를 빠르게 확인하여 신속한 대응 가능 애플리케이션 정보(log, query 등) 축적하여 데이터 기반 개선 개발자, 운영팀, 비즈니스 유저간 긴밀한 협업 다양한 언어과 환경을 지원하기 때문에, 원하는 애플리케이션에 확장 가능 커스텀 대시보드 생성 가능 공식 문서가 친절함 단점 비용이 많이 든다. 기능이 많아서 실무에 도입하기 위해 사전 지식이 필요함. --- Datadog의 주
datadog APM 기능 사용하기
datadog
서버에 datadog agent를 설치하면 CPU 점유율, Memory, Disk사용량 등의 중요한 성능 정보를 모니터링할 수 있다. 하지만 애플리케이션의 전반적인 LifeCycle에 대한 리포트 (ex: GC, JVM, I/O 등)를 바탕으로 에러나 병목현상에 더 빠르게 대응할 수 있도록 하고싶다면 Datadog APM을 연결해야한다. APM 이란? Application Performance Monitoring 의 약자로 구동 중인 애플리케이션의 대한 성능측정과 에러탐지 등, 전반적인 애플리케이션 라이프사이클의 정보를 수집해 모니터링할 수 있게 해준다. 보다 편리성을 위해서 다양하게 시각화한 Metrics, 그리고 API 테스트도 지원한다. 여러 대의 애플리케이션에 설치가 가능하며 이를 한꺼
Elastic Search
elk
확장성이 뛰어난 오픈 소스 전체 텍스트 검색 및 분석 엔진 대량의 데이터를 신속하고 거의 실시간으로 저장, 검색 및 분석 일반적으로 복잡한 검색 기능과 요구 사항이 있는 응용 프로그램을 구동하는 기본 엔진 / 기술 핵심 개념 Near Realtime (NRT) Elastic Search는 거의 실시간 검색 플랫폼 문서를 색인할 때부터 검색 기능할 때까지 약간의 대기시간(일반적으로 1초)이 매우 짧음 클러스터(Cluster) 전체 데이터를 함께 보유하고 모든 노드에서 연합 인덱싱 및 검색 기능을 제공하는 하나 이상의 노드(서버) 모음 -노드의 그룹이라고 생각 클러스터는 기본적으로 elasticsearch 라는 고유한 이름으로 식별 이 이름은 노드가 이름으로 클러스터에 참
ElasticSearch 검색 명령어
elk
Elasicsearch 검색 명령어 클러스터 상태 (Health) 클러스터가 어떻게 진행되고 있는지 기본적인 확인 클러스터 상태를 확인하기 위해 `_cat` API를 사용 curl를 사용하여 수행 가능 -노드 정보: GET `/_cat/nodes?v` 상태 정보 : GET `/_cat/health?v` Elasticsearch에서 _언더바가 붙은 것들이 API v는 상세하게 보여달라는 의미 녹색 : 모든 것이 정상 동작 노란색 : 모든 데이터를 사용 가능하지만 일부 복제본은 아직 할당되지 않음(클러스터는 완전히 동작) 빨간색 : 어떤 이유로든 일부 데이터를 사용 불가능(클러스터가 부분적으로만 동작) 데이터베이스(index)가 가진 데이터 확인하기 index는 일반 RDB에서의 DB 역할 모
Logstash
elk
Logstash는 실시간 파이프라인 기능을 가진 데이터 수집 엔진 오픈소스이다. Logstash는 서로 다른 소스의 데이터를 동적으로 통합하고 원하는 대상으로 데이터를 정규화 할 수 있는 능력을 가진다. 다양한 입력과 필터 및 출력 플러그인을 통해, 모든 유형의 이벤트를 보강하고 변환할 수 있으며, 많은 기본 코텍이 처리 과정을 단순화한다. 따라서 Logstash는 더 많은 양과 다양한 데이터를 활용하여 통찰력 있게 볼 수 있게 해 준다. Logtash 파이프라인 Logstash의 전체적인 파이프라인에는 INPUTS과 FILTERS, 그리고 OUTPUT이 있다. 이 중에서 2가지의 필수적인 요소는 INPUTS과 OUTPUTS이고, 파싱 여부에 따라 필터는 선택적으로 사용이 가능하다. L
prometheus
prometheus
Prometheus는 오픈소스 시스템 모니터링 및 알림 툴킷이다. Prometheus는 메트릭을 시계열 데이터로 수집하고 저장한다. 즉, 메트릭 정보는 기록된 타임스탬프와 함께 저장되며, label이라고 불리는 선택적 key-value 쌍도 함께 저장된다. 순수한 숫자 시계열을 기록하는 데 적합하다. 높은 동적성을 가진 서비스 지향 아키텍처의 머신 중심 모니터링에 잘 맞는다. 마이크로서비스 환경에서 Prometheus의 다차원 데이터 수집 및 쿼리 지원은 특히 강력한 장점이다. Prometheus는 안정성을 위해 설계되었으며, 장애 발생 시 문제를 신속하게 진단할 수 있도록 돕는 시스템이다. 각 Prometheus 서버는 독립적으로 동작하며, 네트워크 스토리지나 다른 원격 서비스에 의존하지 않는다.
prometheus storage
prometheus
Prometheus는 기본적으로 로컬 디스크 기반의 시계열 데이터베이스를 내장하고 있다. 구조 2시간 단위의 블록(block) 으로 샘플 데이터를 그룹화하여 저장한다. 각 블록은 디렉터리 하나로 구성되고, 아래와 같은 구조를 가진다. `chunks/` 하위 디렉터리: 해당 시간 구간의 시계열 샘플 데이터 chunks 디렉터리 안의 데이터는 기본적으로 최대 512MB 크기의 segment 파일들로 구성된다. `index`: 메트릭 이름 및 라벨 → 시계열 매핑 정보를 담고 있음 `meta.json`: 블록의 메타데이터 `tombstones`: 삭제 요청된 시계열 정보를 별도로 기록 (바로 삭제하지 않음) WAL (Write-Ahead Log, 선기록 로그) 최신 샘플 데이터는 아직