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ű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.
- Válassza az Adatforrás hozzáadása lehetőséget.
- 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.
Jelentkezzen be az Azure Portalra.
Keresse meg és nyissa meg a Monitort.
A Gépház csoportban válassza az Adatgyűjtési szabályok lehetőséget.
Válassza a Létrehozás lehetőséget.
Erőforrások hozzáadása
Válassza az Erőforrások hozzáadása lehetőséget.
A szűrőkkel megkeresheti a naplók gyűjtéséhez használni kívánt virtuális gépet.
Válassza ki a virtuális gépet.
Válassza az Alkalmazás lehetőséget.
Válassza a Tovább elemet : Gyűjtse össze és kézbesítse.
Adatforrás felvétele
Válassza az Adatforrás hozzáadása lehetőséget.
Adatforrástípus esetén válassza a Linux syslog lehetőséget.
A minimális naplószintnél hagyja meg az alapértelmezett értékeket LOG_DEBUG.
Válassza a Tovább: Cél lehetőséget.
Cél hozzáadása
Válassza az Úti cél hozzáadása lehetőséget.
Í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 Válassza az Adatforrás hozzáadása lehetőséget.
Válassza a Tovább: Ellenőrzés és létrehozás lehetőségre.
Szabály létrehozása
- Válassza a Létrehozás lehetőséget.
- 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.conf
van 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:
- Log Analytics-munkaterület, ahol legalább közreműködői jogosultságokkal rendelkezik.
- Adatgyűjtési végpont.
- DCR-objektumok munkaterületen való létrehozásához szükséges engedélyek.
- A syslog-üzeneteknek RFC-szabványokat kell követnie (RFC5424 vagy RFC3164)
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: