elktail 사용 및 활용

SYSTEM/TECH / /
반응형

elktail 사용하기 


1. elktail 은 ELK(elasticsearch+logstash+kibana) 기반 로그에 대한 명령줄 (Command Line) 유틸리티.  

2. CLI 기반에서 Lucene Query 및 tail 기능으로 오류 및 특정 이벤트를 검색 할수 있음.


kibana 웹 인터페이스를 사용하여 로그 검색이 가능하나 가끔 아래와 같은 상황에서 유용하게 사용할수 있음.



 - 실시간으로 CLI 에서 로그 분석을 원할때


 - 검색 결과를 파일로 직접 Redirection 하고 싶을때


 - CLI 명령행으로 특정 기간 및 특정 index 로그를 출력할때

   * curl + json 으로 가능하나 좀더 간결한 문법을 원할때


 - 개인적으로는 X-Pack (모니터링 알람기능 등등) 대안으로 사용중




1) 설치

  

   구글링 (필자는 binary file 직접 download  https://github.com/knes1/elktail/releases )

   GO 언어 패키지가 설치 되어 있어야함


2) 기본 Queries 사용법


   - elktail keyword  (특정 단어 검색)


   - elktail event_id:6006  (특정 필드의 특정 단어 검색)


   - elktail -f '%@timestamp %log'  (시간 및 log 필드 만 출력)


   - elktail --url  "http://xxxx.example.com:9200"  (elasticsearch java port 접속)


   - elktail host:xxx.xxx AND level:error ( AND 연산 가능 OR도 사용가능)


   - elktail -i "winlogbeat-[0-9].*" host:AA01.xx.com  (특정 index 지정하여 검색)


   - elktail -a 2017-06-05T01:15 -b 2017-06-05T10:15  (특정 시간대 지정하여 로그 검색  -a: after  -b: before )


   - 이외에도 다양한 옵션이 있음 elktail --help  참고


   - 사용 예

      

    * 6월 5일 00시 부터 ~ 6월 5일 10시 15분 사이의 / windows event 6006 1074 6008 5120 (hyper-v 클러스터) 이벤트를

      / 시간, 호스트이름, 이벤트 ID, message 형식으로 출력


         UTC 기준시로 출력됨




3) 활용 


   A. 서버군 모니터링 

      

     윈도우 호스트 서버 종료 및 비정상 종료 모니터링 하기


     윈도우 호스트 서버 (중요 event ID만) winlogbeat -> elastic 저장 -> 특정 Event ID -> Script 감시 (elktail) -> 

     -> mail, slack alerting (notification)


     * elastic 은 timestamp 가 UTC 기준으로 저장됨 ( 그런 이유로 export TZ=UTC )      





- Notification Mail , Slack (다른 push App 으로 알람 가능)

   

* mail alert


* slack alert   



   B. 장비 모니터링 

  

    스토리지,스위치등 -> 리눅스 rsyslog -> filebeat -> logstash -> elastic 저장 -> 특정 키워드 발생시 -> Script 감시 (elktail)  -> alerting 

       

   

모니터링할 인프라 시스템 들의 LOG를 -> elastic 에 저장만 제대로 한다면 위와 같은 방법으로 

elktail 도구를 활용하여 간단하게 모니터링이 가능하다.


     









반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기