System Center Operations Manager의 Linux 로그 파일 모니터링

중요

이 버전의 Operations Manager는 지원이 종료되었습니다. Operations Manager 2022로 업그레이드하는 것이 좋습니다.

참고

System Center Operations Manager는 2024년 8월로 예정된 OMS 에이전트 사용 중지 시 FluentD 기반 로그 파일 모니터링을 지원하지 않습니다.

이제 System Center Operations Manager에는 Fluentd를 사용하는 에이전트의 최신 버전을 사용하여 Linux 서버에서 향상된 로그 파일 모니터링 기능이 설치되었습니다. 이 업데이트는 이전 로그 파일 모니터링을 통해 다음과 같은 개선 사항을 제공합니다.

  • 로그 파일 이름과 경로의 와일드카드 문자.
  • 단순 일치, 독점 일치, 상관 일치, 반복된 상관 관계, 독점 상관 관계 같은 사용자 지정 가능한 로그 검색을 위한 새 일치 패턴.
  • Fluentd 커뮤니티에서 게시한 일반 Fluentd 플러그 인에 대한 지원.

기본 작업

Linux의 로그 파일 모니터링 기본 작업에는 다음 단계가 포함됩니다.

  1. Linux 에이전트의 로그에 레코드가 기록됩니다.
  2. Fluentd는 레코드를 수집하고 패턴 일치에 이벤트를 만듭니다.
  3. 이벤트는 관리 서버의 OMED 서비스로 전송되고 관리 서버의 System Center OMED 서비스 이벤트 로그에 기록됩니다. System Center OMED 서비스 이벤트 로그는 Fluentd 에이전트에서 이벤트가 성공적으로 전송된 경우에만 생성됩니다.
  4. 사용자 지정 관리 팩의 규칙 및 모니터가 이벤트를 수집하고 Operations Manager에서 경고를 만듭니다.

구성 개요

Linux 에이전트에서 로그 파일 모니터링을 사용하려면 다음 단계가 필요합니다. 이러한 각 단계는 다음 섹션에서 자세히 설명합니다.

  1. 최신 Linux 관리 팩을 가져옵니다.
  2. 모니터링할 각 Linux 컴퓨터에 최신 버전의 Linux 에이전트를 설치합니다.
  3. 로그를 수집할 Fluentd 구성 파일을 만듭니다.
  4. Linux 에이전트에 구성 파일을 복사합니다.
  5. 샘플 관리 팩을 사용해서 규칙 및 모니터를 만들어 로그에서 이벤트를 수집하고 경고를 만듭니다.

최신 버전의 Linux 에이전트 설치

최신 버전의 Linux 에이전트는 향상된 로그 파일 모니터링에 필요한 Fluentd를 지원합니다. 명령줄에서 UNIX 및 Linux에 에이전트 설치에서 새 에이전트에 대한 세부 정보 및 설치 프로세스를 확인할 수 있습니다.

Linux 로그 파일 모니터링 구성

Linux 관리 팩 번들에는 최신 Operations Manager 에이전트(Fluentd 포함)가 있습니다. Linux 로그 파일 모니터링을 구성하려면 사용자가 다음을 수행해야 합니다.

  1. 관리 팩 설치를 위한 표준 프로세스를 사용하여 최신 Linux 관리 팩을 가져옵니다.
  2. Linux 서버에 새 Linux 에이전트를 설치합니다. 검색 마법사를 통해 또는 수동으로 설치할 수 있습니다.
  3. Linux 에이전트를 관리하는 리소스 풀의 각 관리 서버에서 OMED 서비스를 사용하도록 설정합니다.

OMED 서비스는 Fluentd에서 이벤트를 수집하고 Operations Manager 이벤트로 변환합니다. 사용자는 Linux 서버에서 받은 이벤트에 따라 경고를 생성할 수 있는 사용자 지정 관리 팩을 가져와야 합니다.

운영 콘솔이나 관리 서버 또는 게이트웨이 서버에서 수동으로 OMED 서비스를 활성화합니다.

운영 콘솔에서

  1. 운영 콘솔에서 모니터링Operations Manager관리 서버관리 서버 상태로 이동합니다.
  2. 관리 서버 상태 창에서 관리 서버를 선택합니다.
  3. 작업창에서 상태 관리 서비스 작업System Center OMED Server 사용을 선택합니다.

수동

  1. 시작을 선택하고 검색 시작 상자에서 services.msc 를 입력한 다음 Enter 키를 누릅니.
  2. 세부 정보 창에서 System Center Operations Manager External DataSource Service 서비스를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  3. 일반 탭의 시작 유형 에서 자동을 선택하고 확인을 선택합니다.
  4. 세부 정보 창에서 서비스를 마우스 오른쪽 단추로 클릭하고 시작을 선택합니다.

FluentD 구성 파일 만들기

구성 파일을 사용하여 Fluentd 작업을 구성합니다. 로그 모니터링의 경우, 소스 로그 파일 이름과 경로 및 필터와 같은 정보를 포함하여 수집할 데이터를 정의하는 구성 파일을 만들어야 합니다.

마스터 Fluentd 구성 파일 omsagent.conf/etc/opt/microsoft/omsagent/scom/conf/에 있습니다. 로그 파일 모니터링 구성을 이 파일에 직접 추가할 수 있지만 다른 설정을 더 잘 관리하려면 별도의 구성 파일을 만들어야 합니다. 그런 다음 마스터 파일에 @include 지시문을 사용하여 사용자 지정 파일을 포함합니다.

예를 들어 /etc/opt/microsoft/omsagent/scom/conf/omsagent.dlogmonitoring.conf를 만든 경우 다음 줄 중 하나를 fluent.conf에 추가합니다.

  #Include all configuration files
  @include omsagent.d/*.conf

또는

  #include single configuration file
  @include omsagent.d/logmonitoring.conf

Fluentd 구성 파일 구문에서 Fluentd 구성 파일에 대한 세부 정보를 확인할 수 있습니다. 다음 섹션에서는 로그 파일 모니터링에 고유한 구성 파일의 여러 지시문에 있는 설정을 설명합니다. 각각 구성 파일에 붙여넣고 요구 사항에 맞게 수정할 수 있는 샘플 설정을 포함합니다.

전체 로그 모니터링의 샘플 구성 파일을 사용하여 직접 만들기 전에 검토하고 확인할 수 있습니다.

원본

Source 지시문은 수집할 데이터 원본을 정의합니다. 여기서 로그 파일의 세부 정보를 정의합니다. Fluentd는 원본에 기록된 각 레코드를 선택하고 해당 이벤트를 Fluentd의 라우팅 엔진에 제출합니다. 이 지시문의 여기서 태그를 지정해야 합니다. 태그는 Fluentd의 내부 라우팅 엔진이 여러 지시문을 상호 연결하는 지침으로 사용되는 문자열입니다.

이 예제는 Operations Manager에서 처리하기 위해 수집 및 태그 지정된 syslog 레코드를 보여 줍니다.

  <source>

      # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in_tail
      type tail

      # Specify the log file path. Supports wild cards.
      path /var/log/syslog

      # Recommended so that Fluentd will record the position it last read into this file.
      pos_file /home/user1/fluent-test/demo_syslog.log.pos

      # Used to correlate the directives.
      tag scom.log.syslog

      format /(?<message>.*)/

  </source>

일치

match 지시문은 일치하는 태그를 사용하여 원본에서 수집된 이벤트를 처리하는 방법을 정의합니다. 패턴과 일치하는 tag가 있는 이벤트만 출력 대상으로 전송됩니다. 여러 패턴이 match 태그 하나에 나열된 경우, 이벤트가 나열된 패턴 중 하나와 일치할 수 있습니다. 이러한 이벤트에 사용할 플러그 인을 지정하는 type 매개 변수입니다.

이 예제는 scom.log.** 및 scom.alert와 일치하는 태그가 있는 이벤트를 처리합니다(**는 0개 이상의 태그 파트와 일치함). Operations Manager 관리 팩에서 이벤트를 수집할 수 있는 out_scom 플러그 인을 지정합니다.

  <match scom.log.** scom.event>

      # Output plugin to use
      type out_scom

      log_level trace
      num_threads 5

      # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the  
      queue and bottom chunk is written out.
      buffer_chunk_limit 5m
      flush_interval 15s

      # Specifies the buffer plugin to use.
      buffer_type file

      # Specifies the file path for buffer. Fluentd must have write access to this directory.
      buffer_path /var/opt/microsoft/omsagent/scom/state/out_scom_common*.buffer

      # If queue length exceeds the specified limit, events are rejected.
      buffer_queue_limit 10

      # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
      buffer_queue_full_action drop_oldest_chunk

      # Number of times Fluentd will attempt to write the chunk if it fails.
      retry_limit 10

      # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
      retry_wait 30s

      # The retry wait time doubles each time until max_retry_wait.
      max_retry_wait 9m

  </match>

참고

Fluentd 통신을 사용하는 Linux 머신에서 서버 인증을 사용하지 않도록 설정하려면 다음과 같이 Fluentd용 SCOM 출력 플러그인에 enable_server_auth false 매개 변수를 추가합니다.

  <match scom.log.** scom.event>
  type out_scom

  max_retry_wait 9m
  enable_server_auth false
  </match>

Assert

필터 지시문은 일치 구문과 동일하지만 처리할 데이터의 더 복잡한 필터링을 허용합니다. 수집된 이벤트는 출력에 추가할 모든 필터의 조건과 일치해야 합니다.

여기에 설명된 로그 파일 모니터링용 필터 플러그 인 6개가 있습니다. 이 필터 중 하나 이상을 사용하여 로그 파일에서 수집할 이벤트를 정의합니다.

단순 일치: filter_scom_simple_match

최대 20개의 입력 패턴을 사용합니다. 패턴이 일치할 때마다 Operations Manager에 이벤트를 보냅니다.

  <filter tag>
      type filter_scom_simple_match
      regexp1 <key> <pattern>
      event_id1 <event ID>
      regexp2 <key> <pattern>
      event_id2 <event ID>
      .
      .
      .
      regexp20 <key> <pattern>
      event_id20 <event ID>
  </filter>

독점 일치: filter_scom_excl_match

두 가지 입력 패턴을 사용합니다. 단일 레코드가 패턴 1과 일치하지만 패턴 2와 일치하지 않는 경우 Operations Manager에 이벤트를 보냅니다.

  <filter tag>
      type filter_scom_excl_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
  </filter>

반복된 상관 관계: filter_scom_repeated_cor

패턴, 시간 간격 및 여러 항목의 세 가지 입력을 사용합니다. 첫 번째 패턴과 일치하는 항목이 발견되면 타이머가 시작됩니다. 타이머가 종료되기 전에 패턴이 지정된 횟수만큼 일치하면 Operations Manager에 이벤트가 전송됩니다.

  <filter tag>
      type filter_scom_repeated_cor
      regexp <key> <pattern>
      event_id <event ID>
      time_interval <interval in seconds>
      num_occurences <number of occurrences>
  </filter>

상관 일치: filter_scom_cor_match

세 가지 입력(두 패턴 및 시간 간격)을 사용합니다. 첫 번째 패턴과 일치하는 항목이 발견되면 타이머가 시작됩니다. 타이머가 종료되기 전에 두 번째 패턴에 대한 일치 항목이 있는 경우 이벤트가 Operations Manager로 전송됩니다.

  <filter tag>
      type filter_scom_cor_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

독점 상관 관계: filter_scom_excl_correlation

세 가지 입력(두 패턴 및 시간 간격)을 사용합니다. 첫 번째 패턴과 일치하는 항목이 발견되면 타이머가 시작됩니다. 타이머가 종료되기 전에 두 번째 패턴에 대한 일치 항목이 없으면 이벤트가 Operations Manager로 전송됩니다.

  <filter tag>
      type filter_scom_excl_correlation
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Operations Manager 변환기: filter_scom_converter

수신하는 모든 레코드에 대한 이벤트를 Operations Manager에 보냅니다. 지정한 이벤트 ID 및 설명을 이벤트의 일부로 보냅니다.

  <filter tag>
      type filter_scom_converter
      event_id <event ID>
      event_desc <event description>
  </filter>

에이전트에 구성 파일 복사

모니터링하려는 모든 Linux 컴퓨터의 /etc/opt/microsoft/omsagent/scom/conf/omsagent.d에 fluentd 구성 파일을 복사해야 합니다. 위에서 설명한 대로 마스터 구성 파일에도 @include 지시문을 추가해야 합니다.

규칙 및 모니터 만들기

Linux MP는 FluentD에서 이벤트를 수집하는 모듈을 제공하지 않습니다. Linux MP는 Linux 에이전트와 번들로 제공됩니다. Linux 에이전트의 흐름 모듈과 향상된 로그 파일 모니터링 기능을 제공하는 관리 및 게이트웨이 서버의 OMED 서비스입니다.

Fluentd에서 이벤트를 수집하는 Microsoft.Linux.OMED.EventDataSource 모듈을 사용하는 사용자 지정 규칙 및 모니터를 사용하여 사용자 고유의 관리 팩을 만들어야 합니다.

다음 표에는 Microsoft.Linux.OMED.EventDataSource의 매개 변수가 나와 있습니다.

매개 변수 형식 설명
컴퓨터 이름 문자열 필수 사항입니다. 이벤트를 읽을 Linux 컴퓨터의 이름을 지정합니다. ComputerName 매개 변수는 임의 문자열로 지정될 수 있지만 가장 일반적으로 $Target 표기법을 사용하여 모듈에 전달됩니다. 이 모듈은 지정된 Linux 컴퓨터에서 생성된 이벤트를 읽으려고 시도합니다.
ManagedEntityId 문자열 필수 사항입니다. 모니터링된 엔티티의 관리되는 엔터티 ID를 지정합니다. ManagedEntityId 매개 변수는 가장 일반적으로 $Target\Id$를 사용하여 모듈에 전달됩니다.
EventNumber 정수 선택 사항입니다. 검색할 이벤트의 이벤트 번호를 표시합니다. 이 옵션을 생략하면 모듈은 해당 컴퓨터 및 관리되는 엔터티에 대해 생성된 모든 이벤트를 반환합니다.

구성 개요

Linux 에이전트에서 로그 파일 모니터링을 사용하려면 다음 단계가 필요합니다. 이러한 각 단계는 다음 섹션에서 자세히 설명합니다.

  1. 최신 Linux 관리 팩을 가져옵니다.
  2. 모니터링할 각 Linux 컴퓨터에 최신 버전의 Linux 에이전트를 설치합니다.
  3. 로그를 수집할 Fluentd 구성 파일을 만듭니다.
  4. Linux 에이전트에 구성 파일을 복사합니다.
  5. 샘플 관리 팩을 사용해서 규칙 및 모니터를 만들어 로그에서 이벤트를 수집하고 경고를 만듭니다.

최신 버전의 Linux 에이전트 설치

최신 버전의 Linux 에이전트는 향상된 로그 파일 모니터링에 필요한 Fluentd를 지원합니다. 명령줄에서 UNIX 및 Linux에 에이전트 설치에서 새 에이전트에 대한 세부 정보 및 설치 프로세스를 확인할 수 있습니다.

Linux 로그 파일 모니터링 구성

Linux 관리 팩 번들에는 최신 Operations Manager 에이전트(Fluentd 포함)가 있습니다. Linux 로그 파일 모니터링을 구성하려면 사용자가 다음을 수행해야 합니다.

  1. 관리 팩 설치를 위한 표준 프로세스를 사용하여 최신 Linux 관리 팩을 가져옵니다.
  2. Linux 서버에 새 Linux 에이전트를 설치합니다. 검색 마법사를 통해 또는 수동으로 설치할 수 있습니다.
  3. Linux 에이전트를 관리하는 리소스 풀의 각 관리 서버에서 OMED 서비스를 사용하도록 설정합니다.

OMED 서비스는 Fluentd에서 이벤트를 수집하고 Operations Manager 이벤트로 변환합니다. 사용자는 Linux 서버에서 받은 이벤트에 따라 경고를 생성할 수 있는 사용자 지정 관리 팩을 가져와야 합니다.

운영 콘솔이나 관리 서버 또는 게이트웨이 서버에서 수동으로 OMED 서비스를 활성화합니다.

운영 콘솔에서

  1. 운영 콘솔에서 모니터링Operations Manager관리 서버관리 서버 상태로 이동합니다.
  2. 관리 서버 상태 창에서 관리 서버를 선택합니다.
  3. 작업창에서 상태 관리 서비스 작업System Center OMED Server 사용을 선택합니다.

수동

  1. 시작을 선택하고 검색 시작 상자에서 services.msc 를 입력한 다음 Enter 키를 누릅니.
  2. 세부 정보 창에서 System Center Operations Manager External DataSource Service 서비스를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  3. 일반 탭의 시작 유형 에서 자동을 선택하고 확인을 선택합니다.
  4. 세부 정보 창에서 서비스를 마우스 오른쪽 단추로 클릭하고 시작을 선택합니다.

FluentD 구성 파일 만들기

구성 파일을 사용하여 Fluentd 작업을 구성합니다. 로그 모니터링의 경우, 소스 로그 파일 이름과 경로 및 필터와 같은 정보를 포함하여 수집할 데이터를 정의하는 구성 파일을 만들어야 합니다.

마스터 Fluentd 구성 파일 omsagent.conf/etc/opt/microsoft/omsagent/scom/conf/에 있습니다. 로그 파일 모니터링 구성을 이 파일에 직접 추가할 수 있지만 다른 설정을 더 잘 관리하려면 별도의 구성 파일을 만들어야 합니다. 그런 다음 마스터 파일에 @include 지시문을 사용하여 사용자 지정 파일을 포함합니다.

예를 들어 /etc/opt/microsoft/omsagent/scom/conf/omsagent.dlogmonitoring.conf를 만든 경우 다음 줄 중 하나를 fluent.conf에 추가합니다.

  #Include all configuration files
  @include omsagent.d/*.conf

또는

  #include single configuration file
  @include omsagent.d/logmonitoring.conf

Fluentd 구성 파일 구문에서 Fluentd 구성 파일에 대한 세부 정보를 확인할 수 있습니다. 다음 섹션에서는 로그 파일 모니터링에 고유한 구성 파일의 여러 지시문에 있는 설정을 설명합니다. 각각 구성 파일에 붙여넣고 요구 사항에 맞게 수정할 수 있는 샘플 설정을 포함합니다.

전체 로그 모니터링의 샘플 구성 파일을 사용하여 직접 만들기 전에 검토하고 확인할 수 있습니다.

원본

Source 지시문은 수집할 데이터 원본을 정의합니다. 여기서 로그 파일의 세부 정보를 정의합니다. Fluentd는 원본에 기록된 각 레코드를 선택하고 해당 이벤트를 Fluentd의 라우팅 엔진에 제출합니다. 이 지시문의 여기서 태그를 지정해야 합니다. 태그는 Fluentd의 내부 라우팅 엔진이 여러 지시문을 상호 연결하는 지침으로 사용되는 문자열입니다.

이 예제는 Operations Manager에서 처리하기 위해 수집 및 태그 지정된 syslog 레코드를 보여 줍니다.

  <source>

      # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in_tail
      type tail

      # Specify the log file path. Supports wild cards.
      path /var/log/syslog

      # Recommended so that Fluentd will record the position it last read into this file.
      pos_file /home/user1/fluent-test/demo_syslog.log.pos

      # Used to correlate the directives.
      tag scom.log.syslog

      format /(?<message>.*)/

  </source>

일치

match 지시문은 일치하는 태그를 사용하여 원본에서 수집된 이벤트를 처리하는 방법을 정의합니다. 패턴과 일치하는 tag가 있는 이벤트만 출력 대상으로 전송됩니다. 여러 패턴이 match 태그 하나에 나열된 경우, 이벤트가 나열된 패턴 중 하나와 일치할 수 있습니다. 이러한 이벤트에 사용할 플러그 인을 지정하는 type 매개 변수입니다.

이 예제는 scom.log.** 및 scom.alert와 일치하는 태그가 있는 이벤트를 처리합니다(**는 0개 이상의 태그 파트와 일치함). Operations Manager 관리 팩에서 이벤트를 수집할 수 있는 out_scom 플러그 인을 지정합니다.

  <match scom.log.** scom.event>

      # Output plugin to use
      type out_scom

      log_level trace
      num_threads 5

      # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the  
      queue and bottom chunk is written out.
      buffer_chunk_limit 5m
      flush_interval 15s

      # Specifies the buffer plugin to use.
      buffer_type file

      # Specifies the file path for buffer. Fluentd must have write access to this directory.
      buffer_path /var/opt/microsoft/omsagent/scom/state/out_scom_common*.buffer

      # If queue length exceeds the specified limit, events are rejected.
      buffer_queue_limit 10

      # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
      buffer_queue_full_action drop_oldest_chunk

      # Number of times Fluentd will attempt to write the chunk if it fails.
      retry_limit 10

      # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
      retry_wait 30s

      # The retry wait time doubles each time until max_retry_wait.
      max_retry_wait 9m

  </match>

참고

Fluentd 통신을 사용하는 Linux 머신에서 서버 인증을 사용하지 않도록 설정하려면 다음과 같이 Fluentd용 SCOM 출력 플러그인에 enable_server_auth false 매개 변수를 추가합니다.

  <match scom.log.** scom.event>
  type out_scom

  max_retry_wait 9m
  enable_server_auth false
  </match>

Assert

필터 지시문은 일치 구문과 동일하지만 처리할 데이터의 더 복잡한 필터링을 허용합니다. 수집된 이벤트는 출력에 추가할 모든 필터의 조건과 일치해야 합니다.

여기에 설명된 로그 파일 모니터링용 필터 플러그 인 6개가 있습니다. 이 필터 중 하나 이상을 사용하여 로그 파일에서 수집할 이벤트를 정의합니다.

단순 일치: filter_scom_simple_match

최대 20개의 입력 패턴을 사용합니다. 패턴이 일치할 때마다 Operations Manager에 이벤트를 보냅니다.

  <filter tag>
      type filter_scom_simple_match
      regexp1 <key> <pattern>
      event_id1 <event ID>
      regexp2 <key> <pattern>
      event_id2 <event ID>
      .
      .
      .
      regexp20 <key> <pattern>
      event_id20 <event ID>
  </filter>

독점 일치: filter_scom_excl_match

두 가지 입력 패턴을 사용합니다. 단일 레코드가 패턴 1과 일치하지만 패턴 2와 일치하지 않는 경우 Operations Manager에 이벤트를 보냅니다.

  <filter tag>
      type filter_scom_excl_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
  </filter>

반복된 상관 관계: filter_scom_repeated_cor

패턴, 시간 간격 및 여러 항목의 세 가지 입력을 사용합니다. 첫 번째 패턴과 일치하는 항목이 발견되면 타이머가 시작됩니다. 타이머가 종료되기 전에 패턴이 지정된 횟수만큼 일치하면 Operations Manager에 이벤트가 전송됩니다.

  <filter tag>
      type filter_scom_repeated_cor
      regexp <key> <pattern>
      event_id <event ID>
      time_interval <interval in seconds>
      num_occurences <number of occurrences>
  </filter>

상관 일치: filter_scom_cor_match

세 가지 입력(두 패턴 및 시간 간격)을 사용합니다. 첫 번째 패턴과 일치하는 항목이 발견되면 타이머가 시작됩니다. 타이머가 끝나기 전에 두 번째 패턴에 대한 일치 항목이 있는 경우 이벤트가 Operations Manager로 전송됩니다.

  <filter tag>
      type filter_scom_cor_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

독점 상관 관계: filter_scom_excl_correlation

세 가지 입력(두 패턴 및 시간 간격)을 사용합니다. 첫 번째 패턴과 일치하는 항목이 발견되면 타이머가 시작됩니다. 타이머가 종료되기 전에 두 번째 패턴에 대한 일치 항목이 없으면 이벤트가 Operations Manager로 전송됩니다.

  <filter tag>
      type filter_scom_excl_correlation
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Operations Manager 변환기: filter_scom_converter

수신하는 모든 레코드에 대해 Operations Manager에 이벤트를 보냅니다. 지정한 이벤트 ID 및 설명을 이벤트의 일부로 보냅니다.

  <filter tag>
      type filter_scom_converter
      event_id <event ID>
      event_desc <event description>
  </filter>

에이전트에 구성 파일 복사

모니터링하려는 모든 Linux 컴퓨터의 /etc/opt/microsoft/omsagent/scom/conf/omsagent.d에 fluentd 구성 파일을 복사해야 합니다. 위에서 설명한 대로 마스터 구성 파일에도 @include 지시문을 추가해야 합니다.

규칙 및 모니터 만들기

Linux MP는 FluentD에서 이벤트를 수집하는 모듈을 제공하지 않습니다. Linux MP는 Linux 에이전트와 번들로 제공됩니다. 향상된 로그 파일 모니터링 기능을 제공하는 관리 및 게이트웨이 서버의 Linux 에이전트 및 OMED 서비스의 흐름 모듈입니다.

Fluentd에서 이벤트를 수집하는 Microsoft.Linux.OMED.EventDataSource 모듈을 사용하는 사용자 지정 규칙 및 모니터를 사용하여 사용자 고유의 관리 팩을 만들어야 합니다.

다음 표에는 Microsoft.Linux.OMED.EventDataSource의 매개 변수가 나와 있습니다.

매개 변수 형식 설명
컴퓨터 이름 문자열 필수 사항입니다. 이벤트를 읽을 Linux 컴퓨터의 이름을 지정합니다. ComputerName 매개 변수는 임의 문자열로 지정될 수 있지만 가장 일반적으로 $Target 표기법을 사용하여 모듈에 전달됩니다. 이 모듈은 지정된 Linux 컴퓨터에서 생성된 이벤트를 읽으려고 시도합니다.
ManagedEntityId 문자열 필수 사항입니다. 모니터링된 엔티티의 관리되는 엔터티 ID를 지정합니다. ManagedEntityId 매개 변수는 가장 일반적으로 $Target\Id$를 사용하여 모듈에 전달됩니다.
EventNumber 정수 선택 사항입니다. 검색할 이벤트의 이벤트 번호를 표시합니다. 이 옵션을 생략하면 모듈은 해당 컴퓨터 및 관리되는 엔터티에 대해 생성된 모든 이벤트를 반환합니다.

구성 개요

로그 파일 모니터링에는 다음 단계가 필요합니다. 자세한 내용은 다음 섹션에 나와 있습니다.

  1. 최신 System Center Operations Manager 2019 Linux 관리 팩을 가져옵니다.
  2. 모니터링할 각 Linux 컴퓨터에 최신 버전의 Linux 에이전트를 설치합니다.
  3. 모니터링할 각 Linux 컴퓨터에 최신 OMSAgent 를 설치합니다.
  4. 로그를 수집할 Fluentd 구성 파일을 만듭니다.
  5. Linux 에이전트에 구성 파일을 복사합니다.
  6. 샘플 관리 팩을 사용해서 규칙 및 모니터를 만들어 로그에서 이벤트를 수집하고 경고를 만듭니다.
  1. 최신 System Center Operations Manager 2022 Linux 관리 팩을 가져옵니다.
  2. 모니터링할 각 Linux 컴퓨터에 최신 버전의 Linux 에이전트를 설치합니다.
  3. 모니터링할 각 Linux 컴퓨터에 최신 OMSAgent 를 설치합니다.
  4. 로그를 수집할 Fluentd 구성 파일을 만듭니다.
  5. Linux 에이전트에 구성 파일을 복사합니다.
  6. 샘플 관리 팩을 사용해서 규칙 및 모니터를 만들어 로그에서 이벤트를 수집하고 경고를 만듭니다.

로그 모니터링 관리 팩 설치

Microsoft.Linux.Log.Monitoring 관리 팩을 설치하여 Linux 로그 파일 모니터링을 사용하도록 설정합니다.

참고

OMS 에이전트가 구성되어 있고 콘솔에서 UNIX 및 LINUX 에이전트를 제거하려고 하면 OMS 구성 요소가 에이전트에서 제거되지 않습니다.

Linux 로그 파일 모니터링 구성

Linux 로그 파일 모니터링을 구성하려면 다음 단계를 수행합니다.

  1. 관리 팩 설치를 위한 표준 프로세스를 사용하여 최신 System Center Operations Manager 2019 Linux 관리 팩을 가져옵니다.

  2. Linux 서버에서 수동으로 또는 [검색 마법사 사용](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console)을 통해 새 Linux 에이전트를 설치합니다.

  3. 모니터링하려는 각 Linux 컴퓨터에 최신 OMSAgent를 설치합니다. 다음 명령을 사용합니다.

    # Download latest OMS Agent from GitHub
    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh
    
    # Run onboarding script
    sh onboard_agent.sh
    

    Linux 에이전트에서 다음 단계를 수행합니다.

  1. 관리 팩 설치를 위한 표준 프로세스를 사용하여 최신 System Center Operations Manager 2022 Linux 관리 팩을 가져옵니다.

  2. Linux 서버에서 수동으로 또는 [검색 마법사 사용](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console)을 통해 새 Linux 에이전트를 설치합니다.

  3. 모니터링하려는 각 Linux 컴퓨터에 최신 OMSAgent를 설치합니다. 다음 명령을 사용합니다.

    # Download latest OMS Agent from GitHub
    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh
    
    # Run onboarding script
    sh onboard_agent.sh
    

    Linux 에이전트에서 다음 단계를 수행합니다.

  1. 아래 명령을 사용하여 다음 경로에 폴더를 만듭니다.

    # Create omsagent.d folder
    mkdir -p /etc/opt/microsoft/omsagent/scom/conf/omsagent.d
    
    # Create certs folder
    mkdir /etc/opt/microsoft/omsagent/scom/certs
    
    # Create log folder
    mkdir -p /var/opt/microsoft/omsagent/scom/log
    
    # Create run folder
    mkdir /var/opt/microsoft/omsagent/scom/run
    
    # Create state folder
    mkdir /var/opt/microsoft/omsagent/scom/state
    
    # Create tmp folder
    mkdir /var/opt/microsoft/omsagent/scom/tmp
    
    # Create fluent-logging folder (used for log file position file, this location is flexible)
    mkdir -p /home/omsagent/fluent-logging
    
  2. 위의 각 폴더에 대한 소유권을 로 설정합니다.omsagent:omiusers

    # Change owner of System Center Operations Manager folder
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom
    
    # Change owner of log folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/log
    
    # Change owner of run folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/run
    
    # Change owner of state folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/state
    
    # Change owner of tmp folder
    chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/tmp
    
    # Change owner of fluent-logging folder (used for log file position file, this location is flexible)
    chown omsagent:omiusers /home/omsagent/fluent-logging
    

    로그 파일 모니터링의 스크린샷

  3. omsagent 및 omsconfig 파일을 만듭니다.

    # Create omsadmin.conf file
    touch /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
    
    # Create omsagent.conf file
    touch /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
    
  4. 위의 각 파일에 omsagent:omiusers대한 소유권을 로 설정합니다.

    # Change owner of omsadmin.conf file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
    
    # Change owner of omsagent.conf file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
    
  5. 파일을 /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf편집하고 강조 표시된 정보를 변경한 후 다음 정보를 추가합니다.

    WORKSPACE_ID=scom
    System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886
    MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
    
  6. OMSAgent를 다시 시작합니다.

    /opt/microsoft/omsagent/bin/service_control restart
    
  7. omsagent 로그에서 상태 확인합니다.

    tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
    

OMED 서비스 사용

Linux 에이전트를 관리하는 리소스 풀의 각 관리 서버에서 OMED 서비스를 사용하도록 설정합니다.

OMED 서비스는 Fluentd에서 이벤트를 수집하고 Operations Manager 이벤트로 변환합니다. Linux 서버에서 받은 이벤트를 기준으로 경고를 생성할 수 있는 사용자 지정 관리 팩을 가져와야 합니다.

운영 콘솔이나 관리 서버 또는 게이트웨이 서버에서 수동으로 OMED 서비스를 사용하도록 설정할 수 있습니다.

  1. 운영 콘솔에서 모니터링Operations Manager관리 서버관리 서버 상태로 이동합니다.
  2. 관리 서버 상태에서 관리 서버를 선택합니다.
  3. 작업에서 상태 관리 서비스 작업System Center OMED Server 사용을 선택합니다.

OMED 방화벽 규칙 추가

OMED 방화벽 규칙을 사용하도록 설정하려면 PowerShell을 통해 자동으로 또는 수동으로 포트(TCP/8886)를 추가하는 두 가지 옵션이 있습니다.

PowerShell을 사용하여 규칙을 자동으로 추가하려면 다음 단계를 수행합니다.

다음 명령을 사용하면 방화벽 규칙을 자동으로 추가할 수 있습니다.

Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886

OMSAgent용 클라이언트 인증서 할당

OMSAgent에 대한 클라이언트 인증서를 할당할 때 두 가지 옵션이 있습니다.

  1. OMI 에이전트에서 서명된 인증서에 연결합니다.
  2. OMS 에이전트에 대한 클라이언트 인증서를 수동으로 생성합니다.

OMI 에이전트에서 서명된 인증서에 연결하거나 OMS 에이전트에서 클라이언트 인증서를 수동으로 생성하는 단계에 필요한 탭을 선택합니다.

  1. omikey.pem 파일omsagent:omiusers의 소유권을 로 omi.pem 설정합니다.

    # Change owner of System Center Operations Manager-cert.pem file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
    
    # Change owner of System Center Operations Manager-key.pem file
    chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
    
  2. Linux 컴퓨터에서 다음 명령을 실행하여 OMS 에이전트 클라이언트 인증서를 OMI 인증서(Operations Manager Linux 에이전트 인증서)로 설정합니다.

    # Link file omi.pem to System Center Operations Manager-cert.pem
    ln -s /etc/opt/omi/ssl/omi.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
    
    # Link file omikey.pem to System Center Operations Manager-key.pem
    ln -s /etc/opt/omi/ssl/omikey.pem /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
    

Fluentd 구성 파일 만들기

구성 파일을 사용하여 Fluentd 작업을 구성합니다. 로그 모니터링을 활용하려면 구성 파일을 만들어야 합니다. 구성 파일에는 수집할 데이터를 정의하는 원본 로그 파일 이름, 경로 및 필터와 같은 정보가 포함됩니다.

master Fluentd 구성 파일 omsagent.conf는 에 있습니다/etc/opt/microsoft/omsagent/scom/conf/. 로그 파일 모니터링 구성을 이 파일에 직접 추가할 수 있지만 다른 설정을 더 잘 관리하려면 별도의 구성 파일을 만들어야 합니다. 그런 다음 마스터 파일에 @include 지시문을 사용하여 사용자 지정 파일을 포함합니다.

예를 들어 에서 logmonitoring.conf를 만든 경우 다음 줄 중 하나를 omsagent.d 파일에 추가합니다./etc/opt/microsoft/omsagent/scom/conf/omsagent.d

# Include all configuration files
@include omsagent.d/*.conf

또는

# Include single configuration file
@include omsagent.d/logmonitoring.conf

Fluentd 구성 파일에 대한 자세한 내용은 Fluentd 구성 파일 구문을 참조하세요.

다음 섹션에서는 로그 파일 모니터링에 고유한 구성 파일의 여러 지시문에 있는 설정을 설명합니다. 각각 구성 파일에 붙여넣고 요구 사항에 맞게 수정할 수 있는 샘플 설정을 포함합니다.

전체 로그 모니터링의 샘플 구성 파일을 사용하여 직접 만들기 전에 검토하고 확인할 수 있습니다.

원본

Source 지시문은 수집 중인 데이터의 원본을 정의합니다. 여기서 로그 파일의 세부 정보를 정의합니다. Fluentd는 원본에 기록된 각 레코드를 선택하고 해당 이벤트를 Fluentd의 라우팅 엔진에 제출합니다. 이 지시문에서 여기에 태그를 지정해야 합니다. 태그는 Fluentd의 내부 라우팅 엔진이 여러 지시문을 상호 연결하는 지침으로 사용되는 문자열입니다.

다음 예제는 Operations Manager에서 처리하기 위해 수집 및 태그 지정된 syslog 레코드를 보여 줍니다.

<source>

    # Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in\_tail
    type tail

    # Specify the log file path. Supports wild cards.
    path /var/log/syslog

    # Recommended so that Fluentd will record the position it last read into this file.
    pos_file /home/user1/fluent-test/demo_syslog.log.pos

    # Used to correlate the directives.
    tag System Center Operations Manager.log.syslog

    format /(?<message>.*)/

</source>

Assert

필터 지시문은 Match와 동일한 구문을 사용하지만 처리할 데이터를 더 복잡하게 필터링할 수 있습니다. 수집된 이벤트는 출력에 추가할 모든 필터의 조건과 일치해야 합니다.

여기에 설명된 로그 파일 모니터링용 필터 플러그 인 6개가 있습니다. 이 필터 중 하나 이상을 사용하여 로그 파일에서 수집할 이벤트를 정의합니다.

  • 단순 일치: filter_System Center Operations Manager_simple_match
  • 배타적 일치: filter_System Center Operations Manager_excl_match
  • 반복된 상관 관계: filter_System Center Operations Manager_repeated_cor
  • 상관 관계 일치: filter_System Center Operations Manager_cor_match
  • 단독 상관 관계: filter_System Center Operations Manager_excl_correlation
  • Operations Manager 변환기: filter_System Center Operations Manager_converter

필요한 탭을 선택하여 해당 필터 플러그 인에 대한 코드를 복사합니다.

최대 20개의 입력 패턴을 사용합니다. 패턴이 일치할 때마다 Operations Manager에 이벤트를 보냅니다.

<filter tag>

    type filter_System Center Operations Manager_simple_match
    regexp1 <key> <pattern>
    event_id1 <event ID>
    regexp2 <key> <pattern>
    event_id2 <event ID>
    .
    .
    .
    regexp20 <key> <pattern>
    event_id20 <event ID>
</filter>

일치

match 지시문은 일치하는 태그를 사용하여 원본에서 수집된 이벤트를 처리하는 방법을 정의합니다. 패턴과 일치하는 태그가 있는 이벤트만 출력 대상으로 전송됩니다. 여러 패턴이 match 태그 하나에 나열된 경우, 이벤트가 나열된 패턴 중 하나와 일치할 수 있습니다. type 매개 변수는 이러한 이벤트에 사용할 플러그 인의 형식을 지정합니다.

다음은 System Center Operations Manager.log 일치하는 태그가 있는 이벤트를 처리하는 예제입니다. ** 및 System Center Operations Manager.alert (**는 0개 이상의 태그 부분과 일치함). Operations Manager 관리 팩에서 이벤트를 수집할 수 있는 out_System Center Operations Manager 플러그 인을 지정합니다.

<match System Center Operations Manager.log.** System Center Operations Manager.event>

    # Output plugin to use
     type out_System Center Operations Manager

    log_level trace
    num_threads 5

    # Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
    queue and bottom chunk is written out.
    buffer_chunk_limit 5m
    flush_interval 15s

    # Specifies the buffer plugin to use.
    buffer_type file

    # Specifies the file path for buffer. Fluentd must have write access to this directory.
    buffer_path /var/opt/microsoft/omsagent/scom/state/out_System Center Operations Manager_common*.buffer

    # If queue length exceeds the specified limit, events are rejected.
    buffer_queue_limit 10

    # Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
    buffer_queue_full_action drop_oldest_chunk

    # Number of times Fluentd will attempt to write the chunk if it fails.
    retry_limit 10

    # If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
    retry_wait 30s

    # The retry wait time doubles each time until max_retry_wait.
    max_retry_wait 9m

</match>

참고

Fluentd 통신을 사용하는 Linux 컴퓨터에서 서버 인증을 사용하지 않도록 설정하려면 다음과 같이 Fluentd용 Operations Manager 플러그 인에 enable_server_auth false 매개 변수를 추가합니다.

<match System Center Operations Manager.log.** System Center Operations Manager.event>
type out_System Center Operations Manager

max_retry_wait 9m
enable_server_auth false

</match>

에이전트에 구성 파일 복사

모니터링하려는 모든 Linux 컴퓨터의 /etc/opt/microsoft/omsagent/scom/conf/omsagent.d에 Fluentd 구성 파일을 복사해야 합니다. 위에서 설명한 대로 마스터 구성 파일에도 @include 지시문을 추가해야 합니다.

omsagent 다시 시작

다음 명령을 실행하여 omsagent를 다시 시작할 수 있습니다.

/opt/microsoft/omsagent/bin/service_control restart

System Center Operations Manager 작업 영역의 상태 확인

다음 명령을 실행하여 OMSAgent에서 System Center Operations Manager 작업 영역을 검사.

sh /opt/microsoft/omsagent/bin/omsadmin.sh -l

참고

OMED 서비스를 실행하는 관리 서버에서 포트 8886의 방화벽이 열려 있고 중간 인증 기관 인증서 저장소에 중간 인증 기관만 포함되어 있는지 확인합니다.

System Center Operations Manager External DataSource Service에 대한 이벤트 로그

System Center OMED 서비스 이벤트 로그는 System Center Operations Manager OMED(External DataSource Service) 서비스로 성공적으로 전송된 이벤트가 있는 경우에만 만들어집니다.

규칙 및 모니터 만들기

Linux 관리 팩은 FluentD에서 이벤트를 수집하는 모듈을 제공하지 않으며 Linux 관리 팩은 Linux 에이전트와 함께 번들로 제공됩니다. 향상된 로그 파일 모니터링 기능을 제공하는 관리 및 게이트웨이 서버의 Linux 에이전트 및 OMED 서비스의 흐름 모듈입니다.

Fluentd에서 이벤트를 수집하는 데 Microsoft.Linux.OMED.EventDataSource 모듈을 사용하는 사용자 지정 규칙 및 모니터로 고유한 관리 팩을 만들어야 합니다. System Center OMED Service 이벤트 로그를 통해 전송된 이벤트의 컴퓨터 이름은 UNIX/Linux 컴퓨터 보기의 컴퓨터 이름과 일치해야 합니다. 컴퓨터 이름이 일치하지 않으면 경고가 수신되지 않습니다.

다음 표에는 Microsoft.Linux.OMED.EventDataSource의 매개 변수가 나와 있습니다.

매개 변수 형식 설명
컴퓨터 이름 문자열 필수 사항입니다. 이벤트를 읽을 Linux 컴퓨터의 이름을 지정합니다. ComputerName 매개 변수는 임의 문자열로 지정될 수 있지만 가장 일반적으로 $Target 표기법을 사용하여 모듈에 전달됩니다. 이 모듈은 지정된 Linux 컴퓨터에서 생성된 이벤트를 읽으려고 시도합니다.
ManagedEntityId 문자열 필수 사항입니다. 모니터링된 엔티티의 관리되는 엔터티 ID를 지정합니다. ManagedEntityId 매개 변수는 가장 일반적으로 $Target\Id$를 사용하여 모듈에 전달됩니다.
EventNumber 정수 선택 사항입니다. 검색할 이벤트의 이벤트 번호를 표시합니다. 이 옵션을 생략하면 모듈은 해당 컴퓨터 및 관리되는 엔터티에 대해 생성된 모든 이벤트를 반환합니다.

다음 단계