관련 블로그 글 | |
[DevOps] 모니터링 시스템 도입기 with Grafana | https://jm-baek.tistory.com/352 |
강의 내용과 개인적으로 실습하면서 작성한 내용을 정리한 내용입니다.
교육 정보
교육 제목: Prometheus + Grafana + OpenTelemetry를 이용한 Kubernetes 모니터링
교육 날짜: 10/14 ~ 10/16(총 3일)
교육 시간: 09:00 ~ 18:00
나의 후기
역시나.. 일과 중에 시간내서 강의를 듣는게 쉽지 않다.
(개발한 내용을 보여주는 중요한 미팅이 있는 주간이라, 어려울 것이라고 예상은 했다.)
모니터링 시스템이라는 새로운 흥미와 내가 개발하고 싶은 내용이라 집중해서 듣고 싶은데...
중간에 놓친 부분을 복습이 아닌 주신 자료를 읽으면서 공부하는 것은 나의 몫이겠지😂
강사님 말씀
툴을 사용하는 것은 쉽다.
데이터를 어떻게 보여줄지 매트릭을 사용하는게 어렵다.
Observability
Observability는 시스템의 외부 출력, 특히 데이터를 검사하여 시스템의 내부 상태를 이해할 수 있는 방법과 관련이 있습니다.
현대 애플리케이션 개발의 맥락에서, Observability는 환경에서 실행 중인 애플리케이션의 동작에 대한 세부적인 인사이트를 제공하기 위해 다양한 소스로부터 데이터(로그, 메트릭 및 추적)를 수집하고 분석하는 것을 의미합니다. 이 기능은 구축하고 모니터링하려는 모든 시스템에 적용할 수 있습니다.
APM
Application Performance Monitoring
조직이 애플리케이션 및 코드의 성능 문제를 신속하게 식별하고 해결하기 위한 프로세스입니다.
APM 솔루션은 웹사이트, 소프트웨어 애플리케이션 및 서비스에서 원격 측정 데이터를 수집, 모니터링 및 분석합니다. 팀은 애플리케이션 전반에 걸쳐 엔드 투 엔드 가시성을 확보하여 애플리케이션 및 서비스 종속성을 파악하고 오류나 속도 저하를 해결할 수 있습니다. 또한 APM 솔루션은 추세를 표면화하기 위해 과거 데이터를 저장하고 활용하며, 비즈니스 KPI뿐만 아니라 대기 시간 및 처리량과 같은 주요 성능 지표에 대한 이상값을 탐지합니다.
Observability vs APM
애플리케이션 성능 모니터링 종종 Observability의 하위 집합으로 간주되며, 애플리케이션 코드와 종속성에 대한 심층적인 인사이트를 얻기 위해 사용되는 모니터링 유형입니다. APM의 주요 기능은 분산 추적입니다. 이 기능은 애플리케이션 내의 엔드 투 엔드 트랜잭션을 추적하는 데 사용됩니다. APM은 애플리케이션 성능을 지원 및 최적화하고, 병목 현상을 식별하며, 사용자 경험을 개선하는 데 도움이 됩니다.
Observability는 환경의 모든 애플리케이션, 마이크로서비스, 서버 및 데이터베이스에서 수집되고 집계된 로그, 추적 및 메트릭을 사용합니다. 이를 통해 팀은 전체 IT 에코시스템의 데이터 및 종속성을 조사하여 문제의 근본 원인을 파악할 수 있습니다. 통계 및 머신 러닝 접근 방식을 사용하여 속성 및 패턴을 분석함으로써, 시스템에서 알려지지 않은 미지에 대한 실행 가능한 인사이트를 제공합니다.
자세한 내용을 알고 싶다면 아래 링크로 들어가보자!
https://www.elastic.co/kr/what-is/observability
Observability란 무엇인가요?
Observability가 무엇인지, 모니터링 및 APM과 비교하는 방법, 데이터베이스 Observability 사용 사례 및 Observability 도구의 주요 기능을 이해합니다. ...
www.elastic.co
Using Tool
Grafana
비슷한 툴: kibana
Grafana Open Source Software (OSS) enables you to query, visualize, alert on, and explore your metrics, logs, and traces wherever they’re stored.
Grafana 오픈 소스는 오픈 소스 시각화 및 분석 소프트웨어입니다. 메트릭, 로그 및 추적을 어디에 저장하든 쿼리, 시각화, 경고 및 탐색할 수 있습니다. 시계열 데이터베이스(TSDB) 데이터를 통찰력 있는 그래프 및 시각화로 전환하는 도구를 제공합니다.
Grafana data source plugins enable you to query data sources including time series databases like Prometheus and CloudWatch, logging tools like Loki and Elasticsearch, NoSQL/SQL databases like Postgres, CI/CD tooling like GitHub, and many more. Grafana OSS provides you with tools to display that data on live dashboards with insightful graphs and visualizations.
Grafana 데이터 소스 플러그인을 사용하면 Prometheus 및 CloudWatch와 같은 시계열 데이터베스, Loki 및 Elasticsearch와 같은 로깅 도구, Postgres와 같은 NoSQL/SQL 데이터베이스, GitHub와 같은 CI/CD 도구 등을 포함한 데이터 소스를 쿼리할 수 있습니다. Grafana OSS는 통찰력 있는 그래프와 시각화를 통해 실시간 대시보드에 해당 데이터를 표시할 수 있는 도구를 제공합니다.
https://grafana.com/docs/grafana/latest/fundamentals/
Introduction | Grafana documentation
Getting started with managing your metrics, logs, and traces using Grafana In this webinar, we’ll demo how to get started using the LGTM Stack: Loki for logs, Grafana for visualization, Tempo for traces, and Mimir for metrics.
grafana.com
Prometheus
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
(차원 데이터 모델, 유연한 쿼리 언어, 효율적인 시계열 데이터베이스 및 최신 경고 접근 방식을 갖춘 오픈 소스 모니터링 시스템입니다.)
Prometheus server 내부에 보면 TSDB(Time Series Database) 라고 있다.
시계열 데이터라고 하는데 시간에 따라 변화하는 데이터를 효율적으로 처리하기 위한 데이터베이스이다.
대표적인 TSDB는 InfluxDB, Prometheus, TimescaleDB, OpenTSDB 가 있다.
Fig 01 의 이미지를 보면 Prometheus server에서 targets 으로 pull metrics 라고 적혀있다.
=> 이는 Pull 방식으로 가져오는 것이다.
반대로, influxdb에서는 push 방식으로 정보를 수집한다.
pull, push 방식의 장단점 등 깊은 내용은 따로 공부하기를 바랍니다.!!
https://prometheus.io/docs/introduction/overview/
Overview | Prometheus
An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
prometheus.io
Loki
Grafana Loki is a set of open source components that can be composed into a fully featured logging stack. A small index and highly compressed chunks simplifies the operation and significantly lowers the cost of Loki.
Grafana Loki는 모든 기능을 갖춘 로깅 스택으로 구성할 수 있는 오픈 소스 구성 요소 세트입니다. 작은 인덱스와 고도로 압축된 청크는 작업을 간소화하고 Loki의 비용을 상당히 낮춥니다.
ChatGPT 왈:
Loki는 Grafana Labs에서 개발한 로그 관리 시스템으로, 로그 데이터를 수집, 저장, 쿼리, 시각화하는 데 특화된 도구입니다. 주로 Prometheus와 유사한 방식으로 설계되었으며, 메트릭 데이터와 함께 로그 데이터를 분석하고자 할 때 적합합니다. Loki는 특히 저비용 로그 저장과 단순한 검색에 중점을 두어, 대규모 로그 관리가 필요한 환경에서 효율적으로 사용될 수 있습니다.
https://grafana.com/docs/loki/latest/
Grafana Loki | Grafana Loki documentation
Manage Loki Learn how to manage tenants, log ingestion, storage, queries, and more.
grafana.com
Promtail
로그 수집 도구로 클라이언트 측에서 로그를 수집하여 Loki로 전송하는 역할을 한다.
Promtail is an agent which ships the contents of local logs to a private Grafana Loki instance or Grafana Cloud. It is usually deployed to every machine that runs applications which need to be monitored.
Promtail은 로컬 로그의 내용을 개인 Grafana Loki 인스턴스 또는 Grafana Cloud로 전송하는 에이전트입니다. 일반적으로 모니터링이 필요한 애플리케이션을 실행하는 모든 머신에 배포됩니다.
비슷한 툴: Logstash
chatGPT왈:
- Promtail:
- Loki 전용 로그 수집기로 설계되었습니다. Promtail은 주로 Loki와 함께 사용되며, 로그 데이터를 수집하여 Loki로 전송하는 데 특화되어 있습니다.
- 주로 Kubernetes와 같은 컨테이너 기반 환경에서 로그 데이터를 수집하고, Loki에 맞게 라벨링을 추가한 후 전송하는 기능을 제공합니다.
- Prometheus 메트릭 수집기처럼 동작하며, Prometheus의 라벨링 방식과 비슷하게 로그 데이터에 라벨을 추가하여 관리합니다.
- Logstash:
- 다목적 로그 수집기로, 다양한 소스에서 로그 데이터를 수집하고, 이를 여러 시스템으로 전송할 수 있습니다. Loki뿐만 아니라 Elasticsearch, Kafka, AWS S3, 데이터베이스 등 다양한 출력 대상으로 데이터를 보낼 수 있습니다.
- Logstash는 로그 데이터뿐만 아니라 다양한 형태의 데이터 파이프라인을 처리할 수 있는 유연성을 갖추고 있으며, 데이터를 수집한 후 필터링, 변환, 형식 변경 등 데이터 처리 기능이 뛰어납니다.
https://grafana.com/docs/loki/latest/send-data/promtail/
Promtail agent | Grafana Loki documentation
Open source Promtail agent Promtail is an agent which ships the contents of local logs to a private Grafana Loki instance or Grafana Cloud. It is usually deployed to every machine that runs applications which need to be monitored. NotePromtail is feature c
grafana.com
'교육 > [온라인] KOSTA EDU' 카테고리의 다른 글
도커와 쿠버네티스 입문과 활용 (3) | 2024.10.28 |
---|---|
컨테이너 기반의 Jenkins CI/CD 파이프라인 (0) | 2024.10.21 |
[KOSTA] Spring-boot를 활용한 MSA 아키텍처 적용하기 (0) | 2024.08.24 |
[KOSTA] Kafka를 이용한 서비스와 데이터 통합 - 2편 (0) | 2024.07.19 |
[KOSTA] Kafka를 이용한 서비스와 데이터 통합 - 1편 (0) | 2024.07.19 |