로그 모니터링 서비스를 만들 때까지 Docker에서 Elastic Stack을 실행합니다. - 프리젠테이션

배경.
사소한 일은 그만두고, 어쨌든 한번 움직여 보고 싶다!이런 사람을 향해.
완성품이 준비되어 있기 때문에 그것을 돌려보려는 시위 행진을 해야 한다.
할 수 있는 일
이 투고는 어떻게 시리즈화된 시리즈 보도의 번외편을 만들었는가!
다른 기사도 가능하면 꼭 보세요.

  • Elastic search 편: Docker에서 Elasticsearch를 시작하고 실제 가동 시험

  • 키바나 편: Docker에서 Kibana를 시작하여 데이터를 시각화

  • Filebeat 편: Filebeat를 이용하여 Kibana로 로그 파일을 표시

  • 스프링 부트 편: 로컬에서 간단한 Spring 웹 응용 프로그램을 실행하고 로그를 작성하여 키바나를 통해 시각화
  • 데모 편: 먼저 최종 품목 이동
    절차.
    1. 설치
    그럼 이 프로젝트를 바로 다운로드할게요.
    먼저terminal로 가서 아래처럼 프로젝트를 복제하세요.
    그런 다음 루트 디렉토리로 이동하여 docker-compose로 Elastic Stack을 시작합니다.
    git clone https://github.com/sgr0416st/elastic-docker-demo.git
    cd elastic-docker-demo
    docker-compose up --build
    
    2. Spring Boot 응용 프로그램 시작
    다음은 프로젝트에logging-demo라는 하위 항목이 존재해야 하기 때문에 당신이 좋아하는 IDE로 이것을 열어 보세요.(마벤트 명령을 직접 build Jar로 실행하는 방법도 사용할 수 있습니다.)
    이것은 maven이 관리하는 Spring Boot 응용 프로그램입니다. http://localhost:8080 에 접근하면 yyyy-MM-ddThh:mm:ss.SSS: return response 형식으로 현재 시각의 로그를 logs/logging-demo합니다.로그로 출력하고 Hello, World 문자열로 되돌아오는 간단한 단점이 있습니다.
    지금 시작하면logs/폴더 내logging-demo입니다.log 이 파일이 잘 생성되었는지 확인하고 계속 진행하십시오.
    3. 실행 여부 확인
    이후 filebeat가 로그를 읽고 데이터를 Elasticsearch에 보낼 수 있는지 확인하기 위해 filebeat에서 만든 색인 모드의 로그가 있는지 확인하는 요청을 보냅니다.
    새 터미널에서 다음 명령을 입력하고 실행하십시오.
    curl -XGET "http://localhost:9200/filebeat-*/_search" -H 'Content-Type: application/json' -d'
    {
      "query": {
        "match_all": { }
      },
      "sort": [
        {
          "@timestamp": "desc"
        }
      ]
    }'
    
    다음과 같은 반응을 얻을 수 있다면 성공할 것이다.
    {
      "took" : 4,
      "timed_out" : false,
      "_shards" : {
        "total" : 1,
        "successful" : 1,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : {
          "value" : 4,
          "relation" : "eq"
        },
      ...
    
    4. Kibana에 로그 데이터 표시
    다음은 Kibana에 index pattern을 수동으로 등록하는 것은 처음이기 때문에 Kibana(http://localhost:5601)를 방문하여 홈페이지 왼쪽 상단의 아이콘에서 Stack Management > Index Pattern으로 가서Create Index Pattern을 선택하십시오.

    다음에 "sel"표시줄에서 filebeat-*를 선택한 다음 계속하십시오.

    그리고timefield 표시줄 아래 선택@timestamp에서 index pattern을 만듭니다.

    이렇게 하면 무난하게 준비되므로 메뉴에서 Analytics Discover로 이동하십시오.

    왼쪽 드롭다운 메뉴에서 만든 index pattern이 선택되었는지 확인합니다.
    이후 파일 비트를 실행하는 날의 0:00 ~ 다음날의 0:00으로 검색 범위를 설정하고 검색합니다.


    이왕 이렇게 된 이상 검색창에 넣어서refresh를 보세요.
    이 키워드와 일치하는 일지는 아직 찾지 못했을 것이다.

    마지막으로 방문해 보세요http://localhost:8080.
    그리고 응용 프로그램 측에서 yyyy-MM-ddThh:mm:ss.SSS: return response라는 형식의 로그를 생성하는데 이것은 키바나에 반영될 것이다.30초가량 기다렸다가 키바나를 다시 열고 refresh 버튼을 누른다.(기본적으로 filebeat에서 로그를 읽는 시간은 30초 간격)

    이렇게 검색 결과를 바꿔서 새로운 로그를 얻을 수 있는 여러분, 축하합니다!!
    이렇게 하면 Docker에서 Elastic Stack을 이동하여 Spring Boot 응용 프로그램의 로그를 감시하는 방법을 체험할 수 있다.
    처음부터 하고 싶다면 이 시리즈의 다른 기사를 꼭 보세요!
    마지막으로 컨테이너를 깨끗이 치워라.
    docker-compose down -v --rmi local
    
    프로젝트 URL 완료

    좋은 웹페이지 즐겨찾기