하드웨어 로그는 사용자에게 어떤 일이 발생했는지 추적할 수 있는 가장 기본적인 수단입니다. 그러나 기존에는 로그가 서버에 Plaintext 파일로 저장되고 있어 원하는 시간대에 특정 하드웨어 로그를 찾는 것이 불편했습니다.
또한 하드웨어 로그에는 하드웨어 정보만 남아있기 때문에 배터리 시리얼 넘버나 QR 넘버와 같은 다른 부가적인 정보로 검색하는 것은 아예 불가능했습니다.
그래서 Kafka Streams를 이용하여 모든 하드웨어 이벤트에 부가 정보를 추가하여 Kibana에서 실시간으로 검색할 수 있도록 개발하였습니다.
•
부가적인 정보를 Kafka 이벤트로 받아 Kafka Streams에서 KTable 구성
•
하드웨어 이벤트를 Kafka 이벤트로 받아 Kafka Streams에서 KStream 구성
•
하드웨어 이벤트 KStream과 부가적인 정보 이벤트 KTable을 Join해서 반정규화된 하나의 이벤트로 Kafka에 재발행
•
Logstash가 재발행된 Kafka 이벤트를 받아 ElasticSearch로 보내 Kibana에서 조회할 수 있도록 함
•
특정 하드웨어가 연결된 서버를 찾고, Plaintext 로그를 검색하던 것에서 누구나 실시간으로 Kibana에서 하드웨어 로그를 검색할 수 있도록 개선
•
하드웨어 정보뿐만 아니라 배터리 시리얼 넘버나 QR 넘버와 같이 부가적인 정보로 하드웨어 로그를 검색하는 것이 가능해짐
•
하드웨어 로그를 바탕으로 Kibana 대시보드를 구성해 데이터 분석이 가능해짐