Syslog-gegevensbronnen verzamelen met de Log Analytics-agent
Let op
Dit artikel verwijst naar CentOS, een Linux-distributie met de EOL-status (End Of Life). Overweeg uw gebruik en planning dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.
Syslog is een protocol voor logboekregistratie van gebeurtenissen dat gebruikelijk is voor Linux. Toepassingen verzenden berichten die mogelijk zijn opgeslagen op de lokale computer of worden bezorgd bij een Syslog-collector. Wanneer de Log Analytics-agent voor Linux is geïnstalleerd, configureert deze de lokale Syslog-daemon om berichten door te sturen naar de agent. De agent verzendt de berichten vervolgens naar Azure Monitor waar een bijbehorende record wordt gemaakt.
Belangrijk
De verouderde Log Analytics-agent is vanaf 31 augustus 2024 afgeschaft. Microsoft biedt geen ondersteuning meer voor de Log Analytics-agent. Als u de Log Analytics-agent gebruikt om gegevens op te nemen naar Azure Monitor, migreert u nu naar de Azure Monitor-agent.
Notitie
Azure Monitor ondersteunt het verzamelen van berichten die worden verzonden door rsyslog of syslog-ng, waarbij rsyslog de standaard daemon is. De standaard Syslog-daemon op versie 5 van Red Hat Enterprise Linux, CentOS en Oracle Linux-versie (sysklog) wordt niet ondersteund voor syslog-gebeurtenisverzameling. Als u Syslog-gegevens van deze versie van deze distributies wilt verzamelen, moet de rsyslog-daemon worden geïnstalleerd en geconfigureerd om sysklog te vervangen.
De volgende faciliteiten worden ondersteund met de Syslog-collector:
- afspatiëring
- Gebruiker
- Daemon
- verif
- syslog
- Lpr
- nieuws
- Uucp
- cron
- verificatiepriv
- ftp
- local0-local7
Voor elke andere faciliteit configureert u een gegevensbron voor aangepaste logboeken in Azure Monitor.
Syslog configureren
De Log Analytics-agent voor Linux verzamelt alleen gebeurtenissen met de faciliteiten en ernst die zijn opgegeven in de configuratie. U kunt Syslog configureren via Azure Portal of door configuratiebestanden op uw Linux-agents te beheren.
Syslog configureren in Azure Portal
Configureer Syslog vanuit het configuratiemenu agent voor de Log Analytics-werkruimte. Deze configuratie wordt geleverd aan het configuratiebestand op elke Linux-agent.
U kunt een nieuwe faciliteit toevoegen door De faciliteit toevoegen te selecteren. Voor elke faciliteit worden alleen berichten met de geselecteerde ernstgegevens verzameld. Selecteer de ernst voor de specifieke faciliteit die u wilt verzamelen. U kunt geen andere criteria opgeven om berichten te filteren.
Standaard worden alle configuratiewijzigingen automatisch naar alle agents gepusht. Als u Syslog handmatig wilt configureren voor elke Linux-agent, schakelt u het selectievakje Onderstaande configuratie toepassen op mijn computers uit.
Syslog configureren in Linux-agent
Wanneer de Log Analytics-agent is geïnstalleerd op een Linux-client, wordt er een standaard Syslog-configuratiebestand geïnstalleerd dat de faciliteit en ernst definieert van de berichten die worden verzameld. U kunt dit bestand wijzigen om de configuratie te wijzigen. Het configuratiebestand verschilt, afhankelijk van de Syslog-daemon die de client heeft geïnstalleerd.
Notitie
Als u de Syslog-configuratie bewerkt, moet u de Syslog-daemon opnieuw starten om de wijzigingen van kracht te laten worden.
rsyslog
Het configuratiebestand voor rsyslog bevindt zich op /etc/rsyslog.d/95-omsagent.conf
. De standaardinhoud wordt weergegeven in het volgende voorbeeld. In dit voorbeeld worden Syslog-berichten verzameld die vanuit de lokale agent worden verzonden voor alle faciliteiten met een waarschuwingsniveau of hoger.
kern.warning @127.0.0.1:25224
user.warning @127.0.0.1:25224
daemon.warning @127.0.0.1:25224
auth.warning @127.0.0.1:25224
syslog.warning @127.0.0.1:25224
uucp.warning @127.0.0.1:25224
authpriv.warning @127.0.0.1:25224
ftp.warning @127.0.0.1:25224
cron.warning @127.0.0.1:25224
local0.warning @127.0.0.1:25224
local1.warning @127.0.0.1:25224
local2.warning @127.0.0.1:25224
local3.warning @127.0.0.1:25224
local4.warning @127.0.0.1:25224
local5.warning @127.0.0.1:25224
local6.warning @127.0.0.1:25224
local7.warning @127.0.0.1:25224
U kunt een faciliteit verwijderen door de sectie van het configuratiebestand te verwijderen. U kunt de ernst beperken die voor een bepaalde faciliteit worden verzameld door de vermelding van die faciliteit te wijzigen. Als u bijvoorbeeld de gebruikersfaciliteit wilt beperken tot berichten met de ernst van de fout of hoger, wijzigt u die regel van het configuratiebestand in het volgende voorbeeld:
user.error @127.0.0.1:25224
syslog-ng
Het configuratiebestand voor syslog-ng bevindt zich op /etc/syslog-ng/syslog-ng.conf
. De standaardinhoud wordt weergegeven in dit voorbeeld. In dit voorbeeld worden Syslog-berichten verzameld die vanuit de lokale agent worden verzonden voor alle faciliteiten en alle ernst.
#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };
#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };
#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };
#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };
#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };
#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };
#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };
#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };
#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };
#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };
#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };
#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };
U kunt een faciliteit verwijderen door de sectie van het configuratiebestand te verwijderen. U kunt de ernst beperken die voor een bepaalde faciliteit worden verzameld door ze uit de lijst te verwijderen. Als u bijvoorbeeld de gebruikersfaciliteit wilt beperken om alleen kritieke berichten te waarschuwen, wijzigt u die sectie van het configuratiebestand, zoals wordt weergegeven in het volgende voorbeeld:
#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };
Gegevens verzamelen van andere Syslog-poorten
De Log Analytics-agent luistert naar Syslog-berichten op de lokale client op poort 25224. Wanneer de agent is geïnstalleerd, wordt een standaardConfiguratie van Syslog toegepast en gevonden op de volgende locatie:
- Rsyslog:
/etc/rsyslog.d/95-omsagent.conf
- Syslog-ng:
/etc/syslog-ng/syslog-ng.conf
U kunt het poortnummer wijzigen door twee configuratiebestanden te maken: een FluentD-configuratiebestand en een rsyslog-or-syslog-ng-bestand, afhankelijk van de Syslog-daemon die u hebt geïnstalleerd.
Het FluentD-configuratiebestand moet een nieuw bestand in
/etc/opt/microsoft/omsagent/conf/omsagent.d
zijn en de waarde in deport
vermelding vervangen door uw aangepaste poortnummer.<source> type syslog port %SYSLOG_PORT% bind 127.0.0.1 protocol_type udp tag oms.syslog </source> <filter oms.syslog.**> type filter_syslog
Voor rsyslog moet u een nieuw configuratiebestand maken waarin
/etc/rsyslog.d/
zich een nieuw configuratiebestand bevindt en de waarde%SYSLOG_PORT%
vervangen door uw aangepaste poortnummer.Notitie
Als u deze waarde in het configuratiebestand
95-omsagent.conf
wijzigt, wordt deze overschreven wanneer de agent een standaardconfiguratie toepast.# OMS Syslog collection for workspace %WORKSPACE_ID% kern.warning @127.0.0.1:%SYSLOG_PORT% user.warning @127.0.0.1:%SYSLOG_PORT% daemon.warning @127.0.0.1:%SYSLOG_PORT% auth.warning @127.0.0.1:%SYSLOG_PORT%
De syslog-ng-configuratie moet worden gewijzigd door de volgende voorbeeldconfiguratie te kopiëren en de aangepaste gewijzigde instellingen toe te voegen aan het einde van het
syslog-ng.conf
configuratiebestand in/etc/syslog-ng/
. Gebruik niet het standaardlabel%WORKSPACE_ID%_oms
of%WORKSPACE_ID_OMS
. Definieer een aangepast label om uw wijzigingen te onderscheiden.Notitie
Als u de standaardwaarden in het configuratiebestand wijzigt, worden deze overschreven wanneer de agent een standaardconfiguratie toepast.
filter f_custom_filter { level(warning) and facility(auth; }; destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); }; log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
Nadat u de wijzigingen hebt voltooid, start u de Syslog en de Log Analytics-agentservice opnieuw op om ervoor te zorgen dat de configuratiewijzigingen van kracht worden.
Eigenschappen van Syslog-records
Syslog-records hebben een type Syslog en hebben de eigenschappen die worden weergegeven in de volgende tabel.
Eigenschappen | Beschrijving |
---|---|
Computer | Computer van waaruit de gebeurtenis is verzameld. |
Faciliteit | Hiermee definieert u het deel van het systeem dat het bericht heeft gegenereerd. |
HostIP | IP-adres van het systeem dat het bericht verzendt. |
HostName | Naam van het systeem dat het bericht verzendt. |
SeverityLevel | Ernstniveau van de gebeurtenis. |
SyslogMessage | Tekst van het bericht. |
ProcessID | Id van het proces dat het bericht heeft gegenereerd. |
EventTime | De datum en tijd waarop de gebeurtenis is gegenereerd. |
Logboekquery's met Syslog-records
De volgende tabel bevat verschillende voorbeelden van logboekquery's waarmee Syslog-records worden opgehaald.
Query | Beschrijving |
---|---|
Syslog | Alle Syslogs |
Syslog | where SeverityLevel == "error" | Alle Syslog-records met de ernst van de fout |
Syslog | summarize AggregatedValue = count() by Computer | Aantal Syslog-records per computer |
Syslog | summarize AggregatedValue = count() by Facility | Aantal Syslog-records per faciliteit |
Volgende stappen
- Meer informatie over logboekquery's voor het analyseren van de gegevens die zijn verzameld uit gegevensbronnen en oplossingen.
- Gebruik aangepaste velden om gegevens uit Syslog-records te parseren in afzonderlijke velden.
- Configureer Linux-agents om andere typen gegevens te verzamelen.