Syslog-események gyűjtése az Azure Monitor-ügynökkel

Figyelemfelhívás

Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Ennek megfelelően fontolja meg a használatot és a tervezést. További információ: CentOS End Of Life útmutató.

A Syslog egy linuxos eseménynaplózási protokoll. A Linux-eszközökre és -berendezésekre beépített Syslog-démon használatával összegyűjtheti a megadott típusú helyi eseményeket. Ezután elküldheti az eseményeket egy Log Analytics-munkaterületre. Az alkalmazások olyan üzeneteket küldenek, amelyeket a helyi gépen tárolhatnak, vagy egy Syslog-gyűjtőnek kézbesítenek.

A Linuxhoz készült Azure Monitor-ügynök telepítésekor konfigurálja a helyi Syslog-démont, hogy továbbítsa az üzeneteket az ügynöknek, ha a Syslog-gyűjtemény engedélyezve van az adatgyűjtési szabályokban (DCRs). Az Azure Monitor-ügynök ezután elküldi az üzeneteket egy Azure Monitor- vagy Log Analytics-munkaterületre, ahol egy megfelelő Syslog-rekord jön létre egy Syslog-táblában.

A Syslog-gyűjteményt bemutató diagram.

A Syslog démon és az Azure Monitor-ügynök kommunikációját bemutató ábra.

A Syslog-gyűjtő a következő lehetőségeket támogatja:

  • Egyik sem
  • Kern
  • user
  • levélküldés
  • Daemon
  • auth
  • syslog
  • Lpr
  • Hírek
  • Uucp
  • ftp
  • Ntp
  • naplózás
  • riasztás
  • mark
  • local0
  • local1
  • local2
  • local3
  • local4
  • local5
  • local6
  • local7

Bizonyos eszköztípusok esetében, amelyek nem teszik lehetővé az Azure Monitor Agent helyi telepítését, az ügynök egy dedikált Linux-alapú naplótovábbítóra telepíthető. A forráseszközt úgy kell konfigurálni, hogy a helyi démon helyett a syslog-eseményeket a továbbítón lévő Syslog-démonnak küldje. További információt a Sentinel oktatóanyagában talál.

A Syslog konfigurálása

A Linuxhoz készült Azure Monitor-ügynök csak a konfigurációjában megadott létesítményekkel és súlyosságokkal gyűjti össze az eseményeket. A Syslogot az Azure Portalon vagy a Linux-ügynökök konfigurációs fájljainak kezelésével konfigurálhatja.

A Syslog konfigurálása az Azure Portalon

Konfigurálja a Syslogot az Azure Monitor Adatgyűjtési szabályok menüjéből. Ezt a konfigurációt minden Linux-ügynök konfigurációs fájljába kézbesíti a rendszer.

  1. Válassza az Adatforrás hozzáadása lehetőséget.
  2. Adatforrástípus esetén válassza a Linux syslog lehetőséget.

Az egyes létesítményekhez különböző naplószinttel rendelkező Syslog-eseményeket gyűjthet. Alapértelmezés szerint a rendszer az összes Syslog-létesítménytípust összegyűjti. Ha nem szeretne például típuseseményeket auth gyűjteni, válassza a NONE lehetőséget a létesítmény minimális naplószint-listájábanauth, és mentse a módosításokat. Ha módosítania kell a Syslog-események alapértelmezett naplószintét, és csak az NOTICE vagy magasabb prioritású naplószinttel rendelkező eseményeket kell összegyűjtenie, válassza a LOG_NOTICE a Minimális naplószint listamezőben.

Alapértelmezés szerint a rendszer automatikusan leküldi az összes konfigurációs módosítást a DCR-ben konfigurált összes ügynöknek.

Adatgyűjtési szabály létrehozása

Hozzon létre egy adatgyűjtési szabályt a Log Analytics-munkaterületével megegyező régióban. A DCR egy Azure-erőforrás, amely lehetővé teszi az adatok kezelésének módját a munkaterületbe való betöltés során.

  1. Jelentkezzen be az Azure Portalra.

  2. Keresse meg és nyissa meg a Monitort.

  3. A Gépház csoportban válassza az Adatgyűjtési szabályok lehetőséget.

  4. Válassza a Létrehozás lehetőséget.

    Képernyőkép az Adatgyűjtési szabályok panelről, amelyen a Létrehozás lehetőség van kiválasztva.

Erőforrások hozzáadása

  1. Válassza az Erőforrások hozzáadása lehetőséget.

  2. A szűrőkkel megkeresheti a naplók gyűjtéséhez használni kívánt virtuális gépet.

    Képernyőkép az adatgyűjtési szabály hatókörének kiválasztására szolgáló oldalról.

  3. Válassza ki a virtuális gépet.

  4. Válassza az Alkalmazás lehetőséget.

  5. Válassza a Tovább elemet : Gyűjtse össze és kézbesítse.

Adatforrás felvétele

  1. Válassza az Adatforrás hozzáadása lehetőséget.

  2. Adatforrástípus esetén válassza a Linux syslog lehetőséget.

    Képernyőkép az adatforrás típusának és minimális naplószintjének kiválasztására vonatkozó oldalról.

  3. A minimális naplószintnél hagyja meg az alapértelmezett értékeket LOG_DEBUG.

  4. Válassza a Tovább: Cél lehetőséget.

Cél hozzáadása

  1. Válassza az Úti cél hozzáadása lehetőséget.

    Képernyőkép a Cél lapról, amelyen a Cél hozzáadása lehetőség van kiválasztva.

  2. Írja be a következő értékeket:

    Mező Érték
    Céltípus Azure Monitor Logs
    Előfizetés Válassza ki a megfelelő előfizetést
    Fiók vagy névtér Válassza ki a megfelelő Log Analytics-munkaterületet
  3. Válassza az Adatforrás hozzáadása lehetőséget.

  4. Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.

Szabály létrehozása

  1. Válassza a Létrehozás lehetőséget.
  2. Várjon 20 percet, mielőtt továbblép a következő szakaszra.

Ha a virtuális gépen nincs telepítve az Azure Monitor Agent, a DCR üzembe helyezése aktiválja az ügynök telepítését a virtuális gépen.

A Syslog konfigurálása a Linux-ügynökön

Amikor az Azure Monitor Agent linuxos gépen van telepítve, egy alapértelmezett Syslog-konfigurációs fájlt telepít, amely meghatározza az összegyűjtött üzenetek létesítményét és súlyosságát, ha a Syslog engedélyezve van egy DCR-ben. A konfigurációs fájl az ügyfél által telepített Syslog démontól függően eltérő.

Rsyslog

Számos Linux-disztribúció esetében az rsyslogd démon felelős a Linux Syslog API használatával küldött naplóüzenetek felhasználásáért, tárolásáért és útválasztásáért. Az Azure Monitor Agent az rsyslog TCP-továbbítási kimeneti modulját (omfwd) használja a naplóüzenetek Azure Monitor-ügynöknek való továbbításához.

Az Azure Monitor Agent telepítése az alábbi könyvtárba helyezett alapértelmezett konfigurációs fájlokat tartalmazza: /etc/opt/microsoft/azuremonitoragent/syslog/rsyslogconf/

Ha a Syslogot hozzáadja egy DCR-hez, ezek a konfigurációs fájlok a etc/rsyslog.d rendszer könyvtára alatt lesznek telepítve, és az rsyslog automatikusan újraindul a módosítások érvénybe lépéséhez. Ezeket a fájlokat az rsyslog használja a kimeneti modul betöltéséhez és az eseményeknek az Azure Monitor Agent démonhoz való továbbításához meghatározott szabályok használatával.

Az alapértelmezett tartalom az alábbi példában látható. Ez a példa összegyűjti a helyi ügynöktől küldött Syslog-üzeneteket az összes naplószinttel rendelkező létesítményhez.

$ cat /etc/rsyslog.d/10-azuremonitoragent-omfwd.conf
# Azure Monitor Agent configuration: forward logs to azuremonitoragent

template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%")
# queue.workerThreads sets the maximum worker threads, it will scale back to 0 if there is no activity
# Forwarding all events through TCP port
*.* action(type="omfwd"
template="AMA_RSYSLOG_TraditionalForwardFormat"
queue.type="LinkedList"
queue.filename="omfwd-azuremonitoragent"
queue.maxFileSize="32m"
action.resumeRetryCount="-1"
action.resumeInterval="5"
action.reportSuspension="on"
action.reportSuspensionContinuation="on"
queue.size="25000"
queue.workerThreads="100"
queue.dequeueBatchSize="2048"
queue.saveonshutdown="on"
target="127.0.0.1" Port="28330" Protocol="tcp")

Egyes régebbi rendszereken, például a CentOS 7.3-on, az rsyslog-napló formázásával kapcsolatos problémákat észleltünk, amikor egy hagyományos továbbítási formátum használatával syslog-eseményeket küldenek az Azure Monitor Agentnek. Ezekben a rendszerekben az Azure Monitor Agent automatikusan elhelyez egy örökölt továbbítósablont:

template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n")

Syslog-ng

A syslog-ng konfigurációs fájlja a következő helyen /etc/opt/microsoft/azuremonitoragent/syslog/syslog-ngconf/azuremonitoragent-tcp.confvan telepítve: . Amikor a Rendszernapló-gyűjtemény hozzáadódik egy DCR-hez, ez a konfigurációs fájl a /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf rendszer könyvtára alá kerül, és a rendszer automatikusan újraindítja a syslog-ng fájlt a módosítások érvénybe lépéséhez.

Az alapértelmezett tartalom az alábbi példában látható. Ez a példa összegyűjti a helyi ügynöktől küldött Syslog-üzeneteket az összes létesítményhez és súlyossághoz.

$ cat /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf 
# Azure MDSD configuration: syslog forwarding config for mdsd agent
options {};

# during install time, we detect if s_src exist, if it does then we
# replace it by appropriate source name like in redhat 's_sys'
# Forwrding using tcp
destination d_azure_mdsd {
	network("127.0.0.1" 
	port(28330)
	log-fifo-size(25000));			
};

log {
	source(s_src); # will be automatically parsed from /etc/syslog-ng/syslog-ng.conf
	destination(d_azure_mdsd);
	flags(flow-control);
};

Feljegyzés

Az Azure Monitor támogatja az rsyslog vagy syslog-ng által küldött üzenetek gyűjtését, ahol az rsyslog az alapértelmezett démon. A Syslog eseménygyűjtemény nem támogatja a Red Hat Enterprise Linux, CentOS és Oracle Linux verziójának (sysklog) 5-ös verziójára vonatkozó alapértelmezett Syslog-démont. A syslog-adatok ezen disztribúciók ezen verziójából való gyűjtéséhez telepíteni és konfigurálni kell az rsyslog démont a sysklog helyére.

Ha szerkessze a Syslog-konfigurációt, újra kell indítania a Syslog démont a módosítások érvénybe lépéséhez.

Előfeltételek

A következők szükségesek:

Syslog-rekord tulajdonságai

A Syslog-rekordok a Syslog típusával rendelkeznek, és a tulajdonságok az alábbi táblázatban láthatók.

Tulajdonság Leírás
Számítógép Számítógép, amelyről az eseményt összegyűjtötték.
Létesítmény Meghatározza az üzenetet létrehozó rendszerrészt.
HostIP Az üzenetet küldő rendszer IP-címe.
HostName Az üzenetet küldő rendszer neve.
Súlyossági szint Az esemény súlyossági szintje.
SyslogMessage Az üzenet szövege.
ProcessID Az üzenetet létrehozó folyamat azonosítója.
EventTime Az esemény létrehozásának dátuma és időpontja.

Lekérdezések naplózása Syslog-rekordokkal

Az alábbi táblázat különböző példákat tartalmaz a Syslog-rekordokat lekérő napló lekérdezésekre.

Lekérdezés Leírás
Rendszernapló Minden syslogs
Syslog | where SeverityLevel == "error" A hiba súlyosságú összes Syslog-rekord
Syslog | where Facility == "auth" Az összes olyan Syslog-rekord, amely hitelesítési létesítménytípussal rendelkezik
Syslog | summarize AggregatedValue = count() by Facility Syslog-rekordok száma létesítmény szerint

Következő lépések

További információk: