1. 개요
Elastic에서 elasticsearch를 저장공간으로하여 다양한 제품들이 출시되고 있는데 그중에 beats 들을 이용하면 다소 귀찮은 일들을 손쉽게 처리할 수 있다.
이번 포스팅에서는 많은 beats 들 중 자원들을 모니터링 해주는 metric beat에 대해 설치해보고 결과화면을 확인해 보고자 한다.
2. 준비물
- elasticsearch
- kibana
- metric beat
* 버전은 최신버전 (6.1)을 기준으로 작성한다.
* 다운로드 : https://www.elastic.co/downloads/beats/metricbeat
* 필자는 ubuntu를 사용하고 있음으로 linux-64 bit 버전을 다운받았다.
3. 실행
- 다운로드 받은 파일을 설치하거나 압축을 풀고 실행해야한다.
- metric beat은 elasticsearch에 데이터를 저장해야하기 때문에 먼저 elasticsearch와 kibana를 실행해준다.
- elasticsearch
/home/user/work/elastic/bin/> ./elasticsearch -d |
- kibana
/home/user/work/elastic/bin/> ./kibana |
- metric beat
- kibana에 saved search와 dashboard를 추가하기 위해 setup을 먼저 해준다.
/home/user/work/metricbeat/> ./metricbeat setup -e |
- 실행
/home/user/work/metricbeat/> ./metricbeat -c metricbeat.yml -e |
4. 확인
문제없이 모든 데몬을 실행시켰다면 metricbeat이 모니터링하는 정보를 확인할 수 있다.
- metricbeat이 전송하는 데이터
2018 / 01 / 19 05 : 27 : 32.333111 metrics.go: 39 : INFO Non-zero metrics in the last 30s: beat.info.uptime.ms= 30000 beat.memstats.gc_next= 5994816 beat.memstats.memory_alloc= 3678176 beat.memstats.memory_total= 1336843960 libbeat.config.module.running= 3 libbeat.output.read.bytes= 9085 libbeat.output.write.bytes= 29844 libbeat.pipeline.clients= 6 libbeat.pipeline.events.active= 0 libbeat.pipeline.events.published= 45 libbeat.pipeline.events.total= 45 libbeat.pipeline.queue.acked= 45 metricbeat.system.cpu.events= 3 metricbeat.system.cpu.success= 3 metricbeat.system.load.events= 3 metricbeat.system.load.success= 3 metricbeat.system.memory.events= 3 metricbeat.system.memory.success= 3 metricbeat.system.network.events= 12 metricbeat.system.network.success= 12 metricbeat.system.process.events= 21 metricbeat.system.process.success= 21 metricbeat.system.process_summary.events= 3 metricbeat.system.process_summary.success= 3 2018 / 01 / 19 05 : 28 : 02.333097 metrics.go: 39 : INFO Non-zero metrics in the last 30s: beat.info.uptime.ms= 30000 beat.memstats.gc_next= 4847104 beat.memstats.memory_alloc= 3440536 beat.memstats.memory_total= 1355945168 libbeat.config.module.running= 3 libbeat.output.read.bytes= 9883 libbeat.output.write.bytes= 31932 libbeat.pipeline.clients= 6 libbeat.pipeline.events.active= 0 libbeat.pipeline.events.published= 49 libbeat.pipeline.events.total= 49 libbeat.pipeline.queue.acked= 49 metricbeat.system.cpu.events= 3 metricbeat.system.cpu.success= 3 metricbeat.system.filesystem.events= 2 metricbeat.system.filesystem.success= 2 metricbeat.system.fsstat.events= 1 metricbeat.system.fsstat.success= 1 metricbeat.system.load.events= 3 metricbeat.system.load.success= 3 metricbeat.system.memory.events= 3 metricbeat.system.memory.success= 3 metricbeat.system.network.events= 12 metricbeat.system.network.success= 12 metricbeat.system.process.events= 22 metricbeat.system.process.success= 22 metricbeat.system.process_summary.events= 3 metricbeat.system.process_summary.success= 3 2018 / 01 / 19 05 : 28 : 32.333110 metrics.go: 39 : INFO Non-zero metrics in the last 30s: beat.info.uptime.ms= 30000 beat.memstats.gc_next= 4612032 beat.memstats.memory_alloc= 2717080 beat.memstats.memory_total= 1374846424 libbeat.config.module.running= 3 libbeat.output.read.bytes= 9085 libbeat.output.write.bytes= 29805 libbeat.pipeline.clients= 6 libbeat.pipeline.events.active= 0 libbeat.pipeline.events.published= 45 libbeat.pipeline.events.total= 45 libbeat.pipeline.queue.acked= 45 metricbeat.system.cpu.events= 3 metricbeat.system.cpu.success= 3 metricbeat.system.load.events= 3 metricbeat.system.load.success= 3 metricbeat.system.memory.events= 3 metricbeat.system.memory.success= 3 metricbeat.system.network.events= 12 metricbeat.system.network.success= 12 metricbeat.system.process.events= 21 metricbeat.system.process.success= 21 metricbeat.system.process_summary.events= 3 metricbeat.system.process_summary.success= 3 2018 / 01 / 19 05 : 29 : 02.333105 metrics.go: 39 : INFO Non-zero metrics in the last 30s: beat.info.uptime.ms= 30000 beat.memstats.gc_next= 5296112 beat.memstats.memory_alloc= 3262032 beat.memstats.memory_total= 1394037504 libbeat.config.module.running= 3 libbeat.output.read.bytes= 9884 libbeat.output.write.bytes= 31872 libbeat.pipeline.clients= 6 libbeat.pipeline.events.active= 0 libbeat.pipeline.events.published= 49 libbeat.pipeline.events.total= 49 libbeat.pipeline.queue.acked= 49 metricbeat.system.cpu.events= 3 metricbeat.system.cpu.success= 3 metricbeat.system.filesystem.events= 2 metricbeat.system.filesystem.success= 2 metricbeat.system.fsstat.events= 1 metricbeat.system.fsstat.success= 1 metricbeat.system.load.events= 3 metricbeat.system.load.success= 3 metricbeat.system.memory.events= 3 metricbeat.system.memory.success= 3 metricbeat.system.network.events= 12 metricbeat.system.network.success= 12 metricbeat.system.process.events= 22 metricbeat.system.process.success= 22 metricbeat.system.process_summary.events= 3 metricbeat.system.process_summary.success= 3 |
- kibana
-- kibana의 config 를 수정하지 않았다면 http://localhost:5601 로 접속을 할 수 있을것이다.
- 상기 캡쳐는 host overview 대시보드를 캡쳐한것이다. 시스템의 자원 상황을 확인할 수 있다.
- 기타 docker, apache, mongo db, mysql 등 사용하고 있는 서비스 별로 전용 over view가 제공되니 해당 서비스를 사용하고 있으면 손쉽게 모니터링 대시보드를 구성할 수 있다.