チュートリアル: Azure Monitor エージェントを使用して、Microsoft Sentinel を含む Log Analytics ワークスペースに Syslog データを転送する
このチュートリアルでは、Azure Monitor エージェントを使用して Syslog データをワークスペースに転送するように Linux 仮想マシン (VM) を構成します。 これらの手順では、ファイアウォール ネットワーク デバイスなどのエージェントをインストールできない Linux ベースのデバイスからデータを収集および監視できます。
Note
Container Insights では、AKS クラスター内の Linux ノードからの Syslog イベントの自動収集をサポートするようになりました。 詳細については、「Container Insights を使用した Syslog 収集」を参照してください。
Linux VM にデータを送信するように Linux ベースのデバイスを構成します。 VM 上の Azure Monitor エージェントは、Syslog データを Log Analytics ワークスペースに転送します。 次に、Microsoft Sentinel または Azure Monitor を使用して、Log Analytics ワークスペースへの格納データからデバイスを監視します。
このチュートリアルでは、以下の内容を学習します。
- データ収集ルールを作成する。
- Azure Monitor エージェントが実行されていることを確認します。
- ポート 514 でのログ受信を有効にします。
- Syslog データが Log Analytics ワークスペースに転送されていることを確認します。
前提条件
このチュートリアルの手順を完了するには、次のリソースとロールが必要です。
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
エージェントをデプロイし、データ収集ルールを作成するための次のロールを持つ Azure アカウント。
組み込みのロール Scope 理由 - 仮想マシン共同作成者
- Azure Connected Machine リソース管理者- 仮想マシン
- スケール セット
- Azure Arc 対応サーバーエージェントをデプロイするため アクション Microsoft.Resources/deployments/* を含む任意のロール - サブスクリプション
- リソース グループ
- 既存のデータ収集ルールAzure Resource Manager テンプレートをデプロイするには 監視共同作成者 - サブスクリプション
- リソース グループ
- 既存のデータ収集ルールデータ収集ルールを作成または編集するには Log Analytics ワークスペース。
Azure Monitor エージェントをサポートするオペレーティング システムを実行している Linux サーバー。
ファイアウォール ネットワーク デバイスなどのイベント ログ データを生成する Linux ベースのデバイス。
Syslog データを収集するように Azure Monitor エージェントを構成する
「Azure Monitor エージェントを使用して Syslog イベントを収集する」の詳細な手順を参照してください。
Azure Monitor エージェントが実行されていることを確認する
Microsoft Sentinel または Azure Monitor で、Azure Monitor エージェントが VM 上で実行されていることを確認します。
Azure portal で、Microsoft Sentinel または Azure Monitor を検索して開きます。
Microsoft Sentinel を使用している場合は、適切なワークスペースを選択します。
[全般] で、[ログ] を選択します。
[新しいクエリ] タブを表示させるために [クエリ] ページを閉じます。
computer 値を Linux 仮想マシンの名前で置き換えて次のクエリを実行します。
Heartbeat | where Computer == "vm-linux" | take 10
ポート 514 でログ受信を有効にする
ログ データを収集している VM で、Syslog ソースに応じてポート 514 TCP または UDP での受信が許可されていることを確認します。 次に、デバイスからの Syslog メッセージをリッスンするように、VM 上の組み込みの Linux Syslog デーモンを構成します。 これらの手順を完了したら、ログを VM に送信するように Linux ベースのデバイスを構成します。
Note
ファイアウォールが実行されている場合は、リモート システムがデーモンの syslog リスナーに到達できるように規則を作成する必要があります: systemctl status firewalld.service
- tcp 514 用に追加する (お使いのゾーン/ポート/プロトコルは、シナリオによって異なる場合があります)
firewall-cmd --zone=public --add-port=514/tcp --permanent
- udp 514 用に追加する (ゾーン/ポート/プロトコルは、シナリオによって異なる場合があります)
firewall-cmd --zone=public --add-port=514/udp --permanent
- ファイアウォール サービスを再起動して、新しい規則を確実に有効にする
systemctl restart firewalld.service
次の 2 つのセクションでは、Azure VM の受信ポート規則を追加し、組み込みの Linux Syslog デーモンを構成する方法をカバーします。
VM で Syslog の受信トラフィックを許可する
Syslog データを Azure VM に転送する場合は、次の手順に従ってポート 514 での受信を許可します。
Azure portal で、仮想マシンを検索して選択します。
VM を選択します。
[設定] で、 [ネットワーク] を選択します。
[受信ポートの規則を追加する] を選択します。
次の値を入力します。
フィールド 値 宛先ポート範囲 514 プロトコル Syslog ソースに応じた TCP または UDP アクション Allow 名前 AllowSyslogInbound 残りのフィールドについては既定値をそのまま使用します。
[追加] を選択します。
Linux Syslog デーモンを構成する
Linux VM に接続し、Linux Syslog デーモンを構成します。 たとえば、ネットワーク環境の必要に合わせて次のコマンドを調整し、実行します。
sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python3 Forwarder_AMA_installer.py
このスクリプトは、rsyslog.d と syslog-ng の両方に変更を加えることができます。
Note
エージェントが機能できないディスクがいっぱいになるシナリオを回避するには、エージェントで不要なログを格納しないように syslog-ng
または rsyslog
構成を設定する必要があります。 ディスクがいっぱいになるシナリオでは、インストールされている Azure Monitor エージェントの機能が妨害されます。
rsyslog または syslog-ng の詳細をご確認ください。
Syslog データが Log Analytics ワークスペースに転送されていることを確認する
ログを VM に送信するように Linux ベースのデバイスを構成したら、Azure Monitor エージェントが Syslog データをワークスペースに転送していることを確認します。
Azure portal で、Microsoft Sentinel または Azure Monitor を検索して開きます。
Microsoft Sentinel を使用している場合は、適切なワークスペースを選択します。
[全般] で、[ログ] を選択します。
[新しいクエリ] タブを表示させるために [クエリ] ページを閉じます。
computer 値を Linux 仮想マシンの名前で置き換えて次のクエリを実行します。
Syslog | where Computer == "vm-linux" | summarize by HostName
リソースをクリーンアップする
作成した VM などのリソースが必要かどうかを評価します。 リソースを実行したままにすると、コストが発生する可能性があります。 必要のないリソースを個別に削除します。 または、リソース グループを削除して、作成したすべてのリソースを削除することもできます。