본문 바로가기

반응형

Log,Monitorings

(20)
[ECK Elasticsearch] 데이터 노드가 재시작되면 레이턴시가 급증했던 이슈 필자는 현재 ECK Operator로 ElasticSearch를 운영중이다. 현재 ECK Elasticsearch는 글을 쓰는 기점으로 2.15 버전이 나왔으며 상당히 만족하면서 사용하고 있다. https://www.elastic.co/guide/en/cloud-on-k8s/current/index.html Elastic Cloud on Kubernetes [2.15] | Elastic www.elastic.co  ECK ES를 운영하면서 참고할만한 내용에 대해서도 적을 내용이 꽤나 있긴 한데 사실 ES를 잘 알지 못하기에 그런 부분들은 따로 적지 않으려고 한다. 최근에 경험했던 이슈에 대해서 간략히 정리해보려 한다.  [참고하면 좋을 무신사, 당근마켓 ECK 관련 글] https://medium.com..
Opentelemetry에 대해서 간단히 알아보기 Opentelemetry Collector로부터 Trace를 수집받은 뒤 RED Metrics를 만드는 방법에 대해서 알고 싶다면? [Spanmetrics에 대한 설명] https://nyyang.tistory.com/190 [Opentelemetry] spanmetrics connector에 대해 알아보기Span Metrics Connector는 span data로부터 RED(Request, Error, Duration) 메트릭을 만들어낸다. 생성되는 메트릭들은 다음의 dimension들을 최소한 가지게 된다. - service.name - span.name - span.kind - status.code 1. 설정값 hinyyang.tistory.com [RED Metrics를 Opentelemetry..
[Monitoring] Grafana Query-less (Explore Metrics, Logs, Traces, Profiles) 간단히 알아 1. 개요최근에 Grafana에서 Query-less experience(쿼리를 하지 않는 경험)을 중요시하고 있는 것으로 보인다. Query-less experience란 PromQL, LogQL, TraceQL 등을 수행하지 않고 Web UI에서 버튼만으로 사용자가 손쉽게 메트릭, 로그, 트레이스를 조회하고 손쉽게 디버깅을 할 수 있도록 하는 경험을 뜻한다. 이를 통해 Query를 잘 알지 못하는 사용자도 빠르게 관련된 메트릭을 찾아 문제를 빠르게 해결할 수 있도록 도와주는 것 같다. Grafana에서는 크게 4가지의 Query-less 경험을 제공하려고 하는 것 같다. [1] 시계열 메트릭 : Explore Metricshttps://www.youtube.com/watch?v=JbaPufQs5LY ..
[Log] Grafana Loki 성능 최적화 방법 정리 Loki 3.0에서는 Bloom Filter가 도입될 예정이라고 한다. (이미 Loki 3.0은 release 되었다. Loki를 갓 도입하는 분들는 3.x 버전으로 도입하는게 좋아보인다.) 아마 이게 도입되면 필터링 검색 시 굉장히 빨라질 것으로 생각한다. 하지만 현재 2.x 버전에서는 Bloom Filter란 개념이 없기 때문에 Log 사이즈가 많을 경우 검색 속도에 이슈를 겪는 분들이 상당할 것이다. 당연히 Querier OOM 이슈 또한 그렇다. 이 글은 이런 문제를 해결할 수 있도록 도움을 줄 수 있을것이다. 3.x 버전이 아닌 2.x 버전 기준으로 작성되었으니 참고하셔서 볼 것. Write1. Timestamp Oedering 아래 글에 정리해두었으니 참고할 것. https://nyyang.t..
[Opentelemetry Collector] RED Metric 생성과 샘플링 정책 완벽히 구성하기 1. 개요필자의 경우 Grafana Tempo를 사용하고 있다. Grafana Tempo의 경우 Metrics Generator를 통해 RED Metric을 생성할 것을 권장하고 있다. Metrics-generator | Grafana Tempo documentationOpen source Metrics-generator Metrics-generator is an optional Tempo component that derives metrics from ingested traces. If present, the distributor will write received spans to both the ingester and the metrics-generator. The metrics-generator p..
[Log] Grafana Loki 로그 Write 시 참고 사항 해당 글에서는 운영 시 참고하면 좋을 내용들만 정리합니다. 쓰기와 읽기로 나누어 각각 어떤 부분을 고려하며 Loki를 운영하면 좋은지에 대해 정리합니다. 정석적인 내용은 아니기에 참고용으로만 봐주세요. 1. 로그 쓰기 로그 쓰기 작업은 다양한 방식으로 수행할 수 있다. Log Client로부터 로그를 수집 및 정재한 뒤에 Loki로 바로 전송할 수도 있고 Kafka 같은 Queue를 두어 전송할 수도 있다. Grafana Loki에서는 Promtail, Grafana Agent를 위주로 설명하고 있지만 필수는 아니며 fluentBit, Logstash, fluentD, Vector 등 다양한 Log Client는 물론 AWS Lambda와 같은 Serverless에서 loki HTTP 요청을 통해서도 로..
[Opentelemetry] spanmetrics connector에 대해 알아보기 Span Metrics Connector는 span data로부터 RED(Request, Error, Duration) 메트릭을 만들어낸다. 생성되는 메트릭들은 다음의 dimension들을 최소한 가지게 된다. - service.name - span.name - span.kind - status.code 1. 설정값 histogram : Span duration 측정기준으로부터 record를 계산하기 위한 히스토그램 (explicit, exponential) dimensions : service.name, span.name, span.kind, status.code 외에 생성되는 메트릭들의 label로 등록하고 싶은 리스트 예를 들어 시계열 메트릭의 Label로 IP , Region 등을 추가하고 싶다면..
[Monitoring] Grafana Tempo 알아보기 Grafana Tempo란? Grafana Tempo란 Distributed tracing backend(분산 트레이싱 저장소)이다. Open source tracing protocol(Jaeger, OpenTelemetry, Zipkin, ..)와 연결하여 Tempo를 분산 트레이싱 저장소로써 활용 가능하다. 그렇다면 여기서 분산 트레이싱이란 무엇일까? 분산 트레이스(Distributed Tracing)는 분산 시스템에서 발생하는 작업의 수행 경로를 추적하고 모니터링하기 위한 기술이다. 마이크로서비스 환경에서는 수십, 수백개의 서비스가 존재하고 각 서비스들은 서로 API 간 통신, 데이터베이스, 캐시 서버등 다양한 컴포넌트간 통신하며 서비스를 이루게 된다. 마이크로서비스의 장점은 각 서비스가 독립적으..

반응형