전체 글 25

[Specs] - OTLP 1.1.0

OTLP Specification 1.2.0 The OpenTelemetry Project Site opentelemetry.io OpenTelemetry Protocol(OTLP) 명세는 텔레메트리 소스, 중간 노드(예: 컬렉터)와 텔레메트리 백엔드 간의 텔레메트리 데이터의 인코딩, 전송 그리고 전달 메커니즘을 대해 설명한다. (전송과 전달 메커니즘의 차이는 뭘까? 전송은 데이터가 어떻게 이동하는지에 관한 것으로 데이터가 소스(앱, 서비스)에서 다른 노드(컬렉터)로 이동하는 방법을 정의한다. 여기에는 네트워크 프로토콜(http, grpc)과 데이터 형식(json, proto)을 포함할 수 있다. OTLP는 오픈텔레메트리 프로젝트 범위 내에서 디자인(설계)된 범용 목적의 텔레메트리 데이터 전달 프로토콜이..

[Specs] - OTel 1.32.0 / Common concepts

Common specification concepts The OpenTelemetry Project Site opentelemetry.io 공통적으로 사용되는 개념 내용. Attribute Attribute는 다음 속성을 반드시 포함하는 key-value 쌍의 값이다. key는 반드시 non-null & non-empty attribute의 값은 기본 유형: string, boolean, double precision floating point 또는 signed 64 bit integer 기본 유형의 배열: 다른 유형의 값을 포함해서는 안된다. non-string 유형의 값을 지원하지 않는 프로토콜의 경우, non-string 유형의 값은 JSON 인코딩된 string으로 표현되어야 한다. 예를 들어, ..

[Specs] - OTel 1.30.0 / Overview

Overview This document provides an overview of the OpenTelemetry project and defines important fundamental terms. Additional term definitions can be found in the glossary. OpenTelemetry Client Architecture At the highest architectural level, OpenTelemetry clients a opentelemetry.io Client Architecture OpenTelemetry는 context propagation이라 불리는 공유 매커니즘 위에 구현된 signal이라 불리는 별개의 관측가능성 도구들의 모음으로 설계됐다. ..

[Concepts] Instrumentation / Code-base

Code-based Learn the essential steps in setting up code-based instrumentation opentelemetry.io Import the OpenTelemetry API and SDK 먼저 서비스 코드에 OpenTelemetry를 import해야 한다. 만약 라이브러리나 실행 가능한 바이너리에 의해 사용될 것으로 예상되는 다른 컴포넌트를 개발하는 경우, API에만 의존해야 한다. 만약 결과물이 독립 프로세스나 서비스인 경우라면 API와 SDK 모두에 의존해야 한다. OpenTelemetry API와 SDK에 대한 자세한 정보는 specification을 참조하자. Configure the OpenTelemetry API 매트릭이나 트레이스를 생성하기 위..

[Concepts] Observability Primer

Observability Primer Core observability concepts. opentelemetry.io What is Observability? 관찰 가능성(Obeservability)은 우리가 시스템의 내부 동작을 알지 못해도 그 시스템에 대한 질문을 통해 외부에서 시스템을 이해할 수 있게 해 준다. 더 나아가, 새롭고 예상치 못한 문제들(즉, 알려지지 않은 문제)에 대해 쉽게 해결하고, "왜 이런 문제가 발생하는가?"라는 질문에 답할 수 있도록 도와준다. 시스템에 이러한 질문을 하기 위해서는, 애플리케이션이 적절하게 계측되어야 한다. 그렇기 때문에, 애플리케이션은 반드시 traces, metrics 그리고 logs와 같은 signal을 반드시 내보내야(발생시켜야) 한다. 애플리케이션은..

[Demo] Architecture

Demo Architecture OpenTelemetry Demo is composed of microservices written in different programming languages that talk to each other over gRPC and HTTP; and a load generator which uses Locust to fake user traffic. graph TD subgraph Service Diagram accountingservice(Accounti opentelemetry.io Architecture 오픈텔레메트리의 데모는 gRPC와 HTTP를 통해 서로 통신하는 다른 프로그래밍 언어로 작성된 마이크로서비스 그리고 Locust를 이용해 가상 사용자 트래픽을 생성하는..

[OTLP Spec] 1.0.0

OTLP Specification 1.0.0 The OpenTelemetry Project Site opentelemetry.io OpenTelemetry Protocol(OTLP) 명세는 텔레메트리 소스, 중간 노드(예: 컬렉터)와 텔레메트리 백엔드 간의 텔레메트리 데이터의 인코딩, 전송 그리고 전달 메커니즘을 대해 설명한다. (전송과 전달 메커니즘의 차이는 뭘까? 전송은 데이터가 어떻게 이동하는지에 관한 것으로 데이터가 소스(앱, 서비스)에서 다른 노드(컬렉터)로 이동하는 방법을 정의한다. 여기에는 네트워크 프로토콜(http, grpc)과 데이터 형식(json, proto)을 포함할 수 있다. OTLP는 오픈텔레메트리 프로젝트 범위 내에서 디자인(설계)된 범용 목적의 텔레메트리 데이터 전달 프로토콜이..

[Specification] Common specification concepts

Common specification concepts The OpenTelemetry Project Site opentelemetry.io 공통적으로 사용되는 개념 내용. Attribute Attribute는 다음 속성을 반드시 포함하는 key-value 쌍의 값이다. key는 반드시 non-null & non-empty attribute의 값은 기본 유형: string, boolean, double precision floating point 또는 signed 64 bit integer 기본 유형의 배열: 다른 유형의 값을 포함해서는 안된다. non-string 유형의 값을 지원하지 않는 프로토콜의 경우, non-string 유형의 값은 JSON 인코딩된 string으로 표현되어야 한다. 예를 들어, ..

Apache Druid 설정 변경하기

Apache Druid 실행 방법은 아래 페이지 참고. Apache Druid local 실행 실행 환경 OS: ubuntu 20.04 드루이드 버전: 27.0.0 [바이너리 다운로드 링크], [릴리즈 노트] 드루이드 바이너리 실행 1. 바이너리 파일 다운로드 wget https://dlcdn.apache.org/druid/27.0.0/apache-druid-27.0.0-bin.tar.gz justbagmeg.tistory.com 공식 문서 확인 설정 문서: [도큐먼트 링크] 드루이드 설정 값은 공식 문서에서 확인할 수 있다. 공통 설정(common) 부터 각 서비스별 설정을 확인할 수 있다. 드루이드 사이트를 돌아다니다 보면 숨겨진 문서들을 가끔 발견하는 재미도 있다 ㅎ... 😒 설정 값 변경 방법 드..

Druid 2023.09.03

Apache Druid local 실행

실행 환경 OS: ubuntu 20.04 드루이드 버전: 27.0.0 [바이너리 다운로드 링크], [릴리즈 노트] 드루이드 바이너리 실행 1. 바이너리 파일 다운로드 wget https://dlcdn.apache.org/druid/27.0.0/apache-druid-27.0.0-bin.tar.gz 2. 압축 해제 tar -xzf apache-druid-27.0.0-bin.tar.gz 3. druid 실행 cd apache-druid-27.0.0/bin ./start-micro-quickstart bin 디렉토리에 있는 start-[micro, nano]-quickstart, start-single-server-[small, medium, large, xlarge] 예시 프로그램 중 하나를 실행하면 된다...

Druid 2023.09.03