Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Gegevensopname met behulp van de Logstash-uitvoerinvoegtoepassing met gegevensverzamelingsregels (DCR's) is momenteel in openbare preview. Deze functie wordt geleverd zonder service level agreement. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.
de Logstash-uitvoerinvoegtoepassing van Microsoft Sentinel ondersteunt pijplijntransformaties en geavanceerde configuratie via regels voor gegevensverzameling (DCR's). De invoegtoepassing stuurt logboeken van externe gegevensbronnen door naar aangepaste of standaardtabellen in Log Analytics of Microsoft Sentinel.
In dit artikel leert u hoe u de Logstash-invoegtoepassing instelt om gegevens te streamen naar Log Analytics of Microsoft Sentinel met behulp van DCR's, met volledige controle over het uitvoerschema.
Met de invoegtoepassing kunt u het volgende doen:
- De configuratie van de kolomnamen en -typen beheren.
- Voer tijdens de gegevensinname transformaties uit, zoals filteren of verrijken.
- Neem aangepaste logboeken op in een aangepaste tabel of neem een Syslog-invoerstroom op in de Log Analytics Syslog-tabel.
Opname in standaardtabellen is alleen beperkt tot standaardtabellen die worden ondersteund voor opname van aangepaste logboeken.
Zie Aan de slag met Logstash voor meer informatie over het werken met de Logstash-engine voor gegevensverzameling.
Overzicht van architectuur
De Logstash-engine bestaat uit drie onderdelen:
- Invoerinvoegtoepassingen: Aangepaste verzameling van gegevens uit verschillende bronnen.
- Filterinvoegtoepassingen: Manipulatie en normalisatie van gegevens volgens opgegeven criteria.
- Uitvoerinvoegtoepassingen: Aangepaste verzending van verzamelde en verwerkte gegevens naar verschillende bestemmingen.
Opmerking
- Microsoft ondersteunt alleen de door Microsoft Sentinel geleverde Logstash-outputplug-in die hier wordt besproken. De huidige plugin is microsoft-sentinel-log-analytics-logstash-output-plugin, v2.5.0. U kunt een ondersteuningsticket openen voor eventuele problemen met betrekking tot de uitvoerinvoegtoepassing.
- Microsoft ondersteunt geen Logstash-uitvoerplug-ins van derden voor Microsoft Sentinel, of enige andere Logstash-plugin of component van welk type dan ook.
- Zie de vereisten voor de Logstash-plugin voor de door de plugin ondersteunde Logstash-versies.
De invoegtoepassing verzendt gegevens in JSON-indeling naar uw Log Analytics-werkruimte met behulp van de Logboekopname-API. De gegevens worden opgenomen in aangepaste logboeken of een standaardtabel.
- Meer informatie over de logboekopname-API.
De Microsoft Sentinel-uitvoerinvoegtoepassing implementeren in Logstash
Volg deze stappen om de invoegtoepassing in te stellen:
- Bekijk de vereisten voor de Logstash-plugin
- Installeer de plug-in
- Een voorbeeldbestand maken
- De vereiste DCR-gerelateerde resources maken
- Logstash-configuratiebestand configureren
- Logstash opnieuw starten
- Binnenkomende logboeken weergeven in Microsoft Sentinel
- Auditlogboeken van uitvoerinvoegtoepassingen bewaken
Vereisten voor logstash-invoegtoepassing
Installeer een ondersteunde versie van Logstash. De invoegtoepassing ondersteunt de volgende Logstash-versies:
7.0 - 7.17.13
8.0 - 8.9 (deze versies vereisen een beveiligingsupdate, volgens Logstash)
8.11 - 8.15 (deze versies vereisen een beveiligingsupdate, volgens Logstash)
8.19.2 (deze versie vereist een beveiligingsupdate, volgens Logstash)
9.0.8 (deze versie vereist een beveiligingsupdate, volgens Logstash)
9.1.10 (deze versie vereist een beveiligingsupdate, volgens Logstash)
9.2.4 - 9.2.5 (deze versies vereisen een beveiligingsupdate, volgens Logstash)
9.3.3
9.4.0
Opmerking
Als u Logstash 8 gebruikt, raden we u aan ECS uit te schakelen in de pijplijn.
Controleer of u een Log Analytics-werkruimte hebt met ten minste inzenderrechten.
Controleer of u machtigingen hebt om DCR-objecten te maken in de werkruimte.
Installeer de plug-in
De Microsoft Sentinel-uitvoerinvoegtoepassing is beschikbaar in de logstash-verzameling op RubyGems.
Volg de instructies in het document Logstash Working with plugins om de invoegtoepassing microsoft-sentinel-log-analytics-logstash-output-plugin te installeren. Voer de volgende opdracht uit om te installeren op een bestaande Logstash-installatie:
logstash-plugin install microsoft-sentinel-log-analytics-logstash-output-pluginAls uw Logstash-systeem geen internettoegang heeft, volgt u de instructies in het document Logstash Offline Plugin Management om een offline invoegtoepassingspakket voor te bereiden en te gebruiken. (Hiervoor moet een ander Logstash-systeem met internettoegang worden gebouwd.)
Een voorbeeldbestand maken
In deze sectie maakt u een voorbeeldbestand in een van de volgende scenario's:
- Een voorbeeldbestand maken voor aangepaste logboeken
- Een voorbeeldbestand maken om logboeken op te nemen in de Syslog-tabel
Een voorbeeldbestand maken voor aangepaste logboeken
In dit scenario configureert u de Logstash-invoerinvoegtoepassing om gebeurtenissen te verzenden naar Microsoft Sentinel. In dit voorbeeld wordt de invoerinvoegtoepassing voor de generator gebruikt om gebeurtenissen te simuleren. U kunt elke andere invoerinvoegtoepassing gebruiken.
In dit voorbeeld ziet het logstash-configuratiebestand er als volgt uit:
input {
generator {
lines => [
"This is a test log message"
]
count => 10
}
}
Voer de volgende stappen uit om het voorbeeldbestand te maken:
Kopieer de onderstaande configuratie van de uitvoerinvoegtoepassing naar uw Logstash-configuratiebestand.
output { microsoft-sentinel-log-analytics-logstash-output-plugin { create_sample_file => true sample_file_path => "<enter the path to the file in which the sample data will be written>" #for example: "c:\\temp" (for windows) or "/tmp" for Linux. } }Zorg ervoor dat het bestandspad waarnaar wordt verwezen al bestaat en start vervolgens Logstash.
De invoegtoepassing schrijft tien records naar een voorbeeldbestand met de naam
sampleFile<epoch seconds>.jsonin het geconfigureerde pad zodra er tien gebeurtenissen zijn om een steekproef te nemen of wanneer het Logstash-proces correct wordt afgesloten. Bijvoorbeeld: c:\temp\sampleFile1648453501.json. Dit is een onderdeel van een voorbeeldbestand dat door de invoegtoepassing wordt gemaakt:[ { "host": "logstashMachine", "sequence": 0, "message": "This is a test log message", "ls_timestamp": "2022-03-28T17:45:01.690Z", "ls_version": "1" }, { "host": "logstashMachine", "sequence": 1 ... ]De invoegtoepassing voegt deze eigenschappen automatisch toe aan elke record:
-
ls_timestamp: het tijdstip waarop de record wordt ontvangen van de invoerinvoegtoepassing -
ls_version: De logstash-pijplijnversie.
U kunt deze velden verwijderen wanneer u de DCR maakt.
-
Een voorbeeldbestand maken om logboeken op te nemen in de Syslog-tabel
In dit scenario configureert u de Logstash-invoerinvoegtoepassing om syslog-gebeurtenissen te verzenden naar Microsoft Sentinel.
Als u nog geen syslog-berichten hebt doorgestuurd naar uw Logstash-computer, kunt u de opdracht logger gebruiken om berichten te genereren. Bijvoorbeeld (voor Linux):
logger -p local4.warn --rfc3164 --tcp -t CEF "0|Microsoft|Device|cef-test|example|data|1|here is some more data for the example" -P 514 -d -n 127.0.0.1Hier volgt een voorbeeld van de Logstash-invoerinvoegtoepassing:
input { syslog { port => 514 } }Kopieer de onderstaande configuratie van de uitvoerinvoegtoepassing naar uw Logstash-configuratiebestand.
output { microsoft-sentinel-log-analytics-logstash-output-plugin { create_sample_file => true sample_file_path => "<enter the path to the file in which the sample data will be written>" #for example: "c:\\temp" (for windows) or "/tmp" for Linux. } }Controleer of het bestandspad al bestaat en start Logstash.
De invoegtoepassing schrijft tien records naar een voorbeeldbestand met de naam
sampleFile<epoch seconds>.jsonin het geconfigureerde pad zodra er tien gebeurtenissen zijn om een steekproef te nemen of wanneer het Logstash-proces correct wordt afgesloten. Bijvoorbeeld: c:\temp\sampleFile1648453501.json. Dit is een onderdeel van een voorbeeldbestand dat door de invoegtoepassing wordt gemaakt:[ { "logsource": "logstashMachine", "facility": 20, "severity_label": "Warning", "severity": 4, "timestamp": "Apr 7 08:26:04", "program": "CEF:", "host": "127.0.0.1", "facility_label": "local4", "priority": 164, "message": "0|Microsoft|Device|cef-test|example|data|1|here is some more data for the example", "ls_timestamp": "2022-04-07T08:26:04.000Z", "ls_version": "1" } ]De invoegtoepassing voegt deze eigenschappen automatisch toe aan elke record:
-
ls_timestamp: het tijdstip waarop de record wordt ontvangen van de invoerinvoegtoepassing -
ls_version: De logstash-pijplijnversie.
U kunt deze velden verwijderen wanneer u de DCR maakt.
-
De vereiste DCR-resources maken
Als u de Microsoft Sentinel op DCR gebaseerde Logstash-invoegtoepassing wilt configureren, maakt u eerst de DCR-gerelateerde resources.
In deze sectie maakt u resources voor gebruik voor uw DCR, in een van de volgende scenario's:
- DCR-resources maken voor opname in een aangepaste tabel
- DCR-resources maken voor opname in een standaardtabel
DCR-resources maken voor opname in een aangepaste tabel
Als u de gegevens wilt opnemen in een aangepaste tabel, volgt u deze stappen (op basis van de zelfstudie Gegevens verzenden naar Azure Logboeken bewaken met behulp van REST API (Azure Portal):
Controleer de voorvereisten.
Parseert en filter voorbeeldgegevens met behulp van het voorbeeldbestand dat u in de vorige sectie hebt gemaakt.
Wijs machtigingen toe aan de DCR.
Sla de stap Voorbeeldgegevens verzenden over.
Als je problemen tegenkomt, bekijk dan de stappen voor probleemoplossing in de Logs Ingestion API.
DCR-resources maken voor opname in een standaardtabel
Als u de gegevens wilt opnemen in een standaardtabel zoals Syslog of CommonSecurityLog, gebruikt u een proces op basis van de zelfstudie Gegevens verzenden naar Azure Logboeken bewaken met behulp van REST API (Resource Manager sjablonen). In de zelfstudie wordt uitgelegd hoe u gegevens opneemt in een aangepaste tabel, maar u kunt het proces eenvoudig aanpassen om gegevens op te nemen in een standaardtabel. De onderstaande stappen geven relevante wijzigingen in de stappen aan.
Controleer de voorvereisten.
-
Sla de stap Nieuwe tabel maken in Log Analytics-werkruimte over. Deze stap is niet relevant bij het opnemen van gegevens in een standaardtabel, omdat de tabel al is gedefinieerd in Log Analytics.
Maak de DCR aan. In deze stap:
- Geef het voorbeeldbestand dat je hebt gemaakt in Create a sample file.
- Gebruik het voorbeeldbestand dat u hebt gemaakt om de
streamDeclarationseigenschap te definiëren. Elk van de velden in het voorbeeldbestand moet een bijbehorende kolom hebben met dezelfde naam en het juiste type (zie het onderstaande voorbeeld). - Configureer de waarde van de
outputStreameigenschap met de naam van de standaardtabel in plaats van de aangepaste tabel. In tegenstelling tot aangepaste tabellen hebben standaardtabelnamen niet het_CLachtervoegsel. - Het voorvoegsel van de tabelnaam moet
Microsoft-in plaats vanCustom-zijn. In dit voorbeeld is de waarde van de eigenschapoutputStreamMicrosoft-Syslog.
Machtigingen toewijzen aan een DCR.
Sla de stap Voorbeeldgegevens verzenden over.
Als je problemen tegenkomt, bekijk dan de stappen voor probleemoplossing in de Logs Ingestion API.
Voorbeeld: DCR die gegevens opneemt in de Syslog-tabel
Houd rekening met deze punten:
- De
streamDeclarationskolomnamen en -typen moeten hetzelfde zijn als de voorbeeldbestandsvelden, maar u hoeft ze niet allemaal op te geven. In de onderstaande DCR worden bijvoorbeeld dePRIvelden ,typeenls_versionweggelaten uit destreamDeclarationskolom. - De
dataflowseigenschap transformeert de invoer naar de Syslog-tabelindeling en stelt deoutputStreamin opMicrosoft-Syslog.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"type": "String",
"metadata": {
"description": "Specifies the name of the Data Collection Rule to create."
}
},
"location": {
"defaultValue": "[resourceGroup().location]",
"type": "String",
"metadata": {
"description": "Specifies the location in which to create the Data Collection Rule."
}
},
"workspaceResourceId": {
"type": "String",
"metadata": {
"description": "Specifies the Azure resource ID of the Log Analytics workspace to use."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"apiVersion": "2021-09-01-preview",
"name": "[parameters('dataCollectionRuleName')]",
"location": "[parameters('location')]",
"properties": {
"streamDeclarations": {
"Custom-SyslogStream": {
"columns": [
{ "name": "ls_timestamp", "type": "datetime" },
{ "name": "timestamp", "type": "datetime" },
{ "name": "message", "type": "string" },
{ "name": "facility_label", "type": "string" },
{ "name": "severity_label", "type": "string" },
{ "name": "host", "type": "string" },
{ "name": "logsource", "type": "string" }
]
}
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceResourceId')]",
"name": "clv2ws1"
}
]
},
"dataFlows": [
{
"streams": ["Custom-SyslogStream"],
"destinations": ["clv2ws1"],
"transformKql": "source | project TimeGenerated = ls_timestamp, EventTime = todatetime(timestamp), Computer = logsource, HostName = logsource, HostIP = host, SyslogMessage = message, Facility = facility_label, SeverityLevel = severity_label",
"outputStream": "Microsoft-Syslog"
}
]
}
}
],
"outputs": {
"dataCollectionRuleId": {
"type": "String",
"value": "[resourceId('Microsoft.Insights/dataCollectionRules', parameters('dataCollectionRuleName'))]"
}
}
}
Logstash-configuratiebestand configureren
De invoegtoepassing ondersteunt twee verificatiemethoden: service-principal (clientreferenties) en beheerde identiteit (zonder wachtwoord). Kies de methode die bij uw omgeving past.
Verificatie van service-principal
Om het Logstash-configuratiebestand te configureren zodat het de logs invoert in een aangepaste tabel met service principal-authenticatie, haal je de volgende waarden op: client_id, client_secret, tenant_id, , data_collection_endpoint, dcr_id, en stream_name.
| Veld | Hoe op te halen |
|---|---|
client_id |
De Application (client) ID waarde die je creëert in stap 3 wanneer je de DCR-resources aanmaakt, volgens de Azure portal tutorial of Resource Manager templates tutorial. |
client_secret |
De client secret-waarde die je aanmaakt in stap 5 wanneer je de DCR-resources aanmaakt, volgens de Azure portal tutorial of Resource Manager templates tutorial. |
tenant_id |
De tenant-id van uw abonnement. U vindt de tenant-id onder Home > Microsoft Entra ID > Overzicht > Basisinformatie. |
data_collection_endpoint |
De waarde van de logsIngestion URI in stap 3 wanneer je de DCR-resources aanmaakt, volgens de Azure portal tutorial of Resource Manager templates tutorial. |
dcr_id |
De waarde van de DCR immutableId in stap 6 wanneer je de DCR-resources aanmaakt, volgens de Azure portal tutorial of Resource Manager templates tutorial. |
stream_name |
Voor aangepaste tabellen, zoals uitgelegd in stap 6 wanneer u de DCR-resources maakt, gaat u naar de JSON-weergave van de DCR en kopieert u de dataFlows>streams eigenschap. Zie het stream_name voorbeeld van de configuratieconfiguratie van Service principal output plugin. Voor standaardtabellen is Custom-SyslogStreamde waarde . |
Nadat u de vereiste waarden hebt opgehaald:
- Vervang de uitvoersectie van het Logstash-configuratiebestand dat u in de vorige stap hebt gemaakt door het onderstaande voorbeeld.
- Vervang de tijdelijke aanduidingstekenreeksen in het onderstaande voorbeeld door de waarden die u hebt opgehaald.
- Zorg ervoor dat u het
create_sample_filekenmerk wijzigt infalse.
Voorbeeld: configuratie van de uitvoer-plug-in voor een service-principal
output {
microsoft-sentinel-log-analytics-logstash-output-plugin {
client_id => "<enter your client_id value here>"
client_secret => "<enter your client_secret value here>"
tenant_id => "<enter your tenant id here>"
data_collection_endpoint => "<enter your logsIngestion URI here>"
dcr_id => "<enter your DCR immutableId here>"
stream_name => "<enter your stream name here>"
create_sample_file=> false
sample_file_path => "c:\\temp"
}
}
Verificatie van beheerde identiteit (zonder wachtwoord)
Wanneer je geen service-principalreferenties (client_id, client_secret en tenant_id) opgeeft, authenticeert de plugin zich met behulp van DefaultAzureCredential uit de Azure SDK.
DefaultAzureCredential probeert een reeks authenticatiemethoden en gebruikt de eerste die slaagt. In een serveromgeving worden de relevante methoden in deze volgorde geprobeerd:
-
Omgevingsvariabelen: Leet credentials uit omgevingsvariabelen zoals
AZURE_CLIENT_ID,AZURE_TENANT_ID, enAZURE_CLIENT_SECRETom te authenticeren als service principal. -
Workload-identiteit: Als de plugin draait op een Azure-host met workload-identiteit ingeschakeld (bijvoorbeeld AKS met de
AZURE_FEDERATED_TOKEN_FILEomgevingsvariabele ingesteld), voert de plugin een OIDC-tokenuitwisseling uit. - Beheerde identiteit: Als de host een beheerde identiteit heeft ingeschakeld, authenticeert de plugin door die identiteit te gebruiken. Deze methode omvat Azure VM's, Virtual Machine Scale Sets en servers met Azure Arc.
Raadpleeg Credential chains in de Azure Identity-bibliotheek voor Java voor de volledige reeks referenties die DefaultAzureCredential probeert.
Vereiste configuratie voor beheerde identiteit:
| Veld | Beschrijving |
|---|---|
data_collection_endpoint |
Tekenreeks. De logsIngestion-URI voor uw DCE. |
dcr_id |
Tekenreeks. De immutableId van de DCR. |
stream_name |
Tekenreeks. De naam van de gegevensstroom. |
Voorbeeld: Beheerde identiteit
output {
microsoft-sentinel-log-analytics-logstash-output-plugin {
data_collection_endpoint => "<enter your DCE logsIngestion URI here>"
dcr_id => "<enter your DCR immutableId here>"
stream_name => "<enter your stream name here>"
}
}
Opmerking
- Wanneer u Azure Arc gebruikt, moet het Logstash-proces worden uitgevoerd als een gebruiker die lid is van de groep
himdsom het challenge-token te lezen. Zie de documentatie over de beheerde identiteit van Azure Arc voor meer informatie. - Geef om veiligheidsredenen niet impliciet gevoelige configuratiewaarden op, zoals
client_secretin uw Logstash-configuratiebestand. Sla gevoelige informatie op in een Logstash KeyStore. - Wanneer u een lege tekenreeks instelt als een waarde voor een proxy-instelling, wordt elke proxy-instelling voor het hele systeem ongedaan.
Optionele configuratie
| Key | Default | Beschrijving |
|---|---|---|
azure_cloud |
AzurePublicCloud |
Azure-cloudomgeving |
proxy |
(geen) | Optionele. Standaard-HTTP-proxy-URL gebruikt voor al het plug-inverkeer. Indeling: [http://][user:password@]host:port. Wanneer niet ingezet, wordt geen proxy gebruikt en blijft het gedrag ongewijzigd. |
proxy_aad |
(waarde van proxy) |
Optionele. HTTP-proxy-URL wordt alleen gebruikt voor Microsoft Entra ID-authenticatie en tokenverkeer. Valt terug op proxy indien niet ingesteld. |
proxy_endpoint |
(waarde van proxy) |
Optionele. HTTP-proxy URL gebruikt alleen voor verkeer naar het Data Collection Endpoint. Valt terug op proxy indien niet ingesteld. |
keys_to_keep |
(alles) | Lijst met veldnamen die moeten worden verzonden (filteren op een subset). |
max_retries_num |
3 |
Maximaal aantal pogingen voor mislukte verzendpogingen. |
initial_wait_time_seconds |
1 |
Initiële wachttijd tussen nieuwe pogingen. |
connect_timeout_seconds |
15 |
Time-out bij het tot stand brengen van de verbinding met het ingestion-endpoint. Beperkt hoe lang een upload in de verbindingsfase kan worden opgehouden; een daardoor optredende time-out wordt opnieuw geprobeerd. |
write_timeout_seconds |
60 |
Time-out bij het verzenden van de aanvraagtekst naar het ingestie-eindpunt. Beperkt hoelang een upload kan blokkeren in de schrijffase; bij een resulterende time-out wordt de upload opnieuw geprobeerd. |
max_graceful_shutdown_time_seconds |
60 |
Max, wacht op een gracieuze afsluiting. |
max_waiting_time_for_batch_seconds |
10 |
Max, wacht voordat je een batch doorspoelt. |
max_waiting_for_unifier_time_seconds |
10 |
Max wacht voordat je de unifier spoelt. |
max_batch_size |
10000 |
Maximum aantal gebeurtenissen per batch. Wanneer een batch deze grootte bereikt, wordt deze direct doorgespoeld, ongeacht het tijdsvenster. |
input_queue_capacity |
50000 |
Maximale capaciteit van de invoerwachtrij. Begrenst het geheugengebruik bij grootschalige gegevensinname. Wanneer deze vol is, wordt er tegendruk op de Logstash-pijpleiding toegepast. |
internal_queue_capacity |
500 |
Maximale capaciteit van de interne wachtrijen tussen batcher-, unifier- en sender-arbeiders. Beperkt het geheugengebruik voor batches tijdens de vlucht. |
worker_sleep_time_millis |
10 |
Vertraging tussen iteraties van de worker. |
batcher_workers_count |
(automatisch) | Aantal batcherthreads. |
sender_workers_count |
(automatisch) | Aantal verzendthreads. |
unifier_workers_count |
(automatisch) | Aantal unifier-threads. |
id |
Geen | Een aangepaste identificatietag die aan de logboeken van verzonden batches wordt toegevoegd. |
Logstash opnieuw starten
Start Logstash opnieuw met de bijgewerkte configuratie van de uitvoerinvoegtoepassing. Controleer of de gegevens worden opgenomen in de juiste tabel volgens uw DCR-configuratie.
Binnenkomende logboeken weergeven in Microsoft Sentinel
Voer de volgende stappen uit om te controleren of logboekgegevens uw werkruimte bereiken:
Controleer of er berichten worden verzonden naar de uitvoerinvoegtoepassing.
Selecteer logboeken in het navigatiemenu Microsoft Sentinel. Vouw onder de kop Tabellen de categorie Aangepaste logboeken uit . Zoek en selecteer de naam van de tabel die u hebt opgegeven (met een
_CLachtervoegsel) in de configuratie.
Als u records in de tabel wilt zien, voert u een query uit op de tabel met behulp van de tabelnaam als schema.
Auditlogboeken van uitvoerinvoegtoepassingen bewaken
Als u de connectiviteit en activiteit van de Microsoft Sentinel-uitvoerinvoegtoepassing wilt bewaken, schakelt u het juiste Logboekbestand van Logstash in. Zie het document Logstash Directory Layout voor de locatie van het logboekbestand.
Als u geen gegevens in dit logboekbestand ziet, genereert en verzendt u enkele gebeurtenissen lokaal via de invoer- en filterinvoegtoepassingen om ervoor te zorgen dat de uitvoerinvoegtoepassing gegevens ontvangt. Microsoft Sentinel ondersteunt alleen problemen met betrekking tot de uitvoerinvoegtoepassing.
Netwerkbeveiliging
Definieer netwerkinstellingen en schakel netwerkisolatie in voor de Microsoft Sentinel Logstash-uitvoerinvoegtoepassing.
Servicetags voor virtuele netwerken
Microsoft Sentinel uitvoerinvoegtoepassing ondersteunt Azure servicetags van virtuele netwerken. Zowel AzureMonitor - als AzureActiveDirectory-tags zijn vereist.
Azure Virtual Network servicetags kunnen worden gebruikt voor het definiëren van netwerktoegangsbeheer voor netwerkbeveiligingsgroepen, Azure Firewall en door de gebruiker gedefinieerde routes. Gebruik servicetags in plaats van specifieke IP-adressen wanneer u beveiligingsregels en -routes maakt. Voor scenario's waarin Azure Virtual Network servicetags niet kunnen worden gebruikt, worden de firewallvereisten hieronder beschreven.
Firewallvereisten
De volgende tabel bevat de firewallvereisten voor scenario's waarin Azure servicetags van virtuele netwerken niet kunnen worden gebruikt.
| Cloud | Eindpunt | Doel | Poort | Richting | HTTPS-inspectie omzeilen |
|---|---|---|---|---|---|
| Azure Commercieel | https://login.microsoftonline.com |
Autorisatieserver (de Microsoft identity platform) | Poort 443 | Uitgaand | Ja |
| Azure Commercieel | https://<data collection endpoint name>.<Azure cloud region>.ingest.monitor.azure.com |
Eindpunt voor gegevensverzameling | Poort 443 | Uitgaand | Ja |
| Azure Government | https://login.microsoftonline.us |
Autorisatieserver (de Microsoft identity platform) | Poort 443 | Uitgaand | Ja |
| Azure Government | Vervang '.com' hierboven door '.us' | Eindpunt voor gegevensverzameling | Poort 443 | Uitgaand | Ja |
| Microsoft Azure beheerd door 21Vianet | https://login.chinacloudapi.cn |
Autorisatieserver (de Microsoft identity platform) | Poort 443 | Uitgaand | Ja |
| Microsoft Azure beheerd door 21Vianet | Vervang '.com' hierboven door '.cn' | Eindpunt voor gegevensverzameling | Poort 443 | Uitgaand | Ja |
Versiegeschiedenis van invoegtoepassing
2.5.0
- Optionele proxyconfiguratie per plugin toegevoegd voor authenticatie en ingestieverkeer met gebruik van
proxy,proxy_aad, enproxy_endpoint. - Netty-handler, HTTP-, HTTP/2- en DNS-componenten zijn bijgewerkt van 4.1.133.Final naar 4.1.136.Final.
- Jackson Databind en Jackson Core zijn bijgewerkt van 2.18.6 naar 2.18.8.
2.4.0
- Worker-threads draaien nu als begrensde, door de executor geplande passes: herstelbare uitzonderingen worden gelogd en de worker hervat in de volgende cyclus; fatale JVM-fouten worden geregistreerd en opnieuw gegooid.
- Vaste sierlijke afsluiting zodat batches tijdens de vlucht worden leeggehaald (batchers, dan unifiers, daarna senders) voordat de werkers stoppen, begrensd door
max_graceful_shutdown_time_seconds. - Instelbare uploadtimeouts
connect_timeout_secondstoegevoegd (standaard 15) enwrite_timeout_seconds(standaard 60); verbindings- en schrijftimeouts worden opnieuw geprobeerd. - Thread-ID, uitzonderingstype, batchgrootte en DCR-stroom toegevoegd aan batch-faallogs.
2.3.3
- Verlies van numerieke en booleaanse typegetrouwheid opgelost: velden die gebruikmaken van de interne JRuby-typen van Logstash (bijvoorbeeld poorten en byteaantallen) worden nu behouden als native JSON-getallen en booleaanse waarden in plaats van te worden omgezet in tekenreeksen, zodat betrouwbare inname door DCR’s met getypeerde kolommen is gewaarborgd.
2.3.2
- Opgelost: het ongemerkt stoppen van de werkthread, veroorzaakt door niet-afgevangen uitzonderingen in de verwerkingslus van de werkthread.
- NullPointerException in SenderWorker opgelost als Azure een LogsUploadException met een null HTTP-respons retourneert.
- Veerkrachtige foutafhandeling toegevoegd met opeenvolgende foutregistratie om permanente werkfoutuitval te verminderen.
- Optionele
idconfiguratiewaarde toegevoegd voor telemetrie. - DCR-stroom toegevoegd aan de logging van sent-batches.
2.3.0
- Functionaliteit ingeschakeld met Logstash 9.4.
- Afhankelijkheidsversies voor externe bibliotheken (azure-sdk-bom, logback, slf4j, Netty) bijgewerkt.
2.2.1
- Voegt een info-level loglijn toe wanneer batches succesvol zijn verzonden.
2.2.0
- Voegt de mogelijkheid toe om zowel nieuwe als oude configuratiewaarden te gebruiken.
2.1.2
- Documentatie-updates.
2.1.0
- Eventnormalisatie opgelost.
2.0.0
- De plugin is van Ruby naar Java herschreven.
- ManagedIdentity-verificatie toegevoegd.
- Codebasis verplaatst van GitHub naar Azure DevOps.
- Gesloten codebasis.
1.2.0
- Voegt ondersteuning voor verificatie van beheerde identiteit toe voor Azure VM's/VMSS (door het systeem toegewezen en door de gebruiker toegewezen via IMDS).
- Voegt ondersteuning voor AKS-workloadidentiteit toe via OIDC-tokenuitwisseling.
- Voegt Azure ondersteuning voor beheerde arc-identiteiten toe voor hybride en on-premises servers.
- Hiermee wordt de verificatiemethode tijdens runtime automatisch gedetecteerd op basis van de omgeving (workload identity env vars, Arc-agent of IMDS-terugval).
- Migreert HTTP-client van
exconnaarrest-clientvoor verbeterde compatibiliteit van JRuby- en Logstash-invoegtoepassingsecosysteem. - Hiermee wijzigt u de naam van Azure Active Directory-verwijzingen naar Microsoft Entra ID.
1.1.4
- Hiermee wordt
exconde bibliotheekversie beperkt tot lager dan 1.0.0 om ervoor te zorgen dat de poort altijd wordt gebruikt wanneer u een proxy gebruikt.
1.1.3
- Vervangt de
rest-clientbibliotheek die wordt gebruikt om verbinding te maken met Azure met deexconbibliotheek.
1.1.1
- Hiermee wordt ondersteuning toegevoegd voor Azure cloud van de Amerikaanse overheid en Microsoft Azure beheerd door 21Vianet in China.
1.1.0
- Hiermee kunt u verschillende proxywaarden instellen voor API-verbindingen.
- Hiermee wordt de versie voor logboekopname-API bijgewerkt naar 01-01-2023.
- Wijzigt de naam van de invoegtoepassing in microsoft-sentinel-log-analytics-logstash-output-plugin.
1.0.0
- De eerste release voor de Logstash-uitvoerinvoegtoepassing voor Microsoft Sentinel. Deze invoegtoepassing maakt gebruik van gegevensverzamelingsregels (DCR's) met de Logboekopname-API van Azure Monitor.
Bekende problemen
Wanneer u Logstash gebruikt die is geïnstalleerd op een Docker-installatiekopie van Lite Ubuntu, kan de volgende waarschuwing worden weergegeven:
java.lang.RuntimeException: getprotobyname_r failed
U kunt deze fout oplossen door het netbase-pakket in uw Dockerfile te installeren:
USER root
RUN apt install netbase -y
Zie JNR-regressie in Logstash 7.17.0 (Docker) voor meer informatie.
Als het evenementenpercentage in je omgeving laag is, verhoog dan de waarde van max_waiting_time_for_batch_seconds en max_waiting_for_unifier_time_seconds naar 60 of meer. U kunt de payload voor gegevensinname bewaken met behulp van DCR-metrieken. Voor meer informatie over de wachttijdvariabelen, zie de optie configuratietabel .
Beperkingen
Opname in standaardtabellen is alleen beperkt tot standaardtabellen die worden ondersteund voor opname van aangepaste logboeken.
De kolommen van de invoerstroom in de
streamDeclarationseigenschap moeten beginnen met een letter. Als u een kolom start met andere tekens (bijvoorbeeld@of_), mislukt de bewerking.Het
TimeGenerateddatum/tijd-veld is vereist. U moet dit veld opnemen in de KQL-transformatie.Voor aanvullende mogelijke problemen kun je de stappen voor probleemoplossing in de Logs Ingestion API bekijken.