다음을 통해 공유


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

참고 항목

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

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에서 경고를 만듭니다.

구성 개요

로그 파일 모니터링에는 다음 단계가 필요합니다. 자세한 내용은 다음 섹션에서 제공합니다.

  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 서버에 새 Linux 에이전트를 수동으로 설치하거나 [검색 마법사 사용](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console)을 통해 설치합니다.

  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 서버에 새 Linux 에이전트를 수동으로 설치하거나 [검색 마법사 사용](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console)을 통해 설치합니다.

  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 서비스 사용

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

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

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

  1. 운영 콘솔에서 Monitoring>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 파일의 소유권을 omi.pem 다음으로 omsagent:omiusers설정합니다.

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

마스터 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>

필터

필터 지시문은 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 외부 DataSource Service에 대한 이벤트 로그

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

규칙 및 모니터 만들기

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

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

다음 표에서는 Microsoft.Linux.OMED.EventDataSource매개 변수를 나열합니다.

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

다음 단계

  • 사용자 지정 로그 파일 관리 팩에서 모니터링 데이터를 검토하는 사용자 지정 보기를 만들려면 Operations Manager에서 보기 사용을 검토합니다.

  • 사용자 지정 로그 파일 관리 팩으로 식별된 문제를 조사하는 방법을 알아보려면 활성 경고 및 세부 정보 보기를 검토하세요.