ELK 조합에 beats 이 더해져서 ELK Stack 5.0 이 출시 예정.

 

Beats 은 다양한 형태로 발생하는 로그들을 부하없이 전송할 수 있는 도구로 각광~

(서버 모니터링은 topbeat,  그 외 패킷은 packetbeat 등~ 다양하게 있으며 아래 참고)

 

실제 기존에 설치되어 있는 ELK 환경에  Linux 용 topbeats 을 설치하고

Elastic Search 서버의 IP:Port 만 입력하고 topbeats 프로세스 기동하니

해당 서버에 대한 자원 데이터 수집이 실시간으로 가능~~ 적재 / 대시보드를 통해 확인~~ 가능

(물론 대시보드는 파일을 땡겨오던~ 구성을 하던~ 하면 되는거니 ^^_)

 

아래는 topbeats 을 통해 구현한 Sample Dashboard이며, 다양한 형태의 모니터링 대시보드 구성이 가능한 것을 볼 수 있음

 

- Topbeat 대시보드

 

 

- 다양한 형태의 대시보드들 (topbeat 포함)

 

- topbeat 에서 추출되는 Tag 정보는 아래와 같음

 

_score
count
cpu.idle
cpu.iowait
cpu.irq
cpu.nice
cpu.softirq
cpu.steal
cpu.system
cpu.system_p
cpu.user
cpu.user_p
fs.avail
tfs.device_name
fs.files
fs.free
fs.free_files
tfs.mount_point
fs.total
fs.used
fs.used_p
load.load1
load.load15
load.load5
mem.actual_free
mem.actual_used
mem.actual_used_p
mem.free
mem.total
mem.used
mem.used_p
tproc.cmdline
tproc.cpu.start_time
proc.cpu.system
proc.cpu.total
proc.cpu.user
proc.cpu.user_p
proc.mem.rss
proc.mem.rss_p
proc.mem.share
proc.mem.size
tproc.name
proc.pid
proc.ppid
tproc.state
tproc.username
swap.free
swap.total
swap.used
swap.used_p
ttype

 

- 위의 다양한 Dashbard Import 는 아래와 같이 수행

  1) beats-dashboards-1.2.3.zip 파일 업로드

  2) 압축 하제

  3) load.sh 수정#!/bin/bash

# Usage examples:
# env KIBANA_INDEX='.kibana_env1' ./load.sh
# ./load.sh http://test.com:9200
# ./load.sh http://test.com:9200 test


# The default value of the variable. Initialize your own variables here
ELASTICSEARCH=http://10.62.204.242:8531

 

# The default value of the variable. Initialize your own variables here

  4) 정상적으로 Dashboard 들이 Load 가 되면 아래와 같은 로그 확인이 가능함

[root@elasticlogh beats-dashboards-1.2.3]# ./load.sh
Loading dashboards to http://10.62.204.242:8531 in .kibana
{"error":{"root_cause":[{"type":"index_already_exists_exception","reason":"already exists","index":".kibana"}],"type":"index_already_exists_exception","reason":"already exists","index":".kibana"},"status":400}{"acknowledged":true}Loading search Cache-transactions:
{"_index":".kibana","_type":"search","_id":"Cache-transactions","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}
Loading search DB-transactions:
{"_index":".kibana","_type":"search","_id":"DB-transactions","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}
Loading search Default-Search:
{"_index":".kibana","_type":"search","_id":"Default-Search","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}
Loading search Errors:
{"_index":".kibana","_type":"search","_id":"Errors","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}
Loading search Filesystem-stats:
{"_index":".kibana","_type":"search","_id":"Filesystem-stats","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}
Loading search HTTP-errors:

 

5) Kibana Dashbaord 에서 정상적으로 Load 되었는지 확인