Logstash 콜렉터 버전 1.0 사용

Liberty에서 Logstash 콜렉터 기능을 사용하여 Liberty 서버에서 로그 및 기타 이벤트를 수집하고 이를 원격 Logstash 서버에 전송할 수 있습니다. 수집된 이벤트는 로그 분석 및 문제점 해결에 사용할 수 있습니다.

시작하기 전에

logstashCollector-1.0 기능은 다음 제품에서 테스트되었습니다.

  • Logstash V2.x, Elasticsearch V2.x 및 Kibana V4.x
  • [17.0.0.1 and later]Logstash V5.3.x, Elasticsearch V5.3.x 및 Kibana V5.3.x

Logstash에서 사용 가능한 출력 플러그인과 함께 실행되는 Logstash 서버에서 logstashCollector-1.0 기능을 사용할 수 있습니다. 하지만 대부분의 사용자는 완전한 로그 통합 및 분석 기능을 제공하기 위해 Elasticsearch 및 Kibana와 함께 Logstash를 사용하도록 선택합니다. 자세한 정보는 Elastic 웹 사이트를 참조하십시오.

프로시저

  1. Elastic의 지시사항에 따라 Logstash를 설정하십시오.
  2. Logstash를 위해 SSL에 대한 인증서 및 키 쌍 파일을 작성하거나 확보하십시오.

    다음 openSSL에 대한 명령 예제는 인증서 및 키 쌍을 생성합니다. 필요에 따라 키의 유효 기간(일)을 사용자 정의하십시오.

    openssl req -x509 -newkey rsa:2048 -keyout logstash.key -out logstash.crt -days 365 -nodes
  3. Logstash 및 Elasticsearch 사용자의 경우 이 저장소에서 샘플 Logstash 구성 파일 및 색인 템플리트 파일을 다운로드하십시오.
    1. readme 파일의 내용에 따라 Elastic 스택 버전에 맞는 Logstash 구성 파일(liberty_logstash.conf) 및 색인 템플리트 파일(liberty_logstash_template.json)을 다운로드하십시오.
    2. liberty_logstash.conf 파일에서 Lumberjack ssl_certificatessl_key 경로와 Elasticsearch hosts(Elasticsearch_host_name:port_number) 값을 사용자 정의하십시오.
    3. Elasticsearch V2.x 사용자의 경우 선택적으로 liberty_logstash_template.json 파일에서 _ttl 기본값을 사용자 정의하여 각 이벤트 유형의 레코드를 보관하는 기간(밀리초)을 표시하십시오.
  4. 이벤트를 수집할 각 Liberty 서버에 대해 다음 단계를 완료하십시오.
    1. Liberty 서버에 대한 키 저장소를 확보하거나 작성하십시오. 자체 서명된 인증서를 작성하려면 다음 명령을 사용하십시오. 필요에 따라 서버 이름, 비밀번호 및 주제를 사용자 정의하십시오.
      d:\wlp\bin\securityUtility createSSLCertificate --server=myServerName --password="Liberty" --subject=CN=myHostname,OU=defaultServer,O=ibm,C=us
    2. 2단계의 logstash.crt 파일을 서버의 trust.jks 파일로 가져오십시오. 필요에 따라 wlp_install_dir 및 서버 이름을 사용자 정의하십시오. 비밀번호를 요청하는 프롬프트가 표시되면 4a 단계의 인증서 비밀번호를 사용하십시오.
      d:\java\bin\keytool -import -noprompt -alias logstash -file logstash.crt -keystore wlp_install_dir\usr\servers\myServerName\resources\security\trust.jks -storepass Liberty
    3. 다음 명령을 실행하여 logstashcollector-1.0 기능을 설치하십시오.
      d:\wlp\bin\installUtility install logstashcollector-1.0
    4. 다음 컨텐츠를 추가하여 Libertyserver.xml 파일에서 Logstash 콜렉터를 구성하십시오. 필요에 따라 logstashCollector 소스 목록, 호스트 이름 및 포트를 사용자 정의하십시오.

      [17.0.0.2 and later]메시지 또는 추적 이벤트의 메시지 필드 또는 FFDC 이벤트의 스택 추적에 허용되는 최대 문자 수를 변경할 수 있습니다. 기본 최대값은 2048자입니다. 다음 예제는 logstashCollector 요소에서 maxFieldLength 매개변수를 3000자로 설정합니다. 문자 수를 무제한으로 설정하려면 maxFieldLength0(영) 또는 -1로 설정하십시오.

      [17.0.0.4 and later]각 유형의 이벤트(메시지, 추적, accessLog, ffdc, garbageCollection)에 대해 초당 전송되는 최대 이벤트 수를 제한할 수 있습니다. 이벤트의 기본 최대값은 0이며, 이는 스로틀링이 적용되지 않음을 의미합니다. maxEvents0보다 큰 값으로 설정되면 초당 전송되는 이벤트 수에 대한 한계가 있습니다. maxEvents 값은 0 - 2147483647 사이의 정수여야 합니다.

      [17.0.0.1 and later]또한 서버에서 전송되는 이벤트를 데코레이션할 사용자 정의 태그를 추가할 수 있습니다. 다음 예제에는 logstashCollector 요소의 두 tag 요소가 있습니다.
      참고: Admin Center에서 사용되는 태그는 logstashCollector/bluemixLogCollector에서 사용되는 태그와 관계가 없습니다.
      <featureManager>
          <feature>logstashCollector-1.0</feature>
      </featureManager>
      
      <keyStore id="defaultKeyStore" password="Liberty" />
      <keyStore id="defaultTrustStore" location="trust.jks" password="Liberty" />
      <ssl id="mySSLConfig" trustStoreRef="defaultTrustStore" keyStoreRef="defaultKeyStore" />
      
      <logstashCollector 
      	source="message,trace,garbageCollection,ffdc,accessLog" 
      	hostName="localhost" 
      	port="5043" 
      	sslRef="mySSLConfig"
      	maxEvents="10"
      	[17.0.0.2 and later]maxFieldLength="3000">
      
          [17.0.0.1 and later]<tag>serverRackA5</tag>
          [17.0.0.1 and later]<tag>billingAppTeam</tag>
      </logstashCollector>

      추적 및 액세스 로그는 볼륨이 큰 로그이므로 네트워크, CPU 및 수집할 스토리지 자원이 더 많이 필요합니다.

    5. HTTP 액세스 로깅을 사용으로 설정하고 '%h %u %t "%r" %s %b %D %{User-agent}i' 로그 형식을 사용하십시오.
  5. Elasticsearch, Logstash 및 Kibana를 시작하십시오. 지시사항에 대해서는 Elastic 웹 사이트를 참조하십시오.
  6. Liberty 서버를 시작하고 몇 개의 이벤트를 생성하십시오.
  7. 브라우저에서 Kibana를 열고 색인을 작성하십시오.
    • Kibana 5의 경우 관리 > 색인 패턴을 클릭하고 시간 필드 이름datetime으로 설정한 후 작성을 클릭하십시오.
    • Kibana 4의 경우 설정 > 색인 패턴을 클릭하고 시간 필드 이름datetime으로 설정한 후 작성을 클릭하십시오.
  8. 저장소에서 샘플 대시보드를 다운로드하십시오.
  9. 대시보드를 Kibana로 가져오십시오.
    • Kibana 5의 경우 관리 > 저장된 오브젝트 > 가져오기를 클릭하십시오.
    • Kibana 4의 경우 설정 > 오브젝트 > 가져오기를 클릭하십시오.
  10. 대시보드를 확인하십시오.
    • Kibana 5의 경우 대시보드 > 열기를 클릭한 후 대시보드를 선택하십시오.
    • Kibana 4의 경우 대시보드 > 저장된 대시보드 로드를 클릭한 후 대시보드를 선택하십시오.

결과

Logstash 서버에 이벤트를 전송하도록 Liberty 서버를 구성했으며, 이제 Kibana를 사용하여 Liberty 대시보드에서 이벤트를 볼 수 있습니다.

For z/OS platforms[16.0.0.4 and later]Logstash 콜렉터가 가비지 콜렉션 이벤트를 확보할 수 있도록 하는 경우, 늦은 접속이 z/OS® JVM(Java™ Virtual Machine)에 대해 IBM® 도구에 대한 특성을 사용하도록 하지 않을 수 있습니다. 문제점을 수정하려면 JVM 호출에 대해 시스템 특성 및 값 -Dcom.ibm.tools.attach.enable=yes를 추가하십시오. Java 실행의 파트로 또는 jvm.options 파일 내에서 이를 직접 추가하십시오.


주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_analytics_logstash.html