티스토리 뷰

구조도

구성품

프로세스

  1. IoT 기기에서 MQTT 프로토콜로 MQTT Broker 에 hello-kafka 토픽에 데이터 전송(=pub).

  2. Kafka Producer 인 Kafka bridge 에서 MQTT Broker (종류 중 Emqx 사용함)의 hello-kafka 토픽을 sub 하고 있는 상태이며,
    pub 된 데이터를 kafka cluster 의 hello-kafka-cluster 토픽으로 전달(=produce).

  3. kafka cluster의 hello-kafka-cluster 토픽에 Kakfa consumer (종류 중 Logstash 사용함)를 걸어놓았으므로,
    kafka cluster 의 해당 토픽으로부터 데이터를 꺼내서 Elasticsearch 로 던져줌(=consume).

  4. Kibana 의 Timelion 그래프로 Elasticsearch 에 쌓인 IoT 데이터 1초 단위 확인.

Kibana

Timelion 쿼리 예: .es(metric=avg:column1, interval='1s')

Docker 셋팅

Docker 셋팅 사례

emq-kafka-elk.zip

다운받은 파일을 특정 폴더를 만들어 압축을 풀어주시고
콘솔에서 docker-compose up -d 명령 실행.

단일 노드(=호스트)에 docker-compose 를 사용하여 docker container 들로
서비스들 띄워지도록 셋팅함.

Web UI

  • EMQ
    • localhost:18083
  • Kafka manager
    • localhost:9000
  • Kibana
    • localhost:5601
  • Grafana
    • localhost:3000


댓글