Cloud19 [Tempo] Grafana Tempo 적용기 (2) 도입 배경기존에 Prometheus & Prometail + Loki 를 통해 로그, VM 메트릭 등의 데이터를 수집하고 Grafana를 이용한 시각 화를 통해 모니터링 기능을 구축하였었다. 추가적으로 이용자의 활동, 병목 구간 분석 등의 니즈가 있었고 이를 해소하고자 Trace를 모니터링을 위한 Tempo 데모를 구성하였다.그 과정에 너무 많은 삽질이 있었고, 정리가 필요해 보여 구성 과정에 대해 정리해 보려한다.OpentelemetryTempo에 대해 서치를 진행하였고, 그 결과 Opentelemetry라는 오픈 소스와 시너지가 좋다는 결론이 도출 되었다. Opentelemetry는 Agent와 Collector가 존재하며, Agent로 만으로 구성이 가능하지만 추후 유지 보수와 고도화를 고려하였을 .. 2024. 11. 19. [Tempo] Grafana Tempo 도입 (1) https://grafana.com/docs/tempo/latest/introduction/telemetry/grafana 공식 docs의 내용을 요약하면 아래 표와 같다분류용도설명prometheusmetrics메트릭은 시스템 상태에 대한 높은 수준의 그림을 제공합니다. 메트릭은 숫자 값이기 때문에 알려진 임계값과 쉽게 비교할 수 있기 때문에 메트릭은 백그라운드에서 지속적으로 실행되고 값이 예상 범위를 벗어날 때 트리거되는 경고의 기초입니다.lokilogs로그는 정보적 맥락을 만드는 단일 프로세스의 활동에 대한 감사 추적을 제공합니다. 로그는 더 높은 수준의 세부 정보를 제공하지만 상당히 더 많은 데이터 볼륨을 생성하는 대가를 치릅니다. 로그는 애플리케이션에서 무슨 일이 일어나고 있는지 알려줍니다.tem.. 2024. 11. 18. [Kafka] CDC 도입기 (1) Debezium Kafka Connector는 Apache Kafka의 확장 기능으로, 다양한 데이터 소스와 싱크 간의 데이터를 자동으로 연결하고 처리하는 데 사용됩니다. 주요 구성 요소 소스 커넥터 (Source Connector) 외부 시스템(예: 데이터베이스)에서 Kafka로 데이터를 읽어오는 역할을 합니다. 데이터베이스의 변경 사항을 실시간으로 감지하여 Kafka로 전송하는 Debezium이 있습니다. 싱크 커넥터 (Sink Connector) Kafka에서 데이터를 외부 시스템으로 전송하는 역할을 합니다. 예를 들어, Kafka의 데이터를 관계형 데이터베이스나 NoSQL 데이터베이스에 저장하는 커넥터가 있습니다. CDC (Changed Data Capture) 변경 데이터 캡처는 데이터베이스의.. 2024. 11. 18. Kustomize, Helm Chart 시스템 구축 Helm은 템플릿 엔진이고 Kustomize는 오버레이 메커니즘을 따릅니다.Helm Chart에서 템플릿된 YAML 파일을 불러옵니다.Kustomize 가 환경별(Dev,Stg,Live) 로 YAML 파일을 수정(Patch/Overlay) 합니다.완성된 Yaml 이 쿠버네티스에 배포됩니다. ARGOCD_MANIFEST 프로젝트ArgoCd에서 사용될 Gitops RepositoryName: Gitlab에 생성된 각 프로젝트 이름으로 생성됨 Kustomize: 배포 리소스 모듈화base:kustomization.yaml: helm chart 연동 규격에 대해 정의values.yaml: helm chart template 에서 사용할 변수값 정의dev, stg, prodkustomization.yaml: 개발.. 2024. 2. 9. [ArgoCD] K8S 환경에 ArgoCD 뿌리기! 도입 목적K8S에 배포되는 애플리케이션을 모니터링하기 위한 효과적인 웹 UI를 제공하는 동시에 더 빠르고 안전한 배포 지원을 하기 위해 도입하게 되었다. Architecture of Argo CDArgo CD는 실행 중인 애플리케이션을 지속적으로 모니터링하고 현재(라이브) 상태를 Git 리포지토리의 지정된 상태(원하는 대상 상태라고 함)와 비교하며 Kubernetes 컨트롤러로 구현되었습니다.현재 상태가 대상 상태와 다른 배포된 응용 프로그램은 동기화되지 않은 것으로 간주됩니다. Argo CD는 현재 상태를 원하는 대상 상태로 자동 또는 수동으로 다시 동기화하는 기능을 제공하면서 차이점을 보고하고 시각화합니다. Git 리포지토리에서 원하는 대상 상태에 대한 변경 내용은 자동으로 적용되고 특정 대상 환경.. 2024. 2. 9. [ArgoCD] Teams 연동기 구축 계기ArgoCD의 각 Application의 Health Check하여 teams로 알림을 발송하여 접속하여 확인하기 전까지 알 수 없는 불편함을 해결하고 배포 상황을 파악할 수 있도록 구성하게 되었다. Teams 컨넥터 설정1. 알림을 보내고자 하는 채널에서 컨넥터 선택 2. Incoming Webhook 구성 선택 3. Webhook의 이름과 보여질 이미지를 업로드 한다.4. 만들기를 누르면 아래와 같이 Webhook 링크가 생성된다.추후에 K8S에 배포 되어 있는 ArgoCD Secert에 넣어야 함으로 해당 링크를 잘 복사해 둔다. ArgoCD Config Map 설정Webhook URL 의 암호화를 위해 argocd-notification-secret 을 통해 주입을 받게 설정합니다.kin.. 2024. 2. 9. [AWS] Bastion을 이용한 Infra 구조 설계하기 인터넷 라우팅 1. 사용자가 웹 브라우저를 열고 www.site.com 에 대한 요청을 보냅니다. 2. www.site.com의 요청은 일반적으로 인터넷 서비스 공급자(ISP)가 관리하는 DNS 확인자로 라우팅됩니다. 3. ISP DNS 확인자는 www.site.com의 요청을 DNS 루트 이름 서버로 전달합니다. 4. DNS 확인자는 www.site.com의 요청을 이번에는 .com 도메인의 TLD(최상위 도메인) 이름 서버 중 하나로 다시 전달합니다. 도메인 이름 서버는 example.com 도메인과 연결된 Route 53 이름 서버 4개의 이름으로 응답합니다. DNS 해석기는 나중에 사용할 수 있도록 Route 53 이름 서버 4개를 캐시합니다. 5. DNS 해석기는 Route 53 이름 서버를 선.. 2023. 12. 12. 이전 1 2 다음