실시간으로 하드웨어 이벤트를 조회할 수 있는 시스템

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