데이터 입력 구성(Splunk)

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 10분
  • Splunk Heavy Forwarder를 사용하여 로그 메시지를 ServiceNow 인스턴스에 스트리밍할 수 있도록 데이터 입력을 구성합니다. 데이터 입력 구성은 (HLA) 애플리케이션을 설정하는 데 필수적인 단계입니다 상태 로그 분석 .

    시작하기 전에

    중요사항:
    상태 로그 분석는 IPv6를 지원하지 않습니다. 애플리케이션을 사용하려면 MID 서버를 IPv4로 구성합니다.
    • MID 서버가 로그 수집 기능이 활성화된 상태로 설치 및 구성되어 있는지 확인합니다.

      로그 수집 기능이 활성화된 MID 서버 구성입니다.

    • MID 서버의 IP 주소가 NAT(Network Address Translation), 부하 분산 장치 또는 유사한 장치에 노출되는 경우 공용 IP 주소가 있어야 합니다. MID 서버 속성에서 공용 IP 주소가 있는 mid.public_ip 속성을 값으로 추가합니다. 자세한 내용은 MID 서버 속성 만들기를 참조하십시오.
    • SSL TLS를 사용하여 암호화된 로그 배송에 대한 자세한 내용은 Now Support 지식베이스에서 SSL을 사용하여 Rsyslog 및 Filebeat로 데이터 스트리밍 [KB0866319] 문서를 참조하십시오.
    • Syslog를 사용하여 로그를 ServiceNow 인스턴스에 전달하도록 Splunk를 구성합니다.
    • 이 데이터 입력의 구성에 $SPLUNK_HOME이라는 환경 변수가 있는 것으로 가정합니다. Unix와 같은 환경에서 이 변수는 일반적으로 /opt/splunk를 가리킵니다.
      주:
      Windows 환경에서는 동일한 디렉터리 구조에 백슬래시(\)만 다르게 사용합니다.

    필요한 역할: evt_mgmt_admin

    이 태스크 정보

    이 설정 절차는 Splunk Heavy Forwarder를 사용하여 인스턴스로 로그를 스트리밍하기 위한 것입니다. Heavy Forwarder를 사용할 수 없는 경우 대신 Universal Forwarder를 사용할 수 있습니다. 자세한 내용은 Now Support 지식베이스의 Splunk Universal Forwarder를 배송 방법으로 사용 [KB0961378] 문서를 참조하십시오.

    주:
    MID 서버가 다운되면 Splunk 파이프라인이 차단될 수 있습니다. 전체 처리 큐는 파이프라인에 영향을 주지 않습니다.
    주:
    이 단계의 모든 Splunk 구성 파일은 $SPLUNK_HOME/etc/system/local/ 폴더에 있습니다. 수정해야 하는 구성 파일이 없는 경우 파일을 생성하고 이 폴더에 저장합니다.

    프로시저

    1. 다음으로 이동 모두 > 상태 로그 분석 > 데이터 입력 > 데이터 입력.
    2. 데이터 입력 페이지에서 새로 만들기를 선택합니다.
    3. Splunk 데이터 입력을 선택합니다.
    4. 시작하기 탭에서 양식 필드를 작성합니다.
      필드에 대한 설명은 Splunk 데이터 입력 구성 필드 문서를 참조하십시오.
    5. Outputs.conf 탭에서 outputs.conf 파일에 다음 스탠자를 추가하여 선택한 포트에서 선택한 전송 프로토콜 위에 전송기 전달 로그 데이터를 생성하고 다음을 선택합니다.
      주:
      구성한 출력이 있는 경우 이 라인을 기존 구성에 병합합니다.
      • TCP를 통한 전달:
        주:
        tcpout 스탠자를 아직 구성하지 않은 경우 첫 번째 스탠자만 사용합니다. TCP를 통해 상태 로그 분석로 전달하려면 두 번째 스탠자가 필요합니다.
        
        [tcpout]
        indexAndForward = 1
        defaultGroup = nothing
        
        [tcpout:health_log_analytics]
        server = ip-172-31-17-121.us-east-2.compute.internal:5000
        sendCookedData = false
        compressed = false
        
      • UDP를 통한 전달:

        주:
        syslog 스탠자를 아직 구성하지 않은 경우 첫 번째 스탠자만 사용합니다. UDP를 통해 상태 로그 분석로 전달하려면 두 번째 스탠자가 필요합니다.
        
        [syslog]defaultGroup = nothing
        
        [syslog:health_log_analytics]
        server = ip-172-31-17-121.us-east-2.compute.internal:5000
        
    6. Props.conf 탭에서 props.conf 파일을 편집하고 다음을 선택합니다.
      1. 상태 로그 분석로 전달할 소스 유형, 애플리케이션 서비스 및 호스트를 표시하기 위해 기존 스탠자를 수정하거나 스탠자를 추가합니다.
        주:
        최상의 결과를 얻으려면 전달할 소스 유형만 표시해야 합니다.
        스탠자를 추가할 때 다음 이름 형식을 사용합니다.
        • 소스 유형: [<source type>]. 예: [syslog]
        • 소스(권장하지 않음): [source::<source>]. 예: [source::myApp]
        • 호스트(권장하지 않음): [host::<host>] 예: [host::10.9.8.7]
      2. TCP 또는 UDP를 통해 상태 로그 분석로 전달할 각 스탠자 끝에 다음 라인을 추가합니다.
        • TCP를 통한 전달:
          TRANSFORMS-cloned_data = clone_for_hla_store_sourcetype, clone_for_hla
        • UDP를 통한 전달:
          TRANSFORMS-cloned_data = clone_for_hla_store_sourcetype, clone_for_hla_udp

          이 라인은 데이터에 CLONE_SOURCETYPE 변환을 적용하여 상태 로그 분석 처리에 필요한 조작이 기존 데이터 파이프라인에 영향을 주지 못하도록 방지합니다. 예를 들어 소스 유형 "syslog"에서 상태 로그 분석로 모든 로그를 보내려면 다음을 수행합니다.

          [syslog]
                                              #existing configuration goes here
                                              TRANSFORMS-cloned_data = clone_for_hla_store_sourcetype, clone_for_hla_udp
      3. 다음 스탠자를 추가하여 상태 로그 분석 처리에 필요한 모든 관련 변환을 적용합니다.
        주:
        Splunk를 사용하면 선택한 프로토콜에 대해 클론된 소스 유형에서 중요한 데이터를 익명화할 수 있습니다. 자세한 내용은 Splunk 설명서의 '데이터 익명화' 섹션을 참조하십시오.
        • TCP를 통한 전달:
          [send_to_hla_tcp]
          TRANSFORMS-health_log_analytics = health_log_analytics_add_sourcetype, health_log_analytics_add_host, health_log_analytics_add_source, health_log_analytics_add_syslog5424, health_log_analytics_add_index, health_log_analytics_add_syslogHost, health_log_analytics_add_time
        • UDP를 통한 전달:
          [send_to_hla_udp]
          TRANSFORMS-health_log_analytics = health_log_analytics_add_sourcetype, health_log_analytics_add_host, health_log_analytics_add_source, health_log_analytics_add_syslog5424, health_log_analytics_add_index, health_log_analytics_add_syslogHost, health_log_analytics_add_time
    7. Transforms.conf 탭에서 다음 스탠자를transforms.conf 파일에 추가하고 다음을 선택합니다.
      세 번째 스탠자는 기존 인덱싱에 영향을 주지 않으면서 추가 조작을 위해 로그를 복제합니다. 나머지 스탠자는 올바른 상태 로그 분석 처리를 지원하기 위해 필요한 정보를 추가합니다.
      주:
      여기에서 변환을 추가한 다음 props.conf 파일에서 복제된 소스 유형의 스탠자를 수정함으로써 중요한 데이터를 난독 처리할 수 있습니다.
      [accepted_keys]
      #Custom field for preserving sourcetype
      hla_sourcetype_preservation=_hla_sourcetype
      
      #Store sourcetype in a custom field, since CLONE_SOURCETYPE overwrites it
      [clone_for_hla_store_sourcetype]
      SOURCE_KEY = MetaData:Sourcetype
      REGEX = ^sourcetype::(.+)$
      FORMAT = hla_sourcetype::$1
      DEST_KEY = _hla_sourcetype
      
      [clone_for_hla]
      REGEX=.
      DEST_KEY = _TCP_ROUTING
      FORMAT = health_log_analytics
      CLONE_SOURCETYPE=send_to_hla_tcp
      
      #Only used in case of UDP forwarding
      [clone_for_hla_udp]
      REGEX=.
      DEST_KEY = _SYSLOG_ROUTING
      FORMAT = health_log_analytics
      CLONE_SOURCETYPE=send_to_hla_udp
      
      #Add metadata to the log message, since metadata is lost when forwarding externally
      [health_log_analytics_add_sourcetype]
      SOURCE_KEY = _hla_sourcetype
      REGEX = ^hla_sourcetype::(.+)$
      FORMAT = sourcetype="$1"] $0
      DEST_KEY = _raw
      
      [health_log_analytics_add_host]
      SOURCE_KEY = MetaData:Host
      REGEX = ^host::(.+)$
      FORMAT = host="$1" $0
      DEST_KEY = _raw
      
      [health_log_analytics_add_source]
      SOURCE_KEY = MetaData:Source
      REGEX = ^source::(.+)$
      FORMAT = source="$1" $0
      DEST_KEY = _raw
      
      [health_log_analytics_add_syslog5424]
      REGEX=.
      FORMAT = - - [sdid@1234 $0
      DEST_KEY = _raw
      
      [health_log_analytics_add_index]
      SOURCE_KEY = _MetaData:Index
      REGEX = ^(.+)$
      FORMAT = $1 $0
      DEST_KEY = _raw
      
      [health_log_analytics_add_syslogHost]
      SOURCE_KEY = MetaData:Host
      REGEX = ^host::(.+)$
      FORMAT = $1 $0
      DEST_KEY = _raw
      
      [health_log_analytics_add_time]
      SOURCE_KEY = _time
      REGEX = ^(.+)$
      FORMAT = <182>1 $1 $0
      DEST_KEY = _raw
    8. Finish.conf 탭에서 $SPLUNK_HOME/bin/splunk restart splunkd 명령을 실행하여 Splunk을 다시 시작합니다.
    9. 저장을 선택합니다.
      상태 로그 분석가 데이터 입력 테이블에 데이터 입력 기록을 추가합니다.
    10. 연결 테스트를 선택하여 데이터 입력이 올바르게 구성되어 있는지 확인합니다.

      상태 로그 분석MID 서버를 데이터 리포지토리에 연결하려고 시도합니다.

      • 연결이 설정된 경우 연결 테스트 버튼이 꺼지고 게시 버튼이 활성화됩니다.
      • 연결에 실패하면 오류 메시지 필드에 실패한 이유가 표시됩니다. 이 필드는 스트리밍 오류가 발생한 경우에만 표시됩니다.

        문제를 해결하고, 구성을 수정한 경우 저장을 선택한 다음 연결 테스트를 선택하여 연결을 다시 테스트합니다.

        주:
        연결이 성공적으로 생성되는 경우에만 데이터 입력 구성을 게시할 수 있습니다.
      주:
      변경 사항 되돌리기를 선택하여 마지막으로 게시된 구성으로 되돌릴 수 있습니다. 이 옵션은 이전에 게시된 구성을 수정하는 경우에만 사용할 수 있습니다.
    11. 게시를 선택하여 데이터 입력을 MID 서버에 게시합니다.

    결과

    데이터 입력 구성 프로세스가 완료되었습니다. 상태 로그 분석데이터 입력 테이블에 데이터 입력 기록을 추가하고 데이터 입력 기록에 구성 파일을 첨부합니다. 데이터 입력이 전송기를 사용하여 Splunk 로그 데이터를 인스턴스로 스트리밍하기 ServiceNow 시작합니다.

    다음에 수행할 작업

    데이터 입력이 스트리밍 데이터인지 확인하십시오.