Share via


Container Insights を使用した Syslog 収集

Container Insights には、Azure Kubernetes Service (AKS) クラスター内の Linux ノードから Syslog イベントを収集する機能が用意されています。 これには、kubelet のようにコントロール プレーンのコンポーネントからログを収集する機能が含まれます。 お客様は、セキュリティと正常性のイベントを監視する場合にも Syslog を使用できます。通常は、Syslog を Microsoft Sentinel などの SIEM システムに取り込みます。

前提条件

Syslog を有効にする方法

Azure portal から

クラスターに移動します。 クラスターの [分析情報] タブを開きます。 [モニターの設定] パネルを開きます。 [コレクション設定の編集] をクリックし、[Syslog コレクションを有効にする] のチェック ボックスをオンにします。

Screen recording of syslog being enabled from the Azure portal through the Monitor Settings panel in Container Insights.

Azure CLI コマンドの使用

Azure CLI で次のコマンドを使用して、新しい AKS クラスターを作成するときに Syslog 収集を有効にします。

az aks create -g syslog-rg -n new-cluster --enable-managed-identity --node-count 1 --enable-addons monitoring --enable-msi-auth-for-monitoring --enable-syslog --generate-ssh-key

Azure CLI で次のコマンドを使用して、既存の AKS クラスターで Syslog 収集を有効にします。

az aks enable-addons -a monitoring --enable-msi-auth-for-monitoring --enable-syslog -g syslog-rg -n existing-cluster

ARM テンプレートの使用

ARM テンプレートを使用して Syslog 収集を有効にすることもできます

  1. GitHub コンテンツ ファイルのテンプレートをダウンロードし、existingClusterOnboarding.json として保存します。

  2. GitHub コンテンツ ファイルのパラメーター ファイルをダウンロードし、existingClusterParam.json として保存します。

  3. パラメーター ファイルの値を編集します。

    • aksResourceId: AKS クラスターについて [AKS の概要] ページの値を使用します。
    • aksResourceLocation: AKS クラスターについて [AKS の概要] ページの値を使用します。
    • workspaceResourceId: Log Analytics ワークスペースのリソース ID を使用します。
    • resourceTagValues: クラスターの既存の Container Insights 拡張機能のデータ収集ルール (DCR) に指定された既存のタグ値と DCR の名前に一致します。 名前は MSCI-<clusterName>-<clusterRegion> となり、このリソースは AKS クラスター リソース グループに作成されます。 これが初回オンボードの場合は、任意のタグ値をセットできます。
    • enableSyslog: true に設定します
    • syslogLevels: 収集する Syslog レベルの配列。 既定では、すべてのレベルが収集されます。
    • syslogFacilities: 収集する Syslog ファシリティの配列。 既定では、すべてのファシリティが収集されます

Note

Syslog レベルとファシリティのカスタマイズは、現在、ARM テンプレート経由でのみ使用できます。

テンプレートのデプロイ

Resource Manager テンプレートのデプロイに使用できる任意の方法を使用して、パラメーター ファイルと共にテンプレートをデプロイします。 さまざまな方法の例については、「サンプル テンプレートをデプロイする」を参照してください。

Azure PowerShell でのデプロイ

New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName <ResourceGroupName> -TemplateFile .\existingClusterOnboarding.json -TemplateParameterFile .\existingClusterParam.json

設定の変更が完了するまで数分かかります。 完了すると、次の例のような結果を含むメッセージが表示されます。

provisioningState       : Succeeded

Azure CLI でのデプロイ

az login
az account set --subscription "Subscription Name"
az deployment group create --resource-group <ResourceGroupName> --template-file ./existingClusterOnboarding.json --parameters @./existingClusterParam.json

設定の変更が完了するまで数分かかります。 完了すると、次の例のような結果を含むメッセージが表示されます。

provisioningState       : Succeeded

Syslog データにアクセスする方法

組み込みのブックを使用したアクセス

Syslog データの簡単なスナップショットを取得する場合に、お客様は組み込みの Syslog ブックを使用できます。 組み込みのブックにアクセスする方法は 2 つあります。

オプション 1 - Container Insights の [レポート] タブ。 クラスターに移動します。 クラスターの [分析情報] タブを開きます。 [レポート] タブを開き、Syslog ブックを探します。

Video of Syslog workbook being accessed from Container Insights Reports tab.

オプション 2 - AKS の [ブック] タブ。クラスターに移動します。 クラスターの [ブック] タブを開き、Syslog ブックを探します。

Video of Syslog workbook being accessed from cluster workbooks tab.

Grafana ダッシュボードを使ったアクセス

お客様は、Grafana 用 Syslog ダッシュボードを使って Syslog データの概要を取得できます。 新しい Azure マネージド Grafana インスタンスを作成するお客様は、既定でこのダッシュボードを使用できます。 既存のインスタンスを持っているか独自のインスタンスを実行しているお客様は、Grafana Marketplace から Syslog ダッシュボードをインポートできます。

Note

Container Insights から syslog にアクセスするには、Azure Managed Grafana インスタンスを含むサブスクリプションに対する監視閲覧者ロールが必要になります。

Screenshot of Syslog Grafana dashboard.

ログ クエリを使用したアクセス

Syslog データは、Log Analytics ワークスペースの Syslog テーブルに格納されます。 Log Analytics で独自のログ クエリを作成して、このデータを分析したり、事前構築済みのクエリを使用したりできます。

Screenshot of Syslog query loaded in the query editor in the Azure Monitor Portal UI.

[監視] メニューの [ログ] メニューから Log Analytics を開いて、すべてのクラスターの Syslog データにアクセスするか、AKS クラスターのメニューからそのクラスターの Syslog データにのみアクセスできます。

Screenshot of Query editor with Syslog query.

サンプル クエリ

次の表は、Syslog レコードを取得するログ クエリのさまざまな例をまとめたものです。

クエリ 説明
Syslog すべての Syslog
Syslog | where SeverityLevel == "error" 重大度がエラーであるすべての Syslog レコード
Syslog | summarize AggregatedValue = count() by Computer コンピューターごとの Syslog レコードの数
Syslog | summarize AggregatedValue = count() by Facility ファシリティごとの Syslog レコードの数
Syslog | where ProcessName == "kubelet" kubelet プロセスのすべての Syslog レコード
Syslog | where ProcessName == "kubelet" and SeverityLevel == "error" エラーが発生した kubelet プロセスからの Syslog レコード

Syslog 収集設定の編集

Syslog 収集の構成を変更するには、有効にしたときに作成されたデータ収集ルール (DCR) を変更します。

Azure portal の [監視] メニューから [データ収集ルール] を選択します。

Screenshot of Data Collection Rules tab in the Azure Monitor portal UI.

DCR を選んでから、[データ ソースの表示] を選択します。 [Linux Syslog] データ ソースを選択して、Syslog 収集の詳細を表示します。

Note

Syslog を有効にすると、DCR が自動的に作成されます。 DCR では名前付け規則 MSCI-<WorkspaceRegion>-<ClusterName> に従います。

Screenshot of Data Sources tab for Syslog data collection rule.

収集する各機能の最小ログ レベルを選択します。

Screenshot of Configuration panel for Syslog data collection rule.

次のステップ

セットアップ後、お客様は選択したツールへの Syslog データの送信を開始できます

詳細情報

この機能に関するフィードバックは、https://forms.office.com/r/BBvCjjDLTS からお寄せください。