教學課程:使用 Azure 監視器代理程式將 Syslog 資料轉送到具有 Microsoft Sentinel 的 Log Analytics 工作區
在本教學課程中,您將會設定 Linux 虛擬機器 (VM),以使用 Azure 監視器代理程式將 syslog 資料轉送到您的工作區。 這些步驟可讓您從以 Linux 為基礎的裝置收集及監視資料,您在此類裝置中無法安裝代理程式,例如防火牆網路裝置。
注意
Container Insights 現在支援來自 AKS 叢集中 Linux 節點的一系列 Syslog 事件自動收集。 若要深入了解,請參閱使用容器深入解析收集 Syslog。
設定以 Linux 為基礎的裝置以將資料傳送至 Linux VM。 VM 上的 Azure 監視器代理程式會將 Syslog 資料轉送至 Log Analytics 工作區。 然後使用 Microsoft Sentinel 或 Azure 監視器,從 Log Analytics 工作區中儲存的資料監視裝置。
在本教學課程中,您會了解如何:
- 建立資料收集規則。
- 確認 Azure 監視器代理程式正在執行。
- 在連接埠 514 上啟用記錄接收。
- 確認 Syslog 資料已轉送到 Log Analytics 工作區。
必要條件
若要完成本教學課程中的步驟,您必須具備下列資源和角色:
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
具有下列角色的 Azure 帳戶,可部署代理程式並建立資料收集規則。
內建角色 範圍 原因 - 虛擬機器參與者
- Azure Connected Machine 資源管理員- 虛擬機器
- 擴展集
- 已啟用 Azure Arc 的伺服器若要部署代理程式 包含動作 Microsoft.Resources/deployments/* 的任何角色 - 訂用帳戶
- 資源群組
- 現有的資料收集規則部署 Azure Resource Manager 範本 監視參與者 - 訂用帳戶
- 資源群組
- 現有的資料收集規則為了建立或編輯資料收集規則 Log Analytics 工作區。
執行支援 Azure 監視器代理程式的作業系統的 Linux 伺服器。
產生事件記錄檔資料的以 Linux 為基礎的裝置,例如防火牆網路裝置。
設定 Azure 監視器代理程式以收集 Syslog 資料
請參閱使用 Azure 監視器代理程式收集 Syslog 事件中的逐步指示。
確認 Azure 監視器代理程式正在執行
在 Microsoft Sentinel 或 Azure 監視器中,確認 Azure 監視器代理程式正在您的 VM 上執行。
在 Azure 入口網站中,搜尋並開啟 [Microsoft Sentinel] 或 [Azure 監視器]。
如果您使用 Microsoft Sentinel,請選取適當的工作區。
在 [一般] 底下,選取 [記錄檔]。
關閉 [查詢] 頁面,以顯示 [新增查詢] 索引標籤。
執行下列查詢,在其中以 Linux VM 的名稱取代電腦值。
Heartbeat | where Computer == "vm-linux" | take 10
在連接埠 514 上啟用記錄接收
確認收集記錄資料的 VM 允許根據 Syslog 來源在連接埠 514 TCP 或 UDP 上進行接收。 然後設定 VM 上的內建 Linux Syslog 精靈,以接聽來自裝置的 syslog 訊息。 完成這些步驟之後,請設定以 Linux 為基礎的裝置,將記錄傳送至 VM。
注意
如果防火牆正在執行,則必須建立規則以允許遠端系統連線精靈的 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
下列兩節說明如何新增 Azure VM 的輸入連接埠規則,以及設定內建的 Linux Syslog 精靈。
允許 VM 上的輸入 Syslog 流量
如果您要將 Syslog 資料轉送至 Azure VM,請遵循這些步驟來允許在連接埠 514 上進行接收。
在 Azure 入口網站中,搜尋並選取 [虛擬機器]。
選取 VM。
在 [設定] 底下,選取 [網路]。
選取 [新增輸入連接埠規則]。
輸入下列值。
欄位 值 目的地連接埠範圍 514 通訊協定 TCP 或 UDP,視 Syslog 來源而定 動作 允許 名稱 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 進行變更。
注意
為了避免磁碟已滿的情況,導致代理程式無法運作,建議您將 syslog-ng
或 rsyslog
組態設定為不儲存不必要的記錄。 磁碟已滿的情況會中斷已安裝 Azure 監視器代理程式的運作。
深入了解 rsyslog 或 syslog-ng。
確認 Syslog 資料已轉送到 Log Analytics 工作區
設定以 Linux 為基礎的裝置以將記錄傳送至 VM 之後,請確認 Azure 監視器代理程式正在將 Syslog 資料轉送至您的工作區。
在 Azure 入口網站中,搜尋並開啟 [Microsoft Sentinel] 或 [Azure 監視器]。
如果您使用 Microsoft Sentinel,請選取適當的工作區。
在 [一般] 底下,選取 [記錄檔]。
關閉 [查詢] 頁面,以顯示 [新增查詢] 索引標籤。
執行下列查詢,在其中以 Linux VM 的名稱取代電腦值。
Syslog | where Computer == "vm-linux" | summarize by HostName
清除資源
評估您是否需要您建立之 VM 之類的資源。 如果您繼續執行資源,則可能會產生費用。 個別刪除您不需要的資源。 您也可以刪除資源群組,以刪除您建立的所有資源。