본문 바로가기

전체 글118

[Grafana] 특정 파드 지속 장애 시 Slack Alert 제작 메트릭을 관측하고 얻는 자료들은 비즈니스 적으로 많은 가치가 있으나, 실시간으로 발생하는 특정 이벤트에 대한 대처(서버 다운 등)를 하기 위하여 수집되는 모든 데이터들을 24시간 동안 지켜본다는 것은 비현실적이고 불필요한 일이다.  그렇기 때문에 수집을 통하여 얻은 데이터가 특정 조건을 충족하면 이벤트가 발생했다는 알람을 만드는 것이 가장 효율적이라고 볼 수 있다.  Prometheus / Grafana Stack에서는 Alertmanager 또는 Grafana에서 알람을 만들어서 협업 툴을 통하여 받을 수 있는데, 이번 글은 특정 알람을 설정하고, 이를 Slack에서 받는 방법에 대하여 알아볼 것이다. 1. Slack Webhook Slack은 협업 툴로 많이 사용되고 다양한 오픈 소스들과 통합하기도 .. 2024. 10. 28.
[Kafka] Producer의 최초 메시지 발행 지연 현상 사내에서 Kafka 클러스터를 구축하여 사용하던 중 특수한 현상을 발견하였다.  일정 시간이 지난 후 프로듀서에서 메시지를 발행을 하는데 새롭게 발행하는 첫 번째 메시지만 발행 시간이 상대적으로 오래 걸린다는 점을 알게 되었다.  첫 메시지 발행 시간이 오래 걸릴 때는 초단위까지 나오고 후속 메시지는 10ms 미만의 메시지가 발행되는 것을 확인하였고, 이와 관련된 정보를 찾아보았다.   https://stackoverflow.com/questions/64228639/why-kafka-producer-is-very-slow-on-first-message Why kafka producer is very slow on first message?I am using kafka producer to send pri.. 2024. 10. 23.
[EFK] 쿠버네티스 환경 내 Fluent-Bit 사이드카로 엘라스틱 서치 로깅 이전 글에서는 로그 수집기의 종류와 아키텍처를 알아보았다.   [ELK/EFK] 로그 수집 - Filebeat / Logstash / Fluentd / Fluent-bit최근에는 많은 기업들이 Elastic 재단의 ELK stack(또는 EFK stack)을 활용하여 로그를 수집하고 이를 시각화하여 운영 상 발생하는 이슈를 잡아내고 비즈니스 의사결정에 참고를 한다. 저번의 글에서ssnotebook.tistory.com  이번 글에서는 Fluent-Bit을 쿠버네티스 파드 내에서 사이드카 형식으로 구축을 하고, 수집한 로그 정보를 엘라스틱 서치로 바로 전송하는 과정을 알아볼 것이다. 사이드카란 사이드카란 이륜차 옆에 좌석을 설치하여, 두 사람이 함께 같이 탈 수 있게 한 유형의 이륜차를 의미한다.아래 사진.. 2024. 9. 13.
[Fluent-Bit] Parser Timezone 적용 Fluent-bit에서 Parser를 이용할 때, 이는 기본적으로  UTC를 기준으로 Timezone을 사용한다.  https://docs.fluentbit.io/manual/v/dev-2.2/pipeline/parsers/configuring-parser Configuring Parser | Fluent Bit: Official ManualSpecify the data type of parsed field. The syntax is types : : ... . The supported types are string(default), integer, bool, float, hex. The option is supported by ltsv, logfmt and regex.docs.fluentbit.io  .. 2024. 9. 11.
[Spring-boot] OpenJDK 64-Bit Server VM warning Spring boot에서 JDK를 17 버전으로 이용하면서 Gradle 빌드할 때, 아래와 같은 경고 문구가 발생했다. OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended   원인은 클래스 로딩 시 Class Data Sharing(CDS) 기능을 사용하면 발생하는 것으로 자료를 많이 볼 수 있었고, build.gradle에 간단한 옵션을 추가하여 해결할 수 있었다.  Troubleshoot 아래 사진과 같이 tasks.named('test) 내  옵션 한 줄을 추가해 주면 해결된다.   tasks.named('test') {.. 2024. 8. 22.
[Linux] 메모리 Buffer/Cache 비우기 이전 글에서는 컴퓨터 자원과 그 사용량을 확인할 수 있는 명령어를 알아보았다.  [Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인많은 사람들이 AWS에서 Ubuntu를 기반으로 EC2 인스턴스를 많이 생성해서 운용하는 것으로 알고 있는데, 운용함에 있어 알아두면 좋은 명령어들이다. 1. 메모리 확인 # 기본 명령어 $ free # 가독성을ssnotebook.tistory.com  서버에 Database나 Kafka와 같은 메시지 브로커를 올려서 IO가 많이 발생하게 된다면, 아래 사진과 같이 Buff/Cache가 많이 쌓이게 된다.   필요에 따라 쌓인 캐시를 비워줄 수 있지만, 캐시를 바로 비우면 데이터 손실이 일어날 수 있기에 아래 명령어를 통하여 캐시를 스토리지와 동기화를 시켜준다.. 2024. 8. 13.