Skip to main content
How to enable StorageGRID in your environment
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

ELK 스택을 사용한 StorageGRID 로그 분석

기여자

안젤라 청 _ 에 의해

StorageGRID syslog 포워드 기능을 사용하면 StorageGRID 로그 메시지를 수집하고 분석하도록 외부 syslog 서버를 구성할 수 있습니다. 엘크(Elasticsearch, Logstash, Kibana)는 가장 인기 있는 로그 분석 솔루션 중 하나가 되었습니다. 샘플 elk 구성과 이 구성을 사용하여 실패한 S3 요청을 식별하고 해결하는 방법을 보려면 를 "ELK 비디오를 사용한 StorageGRID 로그 분석" 참조하십시오. StorageGRID 11.9에서는 부하 분산 장치 엔드포인트 액세스 로그를 외부 syslog 서버로 내보낼 수 있습니다. 이 새로운 기능에 대해 자세히 알아보려면 여기를 "YouTube 동영상" 참조하십시오. 이 문서에서는 Logstash 구성, Kibana 쿼리, 차트 및 대시보드의 예제 파일을 제공하여 StorageGRID 로그 관리 및 분석을 빠르게 시작할 수 있도록 합니다.

요구 사항

  • StorageGRID 11.6.0.2 이상

  • 엘크(Elasticsearch, Logstash 및 Kibana) 7.1x 이상 설치 및 작동 중

샘플 파일

가정

독자는 StorageGRID 및 ELK 용어와 운영에 대해 잘 알고 있습니다.

지침

두 가지 샘플 버전은 그로크 패턴으로 정의된 이름의 차이로 인해 제공됩니다. 예를 들어, Logstash 구성 파일의 SYSLOGBASE 그로크 패턴은 설치된 Logstash 버전에 따라 필드 이름을 다르게 정의합니다.

match => {"message" => '<%{POSINT:syslog_pri}>%{SYSLOGBASE} %{GREEDYDATA:msg-details}'}
  • Logstash 7.17 샘플 *

Logstash 7.17 샘플

  • Logstash 8.23 샘플 *

Logstash 8.23 샘플

  • 단계 *

    1. 설치된 엘크 버전을 기반으로 제공된 샘플의 압축을 풉니다. + 샘플 폴더에는 + * sglog-2-file.conf: * 이 구성 파일은 데이터 변환 없이 Logstash의 파일에 StorageGRID 로그 메시지를 출력합니다. 이 옵션을 사용하여 로그 스타재가 StorageGRID 메시지를 수신하는지 확인하거나 StorageGRID 로그 패턴을 이해하는 데 도움을 줄 수 있습니다. + * sglog-2-es.conf: * 이 구성 파일은 다양한 패턴과 필터를 사용하여 StorageGRID 로그 메시지를 변환합니다. 여기에는 패턴 또는 필터를 기반으로 메시지를 드롭하는 Drop 문 예가 포함되어 있습니다. 인덱싱을 위해 Elasticsearch로 출력이 전송됩니다. + 파일 내의 명령에 따라 선택한 구성 파일을 사용자 지정합니다.

    2. 사용자 지정 구성 파일 테스트:

      /usr/share/logstash/bin/logstash --config.test_and_exit -f <config-file-path/file>

      마지막으로 반환된 줄이 아래 줄과 비슷하면 구성 파일에 구문 오류가 없는 것입니다.

      [LogStash::Runner] runner - Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash
    3. /etc/logstash/logstash.yml에서 config.reload.automatic 를 활성화하지 않은 경우 Logstash 서버의 config:/etc/logstash/conf.d+에 사용자 지정된 conf 파일을 복사합니다. 그렇지 않으면 구성 다시 로드 간격이 경과될 때까지 기다립니다.

       grep reload /etc/logstash/logstash.yml
      # Periodically check if the configuration has changed and reload the pipeline
      config.reload.automatic: true
      config.reload.interval: 5s
    4. /var/log/logstash/logstash-plain.log 를 확인하고 새 구성 파일로 Logstash를 시작하는 데 오류가 없는지 확인합니다.

    5. TCP 포트가 시작되고 수신 중인지 확인합니다. + 이 예에서는 TCP 포트 5000이 사용됩니다.

      netstat -ntpa | grep 5000
      tcp6       0      0 :::5000                 :::*                    LISTEN      25744/java
    6. StorageGRID 관리자 GUI에서 로그 메시지를 Logstash로 보내도록 외부 syslog 서버를 구성합니다. 자세한 내용은 을 "데모 비디오" 참조하십시오.

    7. 정의된 TCP 포트에 대한 StorageGRID 노드 연결을 허용하려면 Logstash 서버에서 방화벽을 구성하거나 비활성화해야 합니다.

    8. Kibana GUI에서 관리 → 개발 도구 를 선택합니다. 콘솔 페이지에서 이 가져오기 명령을 실행하여 Elasticsearch에 새 인덱스가 생성되었는지 확인합니다.

      GET /_cat/indices/*?v=true&s=index
    9. 키바나 GUI에서 인덱스 패턴(엘크 7.x) 또는 데이터 뷰(엘크 8.x)를 생성합니다.

    10. Kibana GUI의 상단 중앙에 있는 검색 상자에 '저장된 개체'를 입력합니다. + 저장된 개체 페이지에서 가져오기 를 선택합니다. 불러오기 옵션 아래에서 '충돌 시 작업 요청'을 선택합니다.

      Kibana 불러오기 옵션

      ELK <version> -query-chart-sample.ndjson을 가져옵니다. + 충돌을 해결할 것인지 묻는 메시지가 나타나면 8단계에서 만든 색인 패턴이나 데이터 보기를 선택합니다.

      키바나 갈등

    다음 Kibana 객체를 가져왔습니다. + * Query * + * audit-msg-s3rq-orlm + * bycast log S3 관련 메시지 + * LogLevel 경고 이상 + * 보안 이벤트 실패 + * nginx-GW 액세스 로그(elk8-sample-for-sg119.zip에서만 사용 가능) + * S3 * audit * * 요청 기반 HTTP 상태 * * * * * bycast.log * 요청 기반 HTTP 요청 시

이제 Kibana를 사용하여 StorageGRID 로그 분석을 수행할 준비가 되었습니다.