Container Insights を使用した Syslog 収集
Container Insights には、Azure Kubernetes Service (AKS) クラスター内の Linux ノードから Syslog イベントを収集する機能が用意されています。 これには、kubelet のようにコントロール プレーンのコンポーネントからログを収集する機能が含まれます。 お客様は、セキュリティと正常性のイベントを監視する場合にも Syslog を使用できます。通常は、Syslog を Microsoft Sentinel などの SIEM システムに取り込みます。
前提条件
- クラスターでマネージド ID 認証を有効にする必要があります。 有効にする場合は、「AKS クラスターをマネージド ID 認証に移行する」を参照してください。 注: マネージド ID を有効にすると、
MSCI-<WorkspaceRegion>-<ClusterName>
という名前の新しいデータ収集ルール (DCR) が作成されます。 - ポート 28330 は、ホスト ノードで使用できる必要があります。
- Azure コンポーネントの最小バージョン
- Azure CLI: Azure CLI に必要な最小バージョンは 2.45.0 (リリース ノートへのリンク) です。 アップグレード手順については、「Azure CLI を更新する方法」を参照してください。
- Azure CLI AKS-Preview 拡張機能: AKS-Preview Azure CLI 拡張機能に必要な最小バージョンは 0.5.125 (リリース ノートへのリンク) です。 アップグレード ガイダンスについては、「拡張機能を更新する方法」を参照してください。
- Linux イメージのバージョン: AKS ノード Linux イメージの最小バージョンは 2022.11.01 です。 アップグレードのヘルプについては、「Azure Kubernetes Service (AKS) ノード イメージのアップグレード」を参照してください。
Syslog を有効にする方法
Azure portal から
クラスターに移動します。 クラスターの [分析情報] タブを開きます。 [モニターの設定] パネルを開きます。 [コレクション設定の編集] をクリックし、[Syslog コレクションを有効にする] のチェック ボックスをオンにします。
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 収集を有効にすることもできます
GitHub コンテンツ ファイルのテンプレートをダウンロードし、existingClusterOnboarding.json として保存します。
GitHub コンテンツ ファイルのパラメーター ファイルをダウンロードし、existingClusterParam.json として保存します。
パラメーター ファイルの値を編集します。
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 ブックを探します。
オプション 2 - AKS の [ブック] タブ。クラスターに移動します。 クラスターの [ブック] タブを開き、Syslog ブックを探します。
Grafana ダッシュボードを使ったアクセス
お客様は、Grafana 用 Syslog ダッシュボードを使って Syslog データの概要を取得できます。 新しい Azure マネージド Grafana インスタンスを作成するお客様は、既定でこのダッシュボードを使用できます。 既存のインスタンスを持っているか独自のインスタンスを実行しているお客様は、Grafana Marketplace から Syslog ダッシュボードをインポートできます。
Note
Container Insights から syslog にアクセスするには、Azure Managed Grafana インスタンスを含むサブスクリプションに対する監視閲覧者ロールが必要になります。
ログ クエリを使用したアクセス
Syslog データは、Log Analytics ワークスペースの Syslog テーブルに格納されます。 Log Analytics で独自のログ クエリを作成して、このデータを分析したり、事前構築済みのクエリを使用したりできます。
[監視] メニューの [ログ] メニューから Log Analytics を開いて、すべてのクラスターの Syslog データにアクセスするか、AKS クラスターのメニューからそのクラスターの Syslog データにのみアクセスできます。
サンプル クエリ
次の表は、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 の [監視] メニューから [データ収集ルール] を選択します。
DCR を選んでから、[データ ソースの表示] を選択します。 [Linux Syslog] データ ソースを選択して、Syslog 収集の詳細を表示します。
Note
Syslog を有効にすると、DCR が自動的に作成されます。 DCR では名前付け規則 MSCI-<WorkspaceRegion>-<ClusterName>
に従います。
収集する各機能の最小ログ レベルを選択します。
次のステップ
セットアップ後、お客様は選択したツールへの Syslog データの送信を開始できます
詳細情報
この機能に関するフィードバックは、https://forms.office.com/r/BBvCjjDLTS からお寄せください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示