logstash에서 apache 액세스 로그를 elasticsearch로 보내고 kibana에서 그래프 표시

이 기사는 Elasticsearch Advent Calendar 2015 9일째입니다.
elasticsearch를 처음 사용해 보았습니다.

참고


  • Logstash Configuration Examples
  • logstash input plugin
  • logstash output plugin

  • 개념




    종류
    설명


    logstash
    이번에는/var/log/apache2/access.log를 감시. 추가가 있으면 elasticsearch로 보내기

    elasticsearch
    로그 데이터 축적

    kibana
    elasticsearch 로그 데이터를 분석하고 그래프화


    elasticsearch와 kibana 시작



    elasticsearch 시작(port9200,9300)
    docker run -d --name elasticsearch \
      -p 9200:9200 \
      -p 9300:9300 \
      elasticsearch
    

    kibana 시작 (port5601)
    docker run -d \
      --name kibana4 \
      --link elasticsearch:es \
      -e ELASTICSEARCH_URL=http://es:9200 \
      -p 0.0.0.0:5601:5601 \
      kibana
    

  • http://localhost:5601/ 로 이동하여 kibana 화면이 표시되는지 확인합니다.

  • logstash 다운로드



  • Download Logstash Free • Get Started Now | Elastic
  • deb 파일이 있으므로 다운로드, 설치
  • /opt/logstash/bin/을 PATH 통과시킨다.


  • 설정


  • 우분투에 Logstash 넣기 - Qiita

  • ~/test.conf
    input { file { path=> "/var/log/apache2/access.log" } }
    
    filter {
      grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
      }
      date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
        locale => "en"
      }
    }
    
    output {
      elasticsearch { hosts => ["localhost:9200"] }
    }
    

    configtest
    $ logstash --configtest -f test.conf
    Configuration OK
    

    실행 방법
    $ logstash -f test.conf
    

    kibana 그래프 설정








  • 오른쪽 상단에 save 버튼이 있으므로 눌러

  • 결론


  • 이 조합이라면 apache 이외의 로그도 간단하게 그래프화할 수 있네요.
  • 좋은 웹페이지 즐겨찾기