본문 바로가기

반응형

Log,Monitorings

(17)
[Prometheus] AlertManager로 Slack 알람 전송하는 법 알아보자 1. 개요해외문서도 그렇고 국내문서도 그렇고 마땅히 잘 정리된 글을 찾기 힘들었다. 그나마 AliceK 님 글이 잘 정리되어 있어서 참고가 되었다. 그래서 전체적으로 이해하는데 약간 애를 먹었지만 삽질을 계속 하다보니 얼추 전체적인 흐름이 정리되어서 간략하게 정리해본다. 사실 Grafana Managed Alert를 사용하면 더욱 쉽고 간편하게 알람을 보낼 수 있지만 너무 많은 규칙들이 Grafana에서 처리될 경우 부하가 발생할 수 있기 때문에 이를 분산하기 위해 가급적이면 AlertManager로 알람을 보내려고 한다. 필자는 Grafana Mimir를 통해 시계열 메트릭을 저장하기에 Mimir Ruler를 통해 규칙을 평가하고, AlertManager에게 이를 전달하여 Slack으로 알람을 보내도록..
[Observability] fluentd 보다 더 좋은(?) Vector에 대해 알아보자. 개요 Toss slash 2023을 보다가 Logstash에서 Vector로 전환 후 상당히 만족한다는.. Star 수도 Fluentd를 넘었다고 한다. 작년에 Datadog에서 인수했다는 소식만 들었고 어떤 놈인지에 대해서는 관심이 없었는데, 마침 리서치를 해보자고 마음먹게 되었다. 허나, vector를 검색하니 기하와 벡터에서 배운 그 수학 용어만 나오던데.. 잘못 검색한 것인지 아직 한글로 정리된 글들이 없는 것인지.. 그래서 아래 Docs를 보면서 내용들을 정리하였다. 상당히 깔끔히 정리되어있었다. Vector란 ? Observability data를 관리하는 도구이다. : Logs, Metrics 등을 하나의 툴에서 수집하고, 변환하고, 라우팅하는 Observability pipeline이다. ..
[EKS] 로그 시스템 Loki 도입을 위한 몇가지 운영 팁 Loki로 로그 시스템을 구성해서 쓴지 어느덧 3개월이 넘어간다. Loki를 맨 처음에는 Loki Stack(Grafana, Promtail, Loki)로 구성해서 모놀리식 형태로 쓸 수 있지만 쓰다보면 다양한 문제점들이 발견된다. 1. 다량의 로그가 Write되면 Loki 파드가 죽는데 정확히 어떤 컴포넌트가 죽었는지 확인하기가 쉽지 않다. 2. Grafana에서 읽을 시 상당히 느리다. 3. 각 컴포넌트들에 대한 이해가 어렵다. 4. Ingest 할 때 어디에선가 쓰로틀링이 걸린다. 5. 등등 하여 사용가능한 로키 헬름 차트들은 어떤게 있으며 로키에 대한 간략한 컴포넌트 소개, 운영 시 어떤 설정값들을 적용하면 좋을지에 대해 간단히 설명하기 위해 글을 쓰게 되었다. 아직 많이 부족한 지식이지만 Lok..
[EKS] 아주 가벼운 Loki + Grafana + Promtail 로그 시스템 구성 본 글은 Loki Stack을 활용하여 설치하는 내용이다. 만약 Loki를 로그 시스템으로 도입하기 위해 필요한 내용들을 참고하고 싶다면 아래 글을 읽어보면 좋을 것 같다. (아래 글은 설치 및 구성 방법에 대한 내용을 소개하지 않는다.) https://nyyang.tistory.com/167 [EKS] 로그 시스템 Loki 도입을 위한 몇가지 운영 팁 Loki로 로그 시스템을 구성해서 쓴지 어느덧 3개월이 넘어간다. Loki를 맨 처음에는 Loki Stack(Grafana, Promtail, Loki)로 구성해서 모놀리식 형태로 쓸 수 있지만 쓰다보면 다양한 문제점들이 발견된다. 1. nyyang.tistory.com 1. 개요 ELK 스택이 부담스럽다면 Loki Stack(Promtail + Loki..
[Datadog] EKS에서 운영중인 SpringBoot HikarpCP 모니터링 (Auto Discovery) 1. 개요 보통 HikariCP를 모니터링 하기 위해서는 JConsole과 같은 Java 애플리케이션 모니터링 툴을 통해 진행해야 하지만, 다소 불편하다고 느낄 수 있다. MBean(Managed Bean)이란, 애플리케이션 혹은 리소스의 상태를 모니터링할 수 있는 Java 객체이다. HikariCP에서 제공하는 MBean을 통해 다음의 정보를 확인할 수 있다. Idle connections의 수 Active connections(현재 사용하고 있는)의 수 모든 connection의 수 connection을 기다리고 있는 thread의 수 그렇다면 SpringBoot 애플리케이션에서 Datadog에서 JMX MBean을 이용하여 HikariCP 모니터링을 어떻게 할 수 있을까? 전체적으로 다음의 과정이 ..
[Datadog] AWS Events 기반으로 Datadog 알람 설정하기 1. 개요 Datadog은 SaaS 모니터링 솔루션으로 정말 많은 기능들이 포함되어 있다. Dashboards를 만들 수도 있고, Monitoring 설정을 할 수도 있고 APM을 사용하여 Application 분석을 수행할 수도 있다. 그 중 Events 기능이 있는데, 일련의 Messages 들을 모아놓은 Record라고 생각하면 된다. Kubernetes에서 발생하는 Events들은 물론 그 외에 RDS Events 등이 포함될 수 있다. 아래는 Datadog Events 예시이다. Kubernetes에서 발생하는 이벤트들, Amazon Lambda 혹은 SNS, MongoDB 등 여러가지가 Source가 될 수 있다. 만약 이러한 Events들 중 특정 Content가 포함이 될 경우 알람을 받고..
[Elasticsearch] Nginx 로그 Fluentd를 통해 Elasticsearch로 보내기 Nginx의 로그를 Fluentd를 통해 취합하고, 이를 ElasticSearch로 보낸 다음 Kibana에서 Nginx의 Access Logs를 Dashboard로 시각화하여 확인할 수 있다. 실습 환경 - OS : CentOS7 - Container Runtime : Docker - Tool : docker compose [도구 소개] - Nginx 웹 서비스이며 리버스 프록시로써 많이 사용된다. - FluentD Log(데이터) 수집기(Collector)라고 생각하면 된다. Fluentd로 전달된 데이터는 ‘tag, time, record(JSON)으로 구성된 이벤트로 처리되며, 원하는 형태로 가공되어 다양한 목적지 (S3, ElasticSearch, ..)로 전달될 수 있다. 만약 더 적은 메모리..
[Fluentd] 로그 수집 패턴, Fluentd 개념 정리 (조대협님 블로그글 참고하여 작성) 데이터 및 로그 수집 플랫폼으로 EFK, ELK 스택이 많이 사용되고 있다. EFK는 Elasticsearch, Fluentd, Kibana를 의미하며 ELK는 Elasticsearch, Logstash, Kibana를 의미한다. Logstash는 아키텍처 적응에 대한 유연성와 연동 솔루션에 대한 호환성을 강조하고 있기 때문에 타 솔루션과 연동이 강하고, Fluentd는 아키텍처의 단순성과 이를 기반으로 하는 안정성을 초점에 두고 있다. Fluentd를 이용한 로그 수집 아키텍처 [1] 기동되고 있는 서버에서 로그를 수집하고 중앙 로그 저장소로 전송 [2] 각 서버에서 Fluentd가 수집한 로그를 다른 Fluentd로 보내서 이 Fluentd가 최종적으로 로그 저장소..

반응형