DevOps 4

ELK 스택으로 실시간 로그 수집 및 분석하기: Logback, Filebeat, Elasticsearch, Kibana Quick Starter

서비스를 운영하고 모니터링 하기 위해서 로그 수집은 중요하죠. ELK 스택의 간단한 소개와 사용 방법에 대하여 소개하겠습니다. 우선 로그를 분석하기 위해서는 DB에 쌓여있는 로그가 있어야겠죠. 로그를 수집하기 위해서 아래 것들을 사용할 겁니다.1. 로그 저장 라이브러리 : logback2. 파일로 저장된 로그를 읽어서 네트워크로 로그를 전송하는 프로그램 : filebeat3. 전송받은 로그를 저장하는 프로그램 : elasticsearch4. 로그를 보기쉽게 정렬하고 분석해주는 프로그램 : kibana 로그 저장 라이브러리 [Logback]log4j, slf4j 와 logback 등 여러가지 라이브러리가 있으나,spring boot 1.0.0 버전부터 spring boot starter에 포함된 logba..

DevOps 2024.08.18

Grafana로 실시간 서비스 모니터링: Actuator와 Prometheus Quick Starter

많이 서비스들을 사용하고 있는 Grafana를 이용해서 서비스 모니터링을 하는 방법을 소개하겠습니다. 서비스 모니터링을 하기 위해서 아래의 것들이 필요합니다. 1. 모니터링용 데이터를 생성하는 라이브러리 : Actuator 2. 모니터링용 데이터를 저장하는 Database : Prometheus 3. 모니터링을 위한 대시보드 : Grafana 워낙 내용이 많아서 간단하게 사용하는 방법만 보고 넘어가겠습니다.  모니터링용 데이터를 생성하는 라이브러리과거에는 모니터링을 위한 데이터를 각각 만들어서 모니터링 툴의 규격에 맞춰 넣어주었지만 요즘에는 다양한모니터링 툴들이 나와서 그것들을 다 사용할 수 있는 Micrometer 를 써보겠습니다. Micrometer 는 규격화된 인터페이스이고 Prometheus, G..

DevOps 2024.08.15

Kafka의 EOS 보장 및 성능 최적화 전략: Producer, Consumer, Broker 설정

1. EOS의 개념과 중요성EOS (Exactly Once Semantics)는 메시지 전송에서 메시지가 한 번만 전송되고 처리되는 것을 보장하는 전송 보증입니다. 다시 말해, 송신자와 수신자 사이에 데이터의 중복 또는 손실 없이 데이터가 한 번만 전송되는 것을 의미합니다. EOS의 중요성:데이터 중복성 제거: 중복된 메시지는 데이터의 무결성을 해칠 수 있습니다. EOS는 이를 방지하여 데이터의 정확성을 보장합니다.데이터 손실 방지: 손실된 메시지는 시스템의 안정성을 위협합니다. EOS는 모든 메시지가 제대로 전달되도록 보장합니다.자원 효율성: 중복 메시지를 처리하는 데 필요한 자원을 절약하여 시스템의 효율성을 높입니다.  2. Kafka에서 EOS를 어떻게 구현하는지Apache Kafka는 0.11.0..

DevOps 2023.08.08

반복적인 일을 자동화하자!! .1부 (시스템 점검 자동화)

회사에서는 출근 후, 퇴근 전 매일 하는일이 있다.바로 시스템 점검.. 우리 시스템이 잘 운영되고 있는지 모든 api를 점검한다. 지금까지 시스템을 점검하는 방법은 모두 Postman으로 한건한건 찔러보는 것이다.이중화 되어있는 서버를 모두 찌르기만해도 20분이 훌쩍... 보고서까지 작성하면 30분이 증발한다.. api서버를 모두 찌르기만 하는것도 아니다..api서버에서는 데이터를 잘 가져와도, api 뒤쪽에 있는 데이터 생성 서버가 3시간 전에 죽었으면api서버는 3시간 전의 데이터를 잘(code:200) 가져온다... 또한 데이터는 .svg 파일이다. 직접 사진을 열어 사진에 적힌 시간을 봐야한다. 매일 하는 반복적인 일에 30분이나 시간을 쓰는 것도 아깝고, 모든 api를 찌는것도 귀찮기 때문에일일..

DevOps 2023.04.01