Gnoti

ELK설치 6편 (Metricbeat)

Metricbeat은 다양한 시스템 및 서비스 메트릭을 수집하여 지정된 출력 대상에 제공하는 경량 log수집기입니다.

Metricbeat은 사용자 환경의 다른 서버에 설치되며 성능 모니터링뿐만 아니라 서버에서 실행중인 다른 외부 서비스의 성능 모니터링에도 사용됩니다. 예를 들어, Metricbeat을 사용하여 시스템 CPU, 메모리 등을 모니터링하고 분석 할 수 있습니다. 

서버스펙

운영 서버에 필요한 CPU, RAM, 저장장치
  – OS : Centos 7
  – CPU : 4core
  – RAM : 4GB
  – JAVA : Openjdk 8

Metricbeat 설치

curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.4.2-x86_64.rpm

rpm -vi metricbeat-6.4.2-x86_64.rpm

# vi /etc/metricbeat/metricbeat.yml

kibana 대시보드, 수집된 데이터를 elasticsearch로 보내기 위한 설정

시스템 모듈 활성화

metricbeat modules enable system

Metricbeat 실행

#metricbeat setup

#metricbeat -e -c /etc/metricbeat/metricbeat.yml

Windows, Centos 복수대의 서버에 Metricbeat를 실행한 결과

ELK설치 5편 (Application Performance Monitoring)

안정적인 서비스 운영을 위해 꼭 필요한 APM(Application Performance Management)을 구성하여 현재 시스템의 어느 곳이 성능 병목 구간인지, 어떤 에러가 발생하는지 추적해보겠습니다.

APM 설치

APM서버 다운로드 및 설치

환경설정

vi /etc/apm-server/apm-server.yml

APM서버 실행

/usr/share/apm-server/bin/apm-server -c /etc/apm-server/apm-server.yml

APM Agent 다운로드

https://search.maven.org/search?q=a:elastic-apm-agent

https://search.maven.org/remotecontent?filepath=co/elastic/apm/elastic-apm-agent/0.7.0/elastic-apm-agent-0.7.0.jar

APM Agent 실행

java -javaagent:/home/min/elastic-apm-agent-0.7.0.jar -Delastic.apm.service_name=my-application -Delastic.apm.server_url=http://localhost:8200 -Delastic.apm.application_packages=org.example -jar my-application.jar

또는
 # vi /home/min/apache-tomcat-7.0.91/bin/catalina.sh 에 이하 내용 추가

APM Agent 서비스 실행 실패의 경우

서비스 기동후, Tomcat서버에서 ELK서버로의 connect 실패의 경우

ELK서버에서 # vi /etc/elasticsearch/elasticsearch.yml 

network.host: 0.0.0.0

변경 후, elasticsearch 재기동하면 접속 성공

ELK설치 4편 (Tomcat log Visualization)

CENTOS 7에서 ELK(ELASTICSEARCH, LOGSTASH, KIBANA, Beats)를 구축하고 TOMCAT서버 를 실시간 모니터링 하는 방법을 설명합니다.

Tomcat서버에서 수집된 로그를 kibana에서 모니터링 합니다.

수집된 데이터의 시각화

menu Visualize 선택 후, [Create a visualization] 클릭
Line, Area and Bar charts, Heat maps, Pie chart, Data table, Maps 등 다양한 차트 중, 파이 차트를 선택합니다.

파이차트에 표시할 데상 데이터 셋을 선택

Y축에 대한 메트릭 집계(Sum, Count 등)을 선택하고 실행 버튼을 클릭하면 원하는 데이터가 표시됨

ELK설치 3편 (Tomcat log monitoring with Kibana)

ELK설치 및 모니터링 테스트 3편

CENTOS 7에서 ELK(ELASTICSEARCH, LOGSTASH, KIBANA, Beats)를 구축하고 TOMCAT서버 를 실시간 모니터링 하는 방법을 설명합니다.

Tomcat서버에서 수집된 로그를 kibana에서 모니터링 합니다.

Kibana 로그인 화면

http://localhost:5601/

Elasticsearch Index 생성

 

1) Elasticsearch index, 2) Kibana index patterns

 

1) Elasticsearch Index

Health 상태

RED : 일부 또는 전부가 준비되지 않음.
YELLOW : Elasticsearch가 모든 기본 샤드를 할당했지만 복제본의 일부 또는 전부가 할당되지 않음
GREEN : 클러스터가 완전히 작동중.Elasticsearch는 클러스터 내의 시스템에 모든 샤드 및 복제본을 할당 할 수 있음

2) Kibana Index Patterns

Elasticsearch 색인의 데이터 시각화
index pattern 선택
filebeat로 수집된 데이터의 메터 정보 확인

Discovery menu에서 수집된 데이터 확인

수집된 데이터가 5초 간격으로 표시

Discover 페이지에서 대화식으로 데이터를 탐색 할 수 있고 선택한 색인 패턴과 일치하는 모든 색인에 대해 액세스 할 수 있습니다. 해당 데이터를 선택 할 경우, 수집된 상세 내용도 확인 가능 합니다.

ELK설치 2편 (Tomcat, Filebeat 설치 및 logstash연결)

ELK설치 및 모니터링 테스트 2편

CENTOS 7에서 ELK(ELASTICSEARCH, LOGSTASH, KIBANA, Beats)를 구축하고 TOMCAT서버 를 실시간 모니터링 하는 방법을 설명합니다.

1편에 이어서 tomcat서버에 beats를 설치하고 elasticsearch 와 kibana연동을 목표로 합니다.

BEATS 설치

filebeat 다운로드
# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.2-x86_64.rpm

filebeat 설치
# yum install filebeat-6.4.2-x86_64.rpm

filebeat 환경설정filebeat 다운로드
# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.2-x86_64.rpm

filebeat 설치
# yum install filebeat-6.4.2-x86_64.rpm

 filebeat 환경설정

# vi /etc/filebeat/filebeat.yml

filebeat.prospectors:

– input_type: log
paths:
– /home/min/apache-tomcat-7.0.91/logs/*.txt

output.logstash:
hosts: [“192.168.0.113:5044”]

filebeat 실행

 # /usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -d “publish”

ELK서버에서 logstash 실행

# /usr/share/logstash/bin/logstash -f /etc/logstash/tomcat.conf

ELK서버에서 tomcat서버의 로그 수집을 위한 환경 설정

/usr/share/logstash/bin/logstash -f /etc/logstash/tomcat.conf

# [Beats input plugin]
# listen on port 5044 for incoming Beats connections
input {
beats {
port => 5044
}
}

# The filter part of this file is commented out to indicate that it is
# optional.

filter {
grok {
match => [ “message” , “%{IPV4:clientIP} – %{NOTSPACE:user} \[%{DATA:timestamp}\] \”%{WORD:method} %{NOTSPACE:request} HTTP/1.1\” %{NUMBER:status} %{NUMBER:bytesSent}” ]
}
geoip {
source => “clientip”
}
}

# [Elasticsearch output plugin]
# index into Elasticsearch
output {
elasticsearch {
hosts => “localhost:9200”
manage_template => false
index => “%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}”
}
}

ELK설치 1편 (Elasticsearch,Logstash,Kibana) 설치

ELK설치 및 모니터링 테스트 1편

CENTOS 7에서 ELK(ELASTICSEARCH, LOGSTASH, KIBANA)를 구축하고 TOMCAT서버 를 실시간 모니터링 하는 방법을 설명합니다.

  • Beats 6.4.2 : 가벼운 데이터 수집기. 로그, 메트릭, 네트워크, 이벤트, 감사데이터, 가동시간 모니터링 등을 실시간 수집
  • Logstash 6.4.2 : 데이터 집계, 변환, 저장. 다양한 소스에서 동시에 데이터를 수집하여 변환한 후 분석, 변환하여 저장소(elasticsearch)에 전달
  • Elasticsearch 6.4.2 : 분산형 RESTful 검색 및 분석 엔진. 정형, 비정형 데이터, 위치정보, 메트릭등 다양한 데이터를 원하는 방식으로 검색하고 저장
  • Kibana 6.4.2 : 로그 검색, 관계 분석 등을 위한 인터랙티브 시각화 도구

목표 시스템 구성도.

서버스펙

운영 서버에 필요한 CPU, RAM, 저장장치
  – OS : Centos 7
  – CPU : 4core
  – RAM : 4GB
  – JAVA : Openjdk 8

Elasticsearch 설치

Elasticsearch 다운로드
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.rpm

Elasticsearch 설치
# yum install elasticsearch-6.4.2.rpm

kibana설치

kibana 다운로드
# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.2-x86_64.rpm

kibana 설치
# yum install kibana-6.4.2-x86_64.rpm

Logstash 설치

logstash 다운로드
# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.2.rpm

logstash 설치
# yum install logstash-6.4.2.rpm

kibana & elasticsearch & logstash 기동

[root@localhost min]# systemctl start elasticsearch

 

[root@localhost min]# systemctl start kibana

[root@localhost min]# systemctl start logstash

설치 관련 로그 위치

[root@localhost elasticsearch]# pwd
/var/log/elasticsearch
[root@localhost elasticsearch]# ls -al
합계 144
drwxr-x—. 2 elasticsearch elasticsearch 218 10월 11 00:56 .
drwxr-xr-x. 20 root root 4096 10월 11 00:15 ..
-rw-r–r–. 1 elasticsearch elasticsearch 8068 10월 11 00:56 elasticsearch.log
-rw-r–r–. 1 elasticsearch elasticsearch 0 10월 11 00:56 elasticsearch_access.log
-rw-r–r–. 1 elasticsearch elasticsearch 263 10월 11 00:56 elasticsearch_deprecation.log
-rw-r–r–. 1 elasticsearch elasticsearch 0 10월 11 00:56 elasticsearch_index_indexing_slowlog.log
-rw-r–r–. 1 elasticsearch elasticsearch 0 10월 11 00:56 elasticsearch_index_search_slowlog.log
-rw-r–r–. 1 elasticsearch elasticsearch 66276 10월 11 01:10 gc.log.0.current

ELK설치

ELK설치 및 모니터링 테스트

개요.

CENTOS 7에서 ELK(elasticsearch, logstash, kibana)를 구축하고 Tomcat서버 를 실시간 모니터링 하는 방법을 설명합니다.
  • Beats 6.4.2 : 가벼운 데이터 수집기.  로그, 메트릭, 네트워크, 이벤트, 감사데이터, 가동시간 모니터링 등을 실시간 수집
  • Logstash 6.4.2 : 데이터 집계, 변환, 저장. 다양한 소스에서 동시에 데이터를 수집하여 변환한 후 분석, 변환하여 저장소(elasticsearch)에 전달
  • Elasticsearch 6.4.2 : 분산형 RESTful 검색 및 분석 엔진. 정형, 비정형 데이터, 위치정보, 메트릭등 다양한 데이터를 원하는 방식으로 검색하고 저장
  • Kibana 6.4.2 : 로그 검색, 관계 분석 등을 위한 인터랙티브 시각화 도구

목표 시스템 구성도.

서버스펙

운영 서버에 필요한 CPU, RAM, 저장장치

OS   : Centos 7
CPU : 4core
RAM : 4GB
JAVA : Openjdk 8

Elasticsearch 설치
Elasticsearch 다운로드
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.rpm

Elasticsearch 설치
# yum install elasticsearch-6.4.2.rpm


	

IT Automation

시스템의 인프라 환경의 가상화, 클라우드화 처럼 복잡하게 변화고 있는 IT 환경
또한 복잡한 인프라 환경에 대해 적은 인원으로 높은 품질을 유지하기 위해서는 운영의 효율성 향상을 높입니다.

•IT 서비스 운영을 위해 필요한 각종 작업을 시스템 운영자가 직접 수행.

•한 번에 하나의 대상 시스템에 대해 하나의 작업만 가능.

•관리 대상 인프라가 많아지면 질수록 시간이 더욱 지체됨.

•전체 장애의 대다수가 사람의 수작업과 관련되어 있으며, 장애 조치도 주로 수작업으로 진행.

•근본적인 원인은 사람의 실수.

•IT 서비스 운영을 위해 필요한 각종 작업을 자동화로 대체

•한 번에 여러 대상 시스템에 대해 여러 작업을 동시에 진행 가능.

•관리 인프라가 많아도 간단하게 운영 가능

•수작업으로 인한 장애를 순서도에 의한 처리로 변경함으로서 장애율 최소화

•사람의 실수를 최소화

Data Visualization

의미 없는 로그와 같은 데이터를 가치를 지닌 시각화 자료로 구성 

  • 모든 유형의 정형 및 비정형 데이터에서 실시간으로 수집 및 분석, 그리고 서비스 상태의 모니터링
  • 다양한 형태의 데이터 분석도구 제공(Graph를 통한 시계열 분석, 위치정보와 지도의 결합 등)
  • 신속한 보안 분석(의심스러운 접속, 변칙적인 접속 등의 다양하고 예측 불허의 위협 탐지)
  • 실시간 검색 및 분산, 확장, 병렬처리 그리고 빅 데이터 지원
  • 시스템의 각종 수치 정보, 로그, 네트워크, 감사정보를 수집 및 색인
  • 비정형 데이터로부터 구조형 데이터 도출, 데이터 해독, 필터링