[ELK Stack] 4. Metricbeat로 System Monitoring
IT/Etc

[ELK Stack] 4. Metricbeat로 System Monitoring

728x90
반응형

ELK Stack 목차

 

1. Metricbeat란?

Metricbeat를 이용하면 시스템과 서비스에서 메트릭 정보를 손쉽게 수집할 수 있다.

Cpu, Memory, File system, Disk IO, Network IO 등과 시스템에서 실행되는 모든 프로세스에 대한 통계를 수집하여 전송한다.

또한 기본적으로 내장되어 있는 모듈은 Apache, Jolokia, NGINX, MongoDB, MySQL, PostgreSQL, Prometheus 등의 다양한 서비스로부터 메트릭을 수집하며, 원하는 모듈이 없다면 Go Language로 새로운 모듈을 간단하게 생성할 수도 있다.

 

2. Metricbeat 설치

이전 게시글에서는 yum으로 ELK stack을 설치했지만 이번에는 download 받아서 설치한다.

$ curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.10.2-x86_64.rpm
$ sudo rpm -vi metricbeat-7.10.2-x86_64.rpm

 

3. Metricbeat 설정

/etc/metricbeat/metricbeat.yml 파일을 아래와 같이 설정한다.

 

Kibana

# =================================== Kibana ===================================

# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
# This requires a Kibana endpoint configuration.
setup.kibana:

  # Kibana Host
  # Scheme and port can be left out and will be set to the default (http and 5601)
  # In case you specify and additional path, the scheme is required: http://localhost:5601/path
  # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
  host: "3.35.108.182:5601"

  # Kibana Space ID
  # ID of the Kibana Space into which the dashboards should be loaded. By default,
  # the Default Space will be used.
  #space.id:

구축된 Kibana dashboard를 사용하기 위해 Kibana endpoint를 설정해주면 된다.

 

Elasticsearch Output

# ================================== Outputs ===================================

# Configure what output to use when sending the data collected by the beat.

# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["3.35.108.182:9200"]

  # Protocol - either `http` (default) or `https`.
  #protocol: "https"

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "elk-user"
  password: "P@ssword!"

# ------------------------------ Logstash Output -------------------------------
#output.logstash:
  # The Logstash hosts
  #hosts: ["localhost:5044"]

  # Optional SSL. By default is off.
  # List of root certificates for HTTPS server verifications
  #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]

  # Certificate for SSL client authentication
  #ssl.certificate: "/etc/pki/client/cert.pem"

  # Client Certificate Key
  #ssl.key: "/etc/pki/client/cert.key"

Elasticsearch 또는 Logstash Output을 설정할 수 있다.

Filebeat 실습 때 Logstash를 통해 Elasticsearch로 보내봤으니, 이번에는 바로 Elasticsearch로 보낸다.

 

4. Kibana Dashboard 설정

$ metricbeat setup --dashboards

 

5. Metricbeat 실행

기본 초기화 셋팅

$ metricbeat setup -e

 

서비스 활성화

$ sudo systemctl enable metricbeat

$ sudo chkconfig --add metricbeat

 

시작

$ sudo systemctl start metricbeat

 

6. Elasticsearch Index 확인

$ curl localhost:9200/_cat/indices?v

 

7. Kibana 확인

우선 metricbeat-* Index Pattern을 만들어야 한다.

 

7.1 Kibana Discover

 

7.2 Kibana Dashboard

metricbeat의 kibana dashboard template를 다운받았기 때문에 Dashboard에 들어가면 수많은 템플릿이 기본적으로 제공된다.

 

이중 기본적인 [Metricbeat System] Host overview ECS 템플릿이다.

 

기본 템플릿 만으로도 충분히 활용 가능하며, 추가로 커스터마이징 하여 입맛에 맞게 변경할 수 있다.

 

 

Reference

728x90
반응형