수호신

5853 단어 debugging

큰뿔 사슴 창고는 로그 데이터를 수집하고 집합하며 분석하는 데 자주 사용하는 방법이다.나는 대형 기업과 소규모 단체가 그것을 사용하는 이유는 소스 오픈 소프트웨어를 사용하고 위탁 관리 또는 위탁 관리 서비스를 사용할 수 있기 때문이라고 생각한다. 이것은 당신의 선호이다.
Last week, 나는 창고의'L'에 대해 토론했거나, 더 정확히 말하면 유사한'EFK 창고'의'F'변체: FluentBit를 사용하여 서로 다른 시스템에서 로그를 수집하고 이를 처리한다.
ELK/EFK 모델에서'뭘 좀 해라'는 것은 로그를 Elasticsearch에 보내고 그곳에서 압축 파일과 인덱스를 한 다음에 키바나로 데이터를 분석하는 것을 의미한다.본문에서 우리는 이 점을 더욱 깊이 있게 탐구할 것이다.

탄력적 검색


From Elastic.co, 이 회사는 큰 뿔 사슴의 골키퍼이다.

Elasticsearch is a distributed, RESTful search and analytics engine capable of addressing a growing number of use cases. As the heart of the Elastic Stack, it centrally stores your data for lightning fast search, fine‑tuned relevancy, and powerful analytics that scale with ease.


이것은 많은 회사들이 사용하는 공업 실력이자 AWS가 같은 명칭의 제품을 제공하는 기초이다. (비록 Elasticdifferentiate 자신이 이를 위해 많은 노력을 기울였지만.)
하지만 정말 큰 장점 중 하나는

Go from prototype to production seamlessly; you talk to Elasticsearch running on a single node the same way you would in a 300-node cluster.

It scales horizontally to handle kajillions of events per second, while automatically managing how indices and queries are distributed across the cluster for oh-so-smooth operations.


아래 설명한 바와 같이 이 점을 이용하여 시스템의 원형을 제작하고 가치 주장을 쉽고 효과적으로 보여줄 수 있습니다.

기바나


REST를 사용하여 Elasticsearch 데이터베이스를 조회할 수 있지만 이것은 편리하지 않다.그래서 큰뿔사슴/EFK군의'K'는 이 시스템의 관건적인 구성 부분이다.다시 from Elastic.co:

Kibana is a free and open user interface that lets you visualize your Elasticsearch data and navigate the Elastic Stack. Do anything from tracking query load to understanding the way requests flow through your apps.


다음과 같은 강력한 기능을 제공합니다.
  • 데이터의 직관적 검색
  • 차트, 차트 및 카운터의 데이터를 표시하는 대시보드
  • Elasticsearch 파일을 관리하는 관리 기능
  • 또한 키바나는 다른 출처(예를 들어 프로메테우스)에서 데이터를 얻을 수 있기 때문에 로그와 지표의 원스톱 구매로 사용할 수 있습니다.실제로 Kibana를 사용하고 있을 수도 있습니다. 따라서 Elasticsearch를 가리키는 것이 필요한 모든 것일 수도 있습니다.

    빠르고 더럽다


    만약 당신이 어떤 큰 뿔 사슴/EFK 인프라 시설이 없다면, 당신은 어떻게 시작합니까?당연히 Docker지.결과trivially easydocker-compose를 사용하여 Elasticsearch와 키바나를 시작한 다음에 FluentBit를 가리키며 데이터를 전달했다.
    다음 YAML을 사용하여 스택을 단일 Elasticsearch 노드와 함께 실행합니다.
    version: '2.2'
    services:
      es01:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.13.1
        container_name: es01
        environment:
          - node.name=es01
          - cluster.name=es-docker-cluster
          - cluster.initial_master_nodes=es01
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - data01:/usr/share/elasticsearch/data
        ports:
          - 9200:9200
        networks:
          - elastic
    
      kib01:
        image: docker.elastic.co/kibana/kibana:7.13.1
        container_name: kib01
        ports:
          - 5601:5601
        environment:
          ELASTICSEARCH_URL: http://es01:9200
          ELASTICSEARCH_HOSTS: '["http://es01:9200"]'
        networks:
          - elastic
    
    volumes:
      data01:
        driver: local
    
    networks:
      elastic:
        driver: bridge
    
    
    docker-compose up로 시작하고 http:\\localhost:5601\로 돌아가서 실행 중인지 확인하세요.
    FluentBit에서, 이 Elasticsearch 실례를 가리키는 출력을 만들어서 데이터를 채우기만 하면 됩니다.FluentBit의 진정한 기능 중 하나는 사용자의 요구에 따라 여러 출력을 정의할 수 있다는 것입니다. 예를 들어 모든 로그 이벤트를 Elasticsearch에 보낼 수도 있지만, 오류 이벤트를 컨트롤러에 보낼 수도 있습니다.
    다음 코드 세그먼트에서 모든 로그 이벤트가 콘솔과 새 Elasticsearch 인스턴스로 전송됩니다.
    [OUTPUT]
        Name stdout
        Match *
        Format json
        json_date_format iso8601
    
    [OUTPUT]
        Name es
        Match *
        Host 127.0.0.1
        Port 9200
        Index my_new_index
    
    
    Elasticsearch에 이벤트를 처음 제공하기 시작할 때, 위에서 제공한 이름에 따라 새로운 '인덱스' 를 만들고, 키바나의 '발견' 부분을 사용해서 데이터 유입을 볼 수 있습니다.
    검색에서 필터링 및 정렬 기능을 이해하고 새 대시보드를 생성하여 정보, 경고 및 오류 메시지를 표시하는 파이 차트와 같은 데이터를 그려보십시오.

    다음 단계


    창고에 데이터를 입력하기 시작할 때 탐색할 곳이 많습니다.FluentBit 측에서 로그 줄의 관건적인 데이터 요소를 분석한 다음에 Kibana에서 이 데이터 요소를 현시적으로 검색할 수 있습니다. (예를 들어 위의 예시에서 '임대인')프로덕션에 투입하고 여러 소스를 가져오는 방법을 고려할 때 다음을 분석해야 합니다.
  • 이벤트 시간 스탬프, 분명히
  • 로그 유형(디버깅, 정보, 경고, 오류)
  • 특정 프로세스 식별자

  • trace and span 식별자
  • 고객/고객/출처 식별자
  • 전체 텍스트는 항상 검색할 수 있지만 키 값을 끌어내면 단독 색인이 되어 가시화에서 강력한 필터 값이 됩니다.
    앞으로 몇 주 동안 큰 뿔 사슴/EFK에 대한 정보가 더 많을 것이니 아직 없으면 subscribe 최신식을 유지하세요.
    일을 더욱 원만하게 하기 위해서 이곳에는 몇 개의 가정 용품이 있다.우선, 나는 일반적인 출판 날짜를 일요일 오전에서 월요일이나 화요일로 바꾸는 것을 고려하고 있다.이런 상황을 잘 아는 사람들은 이런 방식을 통해 더 좋은 참여도가 있다고 하지만 피드백을 구하고 있다.당신의 생각을 알게 해 주십시오. [email protected]
    둘째, 저는 개발자 커뮤니티에 큰 소리로 외치고 싶습니다. 저는 여기서 그중의 몇 가지 글을 교차해서 발표했습니다.DEV.to는 기술적 이점이 많습니다.

    좋은 웹페이지 즐겨찾기