개발일지/ELK2024. 4. 26. 20:18아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)

이전 글아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)Logstash란?실시간 파이프라인 기능을 갖춘 오픈소스 데이터 수집 엔진이다. 수집한 데이터를 정제하고 저장소에 전달한다.로그스태시(Logstash) 이벤트 처리 파이프라인은 입력(input), 필터(filter), 출력(output)의 실행을 조율한다. Logstash 파이프라인의 각 입력 단계는 고유한 thread에서 실행된다. Input은 메모리 또는 디스크에 위치한 중앙큐에 이벤트를 기록한다. 각 파이프라인 worker thread는 이 큐에서 일괄 이벤트를 가져와 구성된 필터를 통해 이벤트 일괄 처리를 실행한 다음, 필터된 이벤트를 Output으로 전달한다. 파이프라인 ..

개발일지/ELK2024. 4. 26. 20:14아파치 로그 모니터링 시스템 구축하기 - Logstash filter (ELK)

이전 글 참고아파치 로그 모니터링 시스템 구축하기 - 개요(ELK) 아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)현재 운영 중인 프로젝트 서버의 로그를 모니터링하고자 ELK 파이프라인을 구축했다. 그래서 서비스 ELK 파이프라인 구축하기 전, 시험 삼아 apache 로그 모니터링 시스템을 구축했던 과정을 블로gani-dev.tistory.com아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK) 아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)이전 글 참고 !아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)Filebeat이란?Elsastic 서비스인 Beats의 서비스 중 하나이며, 로그 데이터를 수집하고 전달하는 역할을 한다. Filebeat는 지정한 로그 파..

아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)
개발일지/ELK2024. 4. 25. 19:58아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)

이전 글 참고 !아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)Filebeat이란?Elsastic 서비스인 Beats의 서비스 중 하나이며, 로그 데이터를 수집하고 전달하는 역할을 한다. Filebeat는 지정한 로그 파일 또는 위치를 모니터링하여 로그 이벤트를 수집해 Elasticsearch 또는 Logstash로 전달한다.Filebeat이 작동하는 방법?Harvesters를 이용하여 로그를 읽고 libbeat를 이용하여 원하는 output으로 전달한다.Harvesters는 특정 로그 파일에서 새로운 내용을 읽고 수집한다. 각 Harvesters는 지정된 로그 파일을 모니터링하고 변경된 부분을 감지하여 변경된 내용(로그 데이터)를 libbeat으로 보낸다.libbeat은 이벤트를 집계하고, 원하..

아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)
개발일지/ELK2024. 4. 25. 16:27아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)

현재 운영 중인 프로젝트 서버의 로그를 모니터링하고자 ELK 파이프라인을 구축했다. 그래서 서비스 ELK 파이프라인 구축하기 전, 시험 삼아 apache 로그 모니터링 시스템을 구축했던 과정을 블로그에 우선 기록해 보려고 한다. 로그 모니터링 시스템을 구축하는 이유?현재 작은 서비스를 운영 중인데, 로그를 수집하여 어떤 버그와 장애가 발생하는지 확인하고자 구축했다. 또한 로그 모니터링 시스템을 구축하게 된다면, 원하는 로그들을 따로 수집하여 데이터 주도 서비스 운영에 도움이 되었으면 하는 마음으로 구축했다. ELK 이란?Elastic search + Logstash + Kibana의 약자로 Elastic Stack이며, Elastic Stack은 모든 유형의 데이터를 대규모로 수집, 분석, 검색 및 시각..

BastionHost를 이용한 EC2 SSH 접속
개발일지2024. 4. 7. 16:24BastionHost를 이용한 EC2 SSH 접속

1. BastionHost란? 보호된 네트워크에서 유일하게 외부에 노출되는 내외부 네트워크의 연결 호스트를 말한다. 즉 내부 네트워크의 문지기 역할과 같다. 내부 보호된 네트워크는 외부 네트워크와 연결될 수 없지만, 내부 네트워크와는 연결이 가능하다. BastionHost는 외부 네트워크와 연결 가능하게 만들어 내부 네트워크까지 연결할 수 있게 한다. 외부 네트워크 - Bastion Host - 내부 보호된 네트워크 2. BastionHost를 통해 EC2를 접속하게 된 계기 이번에 맡은 프로젝트의 AWS 환경을 구성하게 되었다. 그때 WAS 서버 보안을 위해 EC2를 Private Subnet에 위치하게 끔하였다. Private Subnet에 위치하게 된다면, 외부 네트워크를 받을 수 없게 되어 외부에..

테스트 H2 DB DATEDIFF 메서드 안됨
개발일지2024. 2. 7. 21:48테스트 H2 DB DATEDIFF 메서드 안됨

문제 JPQL 쿼리에서 DATEDIFF 함수를 사용하였는데 테스트 과정 중에 오류가 발생했다. expected "date-time field"; SQL statement: 서버에서는 Mysql을 이용하고 있고, 테스트는 H2 를 이용하고 있었다. H2의 DATEDIFF는 MySQL과 달리 date-time 필드를 필요했고, DBMS마다 메서드 파라미터 값이 달라야한다는 사실이 아찔했다. 그래서 모든 DB가 동일하게 사용할 수 있는 방법을 찾고자 했다. 해결방법 ALIAS 생성 H2 의 기존 DATEDIFF를 제거하고, ALIAS로 만들어 테스트에만 적용하고자 하였으나 기존의 DATEDIFF를 제거 또는 변경할 수 없어 실패 다른 메서드 찾기 DATEDIFF를 대체할만한 다른 메서드를 찾던도중 TIMEST..

개발일지2024. 1. 28. 12:33[개발일지] 접속관련 FCM 메세지 전송 기준 개선

2024.01.27 개발내용 FCM 메세지 전송 기준 개선 현재 상황 현재 운영 중인 서비스는 매일 6시마다 오늘 접속하지 않은 유저에게 FCM 메세지를 보낸다. 이러한 과정이 매우 비효율적일뿐만 아니라, 지속된 메세지로 불편함을 느끼는 유저들이 있어 이를 개선하고자 한다. 개선 최근 접속일을 기준으로 유저에게 다른 메세지를 전달할 예정이다. 최근 접속이 어제인 유저 최근 접속이 3일 전인 유저 최근 접속이 7일 지난 유저 최근 접속이 2주 지난 유저 최근 접속이 한달 지난 유저 로직 유저 테이블을 조회해, 최근 접속일이 [1일,3일,7일,7일,2주,한달] 지난 유저를 조회한 후 해당 유저에 대한 FCM 토큰을 가져온다. FCM 메세지의 title과 Body를Enum으로 관리해 접속하지 않은 기간에 따라..

우분투 mysql 한글 깨짐
개발일지2023. 4. 6. 14:56우분투 mysql 한글 깨짐

mysql에서 한글 깨짐 현상이 발생했다. 현재 문자셋이 어떻게 저장되어 있는지 확인을 해보니? show variables like 'c%'; utf8말고 latin1이 여기저기 있었다,,, 설정 파일을 열어 하단에 코드를 추가해준다. my.cnf는 Unix 계열의 MySQL엔진에서 사용하는 configure 파일로, MySQL 서버는 단 하나의 설정 파일(my.cnf)만 사용한다. vim /etc/mysql/my.cnf [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-s..

image