ELK 프런트엔드 로그 분석, 모니터링 시스템

프런트엔드 로그는 백엔드 로그와 달리 사용자 정의 특성이 강하고 백엔드의 인터페이스 로그, 서버 로그 형식이 비교적 고정적이지 않다. 대부분의 성숙한 백엔드 프레임워크는 매우 완벽한 로그 시스템을 가지고 일부 분석 프레임워크를 빌려 로그의 감시와 분석을 실현할 수 있다. 이것도 운영 작업의 일부분이다.

ELK란 무엇입니까?


ELK는 서버 운영계에서 매우 성숙하게 운용되었을 것이다. 많은 성숙한 대형 프로젝트들은 ELK를 전단 로그 감시, 분석의 도구로 사용한다.
그러면 먼저 ELK가 무엇인지 알아보겠습니다. ELK는 실제로 세 가지 도구의 집합입니다.
  • E:Elasticsearch
  • L:Logstash
  • K:Kibana

  • 이 세 가지 도구는 각자 직책을 맡아 최종적으로 하나의 모니터링 구조를 형성한다.

    Elasticsearch


    ElasticSearch는 Lucene 기반 검색 서버입니다.이것은 RESTful 웹 인터페이스를 기반으로 하는 분포식 다중 사용자 능력의 전문 검색 엔진을 제공한다.Elasticsearch는 Java로 개발되었고 Apache 허가 조항의 오픈 소스로 발표되어 현재 유행하는 기업급 검색엔진입니다.디자인은 클라우드 컴퓨팅에 사용되어 실시간 검색에 도달할 수 있고 안정적이고 신뢰할 수 있으며 빠르며 설치와 사용이 편리하다.
    Elasticsearch를 사용하여 로그를 검색하고 분석합니다.

    Logstash


    Logstash는 로그와 이벤트를 관리하는 도구입니다. 로그를 수집하고 변환하며 로그를 해석하고 다른 모듈로 호출할 수 있습니다. 예를 들어 검색, 저장 등입니다.
    로그를 해석하고 저장하는 데 Logstash를 사용합니다.

    Kibana


    Kibana는 우수한 전단 로그 전시 프레임워크로 로그를 각종 도표로 상세하게 전환시켜 사용자에게 강력한 데이터 시각화 지원을 제공할 수 있다.
    우리는 Kibana를 사용하여 로그 데이터의 전시 작업을 진행한다.
    상기 세 가지 틀은 우리의 이 구조의 핵심을 구성했다.만약 당신이 이 구조를 더욱 이해하고 싶다면 그의 홈페이지에 가서 이해할 수 있다.
    https://www.elastic.co/
    여기에도 진실한 이야기가 하나 있다. Elasticsearch 프로젝트의 내력이다.
    Elasticsearch는 작가 Shay Banon의 첫 번째 개원 프로젝트인 Compass 라이브러리에서 유래한 것으로 이 자바 라이브러리의 최초의 목적은 Shay가 당시 요리사를 배우고 있던 아내에게 레시피를 만드는 검색엔진을 만들기 위해서였다.2010년에 Elasticsearch가 정식으로 발표되었다.지금까지 GitHub에서 가장 유행하는 자바 프로젝트가 되었지만, Shay가 아내에게 약속한 레시피 검색은 여전히 출시되지 않았다.
    말하자면, 정말 대상을 대상으로 프로그래밍을 하는...

    ELK 아키텍처 다이어그램


    다음 그림에서는 ELK가 무엇인지 잘 설명합니다.
    물론 이것도 가장 간단한 ELK 구조이다. 백엔드 운영 구조에서 이뿐만이 아닐 수 있다. 예를 들어 Kafka활이라는 Redis를 가입해야 한다. 여기서 우리는 너무 많은 토론을 하지 않고 가장 기초적인 구조만 토론한다.

    ELK 환경 구축


    어떤 동료가 나에게 ELK 환경을 설정하는 데 얼마나 걸리냐고 물었다. 나는 대략 20분이 필요하다고 말했다. 그리고 그 중에서 15분은 다운로드하고 있다고 말했다.
    현재 전체 ELK 프로젝트는 기본적으로 엘라스틱이라는 회사에 인수되었기 때문에 그의 공식 사이트에서 배치 가이드를 쉽게 찾을 수 있다.
    https://www.elastic.co/start
    이 설정 안내서에 따르면 기본적으로 ELK의 구축을 빨리 완성할 수 있습니다. 우리가 유일하게 해야 할 일은 Log를 찾아서 설정해서 그에게 보여주면 끝입니다.
    tar 패키지를 다운로드한 후 가능한 한 tar 명령을 사용하여 압력을 풀어 주십시오. 그렇지 않으면 제 동료 TT처럼 압력 해제 후 권한 때문에 오랫동안 괴롭힐 것입니다.

    Logstash 구성


    우선 Logstash의 파일 루트 디렉터리에 프로필을 만들어야 합니다. 예를 들어 다음과 같습니다.
    input {
        file {
            path => "/Users/xuyisheng/Downloads/temp/log.txt"
            ignore_older => 0
            sincedb_path => "/dev/null"
        }
    }
    output {
        elasticsearch{}
        stdout{}
    }

    이 설정은 제가 더 이상 말하지 않아도 여러분도 알 수 있을 거라고 믿습니다. 물론 이것은 매우 기본적인 설정입니다. 단지 고정된 파일에서 로그 정보를 읽고 elasticsearch에 쓰는 것일 뿐, 어떠한 처리 작업도 하지 않습니다.
    프로필을 작성한 후 다음과 같은 명령을 통해 Logstash를 시작하면 됩니다.
    ➜  logstash-5.0.1 bin/logstash -f logstash.conf

    시작하면 Logstash가 파일에서 정보를 읽습니다.

    Elasticsearch 및 Kibana 구성


    왜 Logstash는 내가 단독으로 말해야 하고, Elasticsearch와 Kibana는 내가 함께 말해도 됩니까?왜냐하면--이 두 개의 설정은 정말 너무 간단해서, 네가 어떤 것도 설정할 필요가 없을 정도로 간단하기 때문이다.
    Elasticsearch를 시작하려면 두 개의 명령만 있으면 됩니다.
    ➜  elasticsearch-5.0.0 bin/elasticsearch

    Kibana 시작:
    ➜  kibana-5.0.0-darwin-x86_64 bin/kibana

    OK, 프로그램 시작이 완료되면localhost:5601을 열면 Kibana의 인터페이스를 볼 수 있습니다.
    캡처 몇 장을 보여드리고 간단하게 그 강함을 느끼면 돼요.
    이것은 Kibana3의 인터페이스입니다.
    이것은 Kibana5의 인터페이스입니다. 여러분은 자신의 수요에 따라 다른 Kibana 버전을 선택할 수 있습니다. 어차피 설정은 한마디입니다.

    ELK의 강점


    ELK의 운영상의 장점에 대해 우리는 구체적으로 말하지 않는다. 무슨 분포식이냐, 무슨 메시지 대기열이냐, 메시지 캐시냐, 너무 많지만, 우리는 사실 너무 관심을 가지지 않는다.

    강력한 검색


    이것은 elasticsearch의 가장 강력한 기능입니다. 그는 분포식 검색 방식으로 빠른 검색을 할 수 있고 DSL의 문법을 지원하여 검색을 할 수 있습니다. 간단하게 말하면 유사한 설정 언어를 통해 데이터를 신속하게 선별하는 것입니다.

    강력한 디스플레이


    이것은 Kibana의 가장 강력한 기능이다. 그는 매우 상세한 도표 정보를 보여줄 수 있을 뿐만 아니라 맞춤형 전시 내용을 제공하여 데이터를 시각적으로 발휘할 수 있다.
    따라서 ELK의 이 두 가지 장점을 빌려 우리는 전단 로그의 분석과 모니터링을 강력한 장점을 보여줄 수 있다.

    ELK 사용 장면


    내가 아는 바에 의하면 현재 이미 매우 많은 회사들이 이 구조를 사용하고 있다. 예를 들어 시나, 배고프니, 휴대용 등이다. 이런 회사들은 모두 이 방면의 선구자이다.이 동시에 이 물건은 비록 뒷면이지만'타산지석으로 옥을 공격할 수 있다'. 우리는 이 구조를 앞면으로 빌려서 앞면 일지의 분석 작업을 사용할 수 있다. 마찬가지로 매우 편리하다.여기서 나는 자주 사용하는 사용 장면을 몇 개 들었다.
  • 업무 데이터 분석은 클라이언트의 데이터 수집 시스템을 통해 일부 업무 절차의 관건적인 절차, 정보를 백엔드에 수집하여 업무 절차의 분석을 할 수 있다
  • 오류 로그 분석은 Bugly와 유사하여 오류 로그를 보고한 후 백엔드에서 오류 집합, 분류 전시를 하고 오류 로그 분석을 할 수 있습니다
  • 데이터 경보는 ELK를 이용하여 감시 필드에 대해 경보 메커니즘을 구축하고 오류가 대규모로 발생하기 전에 경보를 할 수 있다

  • ELK의 기본적인 소개는 여기까지입니다. 사실 아직 말하지 않은 것이 많습니다. 예를 들어 Logstash를 사용하여 로그 내용에 대한 처리, 이미elasticsearch의 검색 문법 등입니다. 만약에 여러분이 관심이 있다면 아래에 글을 남겨도 됩니다. 관심 있는 사람이 비교적 많으면 저는 뒷글에서 진일보한 분석을 하겠습니다.
    1년에 한 번 열리는 CSDN 블로그의 별 선정이 또 시작되었습니다. 저에게 투표해 주신 것을 환영합니다.http://blog.csdn.net/vote/candidate.html?username=x359981514여러분의 지지가 있어야만 저는 더 좋은 글을 계속 쓸 수 있는 동력이 있습니다. 여러분의 지지에 감사드립니다.

    좋은 웹페이지 즐겨찾기