다음을 통해 공유


Syslog의 Service Fabric Linux 클러스터 이벤트

Service Fabric은 사용자에게 클러스터의 중요한 작업에 대해 알리기 위해 플랫폼 이벤트 세트를 공개합니다. 공개되는 이벤트의 전체 목록은 여기서 확인할 수 있습니다. 이러한 이벤트를 사용할 수 있는 방법은 다양하게 있습니다. 이 문서에서는 이러한 이벤트를 Syslog에 작성하도록 Service Fabric을 구성하는 방법을 설명합니다.

소개

6.4 릴리스에서는 Linux 클러스터용 Syslog에 Service Fabric 플랫폼 이벤트를 보내기 위해 SyslogConsumer가 도입되었습니다. 이 기능을 켜면 Log Analytics 에이전트에서 수집 및 전송할 수 있는 이벤트가 자동으로 Syslog로 흐릅니다.

각 Syslog 이벤트에 4개 구성 요소가 있음

  • 시설
  • ID
  • 메시지
  • 심각도

SyslogConsumer는 Facility Local0를 사용하여 모든 플랫폼 이벤트를 씁니다. 구성을 변경하여 유효한 시설로 업데이트할 수 있습니다. 사용되는 Identity는 ServiceFabric입니다. 메시지 필드에는 다양한 도구에서 쿼리하고 사용할 수 있도록 JSON으로 직렬화된 전체 이벤트가 포함됩니다.

SyslogConsumer 사용

SyslogConsumer를 사용하려면 클러스터를 업그레이드해야 합니다. fabricSettings 섹션을 다음 코드로 업데이트해야 합니다. 이 코드는 SyslogConsumer와 관련된 섹션만 포함하고 있습니다.

    "fabricSettings": [
        {
            "name": "Diagnostics",
            "parameters": [
            {
                "name": "ConsumerInstances",
                "value": "AzureWinFabCsv, AzureWinFabCrashDump, AzureTableWinFabEtwQueryable, SyslogConsumer"
            }
            ]
        },
        {
            "name": "SyslogConsumer",
            "parameters": [
            {
                "name": "ProducerInstance",
                "value": "WinFabLttProducer"
            },
            {
            "name": "ConsumerType",
            "value": "SyslogConsumer"
            },
            {
                "name": "IsEnabled",
                "value": "true"
            }
            ]
        },
        {
            "name": "Common",
            "parameters": [
            {
                "name": "LinuxStructuredTracesEnabled",
                "value": "true"
            }
            ]
        }
    ],

실행할 변경 작업은 다음과 같습니다.

  1. 일반 섹션에는 LinuxStructuredTracesEnabled라는 새로운 매개 변수가 있습니다. Syslog로 전송되는 Linux 이벤트를 정형화 및 직렬화하는 데 필요합니다.
  2. 진단 섹션에 새 ConsumerInstance: SyslogConsumer가 추가되었습니다. 이는 플랫폼에 또 다른 이벤트 소비자가 있음을 알려줍니다.
  3. 새로운 SyslogConsumer 섹션은 IsEnabledtrue로 설정해야 합니다. Local0 시설을 자동으로 사용하도록 구성되어 있습니다. 또 다른 매개 변수를 추가하여 이 설정을 재정의할 수 있습니다.
    {
        "name": "New LogFacility",
        "value": "<Valid Syslog Facility>"
    }

Azure Monitor 로그 통합

Azure Monitor 로그와 같은 모니터링 도구에서 이러한 Syslog 이벤트를 쓸 수 있습니다. 이러한 지침을 사용하여 Azure Marketplace를 통해 Log Analytics 작업 영역을 만들 수 있습니다.

또한 이 데이터를 수집하고 작업 영역으로 보내려면 클러스터에 Log Analytics 에이전트를 추가해야 합니다. 성능 카운터를 수집하기 위해 사용되는 에이전트와 동일한 에이전트입니다.

  1. Advanced Settings 섹션으로 이동

    작업 영역 설정

  2. Data 선택

  3. Syslog 선택

  4. 추적할 시설로 Local0를 구성합니다. fabricSettings에서 시설을 변경한 경우 다른 시설을 추가해도 됩니다.

    Syslog 구성

  5. 작업 영역 리소스의 쿼리 시작 메뉴에서 Logs를 클릭하여 쿼리 탐색기로 이동합니다.

    작업 영역 로그

  6. Syslog 테이블을 쿼리하여 ProcessName으로 ServiceFabric을 찾을 수 있습니다. 다음 쿼리는 이벤트의 JSON을 구문 분석하고 그 내용을 표시하는 방법의 예입니다.

    Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload

Syslog 쿼리

위의 예제는 NodeDown 이벤트입니다. 이벤트 전체 목록은 여기서 볼 수 있습니다.

다음 단계