Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Schreiben Sie mit Kinesis Agent in Amazon Kinesis Data Streams
Kinesis Agent ist eine eigenständige Java-Anwendung, mit der Sie Daten einfach erfassen und an Kinesis Data Streams senden können. Der Agent überwacht kontinuierlich eine Reihe von Dateien und sendet neue Daten an Ihren Stream. Der Agent übernimmt die Dateirotation, das Checkpointing und die Wiederholung bei Fehlern. Er sorgt für eine zuverlässige, zeitgerechte und einfache Bereitstellung Ihrer Daten. Außerdem werden CloudWatch Amazon-Metriken ausgegeben, damit Sie den Streaming-Prozess besser überwachen und Fehler beheben können.
Standardmäßig werden Datensätze aus den einzelnen Dateien anhand des Zeilenumbruchzeichens ('\n'
) analysiert. Der Agent kann jedoch auch für die Analyse mehrzeiliger Datensätze konfiguriert werden (siehe Geben Sie die Einstellungen für die Agentenkonfiguration an).
Sie können den Agenten in Linux-Serverumgebungen installieren, beispielsweise auf Webservern, Protokollservern und Datenbankservern. Nach der Installation des Agenten konfigurieren Sie diesen, indem Sie die zu überwachenden Dateien sowie den Stream für die Daten angeben. Nachdem der Agent konfiguriert wurde, sammelt er permanent Daten aus den Dateien und sendet sie zuverlässig an den Stream.
Themen
- Erfüllen Sie die Voraussetzungen für Kinesis Agent
- Laden Sie den Agenten herunter und installieren Sie ihn
- Konfigurieren und starten Sie den Agenten
- Geben Sie die Einstellungen für die Agentenkonfiguration an
- Überwachen Sie mehrere Dateiverzeichnisse und schreiben Sie in mehrere Streams
- Verwenden Sie den Agenten zur Vorverarbeitung von Daten
- Verwenden Sie CLI Agentenbefehle
- FAQ
Erfüllen Sie die Voraussetzungen für Kinesis Agent
-
Ihr Betriebssystem muss entweder Amazon Linux AMI mit Version 2015.09 oder höher oder Red Hat Enterprise Linux Version 7 oder höher sein.
-
Wenn Sie Amazon verwendenEC2, um Ihren Agenten auszuführen, starten Sie Ihre EC2 Instance.
-
Verwalten Sie Ihre AWS Anmeldeinformationen mit einer der folgenden Methoden:
-
Geben Sie beim Starten Ihrer EC2 Instance eine IAM Rolle an.
-
Geben Sie bei der Konfiguration des Agenten AWS Anmeldeinformationen an (siehe awsAccessKeyID und awsSecretAccessSchlüssel).
-
Bearbeiten Sie
/etc/sysconfig/aws-kinesis-agent
, um Ihre Region und Ihre AWS Zugriffsschlüssel anzugeben. -
Wenn sich Ihre EC2 Instance in einem anderen AWS Konto befindet, erstellen Sie eine IAM Rolle, um Zugriff auf den Kinesis Data Streams Streams-Dienst zu gewähren, und geben Sie diese Rolle bei der Konfiguration des Agenten an (siehe assumeRoleARNund assumeRoleExternalID). Verwenden Sie eine der vorherigen Methoden, um die AWS Anmeldeinformationen eines Benutzers im anderen Konto anzugeben, der berechtigt ist, diese Rolle anzunehmen.
-
-
Die IAM Rolle oder die AWS Anmeldeinformationen, die Sie angeben, müssen berechtigt sein, den Kinesis Data Streams PutRecordsStreams-Vorgang auszuführen, damit der Agent Daten an Ihren Stream senden kann. Wenn Sie die CloudWatch Überwachung für den Agenten aktivieren, ist auch eine Genehmigung zur Durchführung des CloudWatch PutMetricDataVorgangs erforderlich. Weitere Informationen finden Sie unter Steuern des Zugriffs auf Amazon Kinesis Data Streams Streams-Ressourcen mithilfe von IAMÜberwachen Sie den Zustand des Kinesis Data Streams Streams-Agenten mit Amazon CloudWatch, und CloudWatch Zugriffskontrolle.
Laden Sie den Agenten herunter und installieren Sie ihn
Stellen Sie zunächst eine Verbindung mit Ihrer Instance her. Weitere Informationen finden Sie unter Connect to Your Instance im EC2Amazon-Benutzerhandbuch. Wenn Sie Probleme mit der Verbindung haben, finden Sie weitere Informationen unter Problembehandlung beim Herstellen einer Verbindung zu Ihrer Instance im EC2Amazon-Benutzerhandbuch.
So richten Sie den Agenten mit Amazon Linux ein AMI
Verwenden Sie den folgenden Befehl zum Herunterladen und Installieren des Agenten:
sudo yum install –y aws-kinesis-agent
So richten Sie den Agenten mit Red Hat Enterprise Linux ein
Verwenden Sie den folgenden Befehl zum Herunterladen und Installieren des Agenten:
sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn2.noarch.rpm
Um den Agenten einzurichten mit GitHub
-
Laden Sie den Agenten von amazon-kinesis-agentawlabs/
herunter. -
Installieren Sie den Agenten, indem Sie zum Download-Verzeichnis navigieren und den folgenden Befehl ausführen:
sudo ./setup --install
So richten Sie den Agenten in einem Docker-Container ein
Kinesis Agent kann auch in einem Container über die amazonlinux-Containerbasis ausgeführt werden. Verwenden Sie die folgende Docker-Datei und führen Sie dann docker build
aus.
FROM amazonlinux RUN yum install -y aws-kinesis-agent which findutils COPY agent.json /etc/aws-kinesis/agent.json CMD ["start-aws-kinesis-agent"]
Konfigurieren und starten Sie den Agenten
So konfigurieren und starten Sie den Agenten
-
Öffnen und bearbeiten Sie die Konfigurationsdatei (als Superuser, wenn Sie standardmäßige Dateizugriffsberechtigungen nutzen):
/etc/aws-kinesis/agent.json
Geben Sie in der Konfigurationsdatei die Dateien (
"filePattern"
) an, aus denen der Agent Daten sammelt, sowie den Namen des Streams ("kinesisStream"
, an den der Agent die Daten sendet. Beachten Sie, dass der Dateiname ein Muster ist und der Agent Dateirotationen erkennt. Sie können nur einmal pro Sekunde Dateien rotieren oder neue Dateien erstellen. Der Agent verwendet den Zeitstempel der Dateierstellung, um die Dateien zu ermitteln, die gesammelt und zum Stream hinzugefügt werden. Wenn häufiger als einmal pro Sekunde Dateien rotiert oder neue Dateien erstellt werden, kann der Agent nicht mehr ordnungsgemäß zwischen den Dateien unterscheiden.{ "flows": [ { "filePattern": "
/tmp/app.log*
", "kinesisStream": "yourkinesisstream
" } ] } -
Starten Sie den Agenten manuell:
sudo service aws-kinesis-agent start
-
(Optional) Konfigurieren Sie den Agenten so, dass er beim Startup des Systems gestartet wird:
sudo chkconfig aws-kinesis-agent on
Der Agent wird jetzt als Systemdienst im Hintergrund ausgeführt. Er überwacht kontinuierlich die angegebenen Dateien und sendet Daten an den angegebenen Stream. Die Agentenaktivität wird in /var/log/aws-kinesis-agent/aws-kinesis-agent.log
protokolliert.
Geben Sie die Einstellungen für die Agentenkonfiguration an
Der Agent unterstützt die beiden obligatorischen Konfigurationseinstellungen filePattern
und kinesisStream
sowie optionale Konfigurationseinstellungen für zusätzliche Funktionen. Sie können sowohl die obligatorische als auch die optionale Konfiguration in /etc/aws-kinesis/agent.json
angeben.
Wenn Sie die Konfigurationsdatei ändern, müssen Sie den Agenten mit den folgenden Befehlen anhalten und starten:
sudo service aws-kinesis-agent stop sudo service aws-kinesis-agent start
Alternativ können Sie auch den folgenden Befehl nutzen:
sudo service aws-kinesis-agent restart
Im Folgenden finden Sie die allgemeinen Konfigurationseinstellungen.
Konfigurationseinstellung | Beschreibung |
---|---|
assumeRoleARN |
Die ARN Rolle, die der Benutzer übernehmen soll. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter AWS Kontenübergreifendes Delegieren des Zugriffs mithilfe von IAM Rollen. |
assumeRoleExternalId |
Eine optionale Kennung, die festlegt, wer die Rolle übernehmen kann. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter So verwenden Sie eine externe ID. |
awsAccessKeyId |
AWS Zugriffsschlüssel-ID, die die Standardanmeldedaten überschreibt. Diese Einstellung hat Vorrang vor allen anderen Anbietern von Anmeldeinformationen. |
awsSecretAccessKey |
AWS geheimer Schlüssel, der die Standardanmeldedaten überschreibt. Diese Einstellung hat Vorrang vor allen anderen Anbietern von Anmeldeinformationen. |
cloudwatch.emitMetrics |
Ermöglicht dem Agenten, Metriken auszusenden, CloudWatch sofern diese Einstellung gesetzt ist (true). Standard: true |
cloudwatch.endpoint |
Der regionale Endpunkt für CloudWatch. Standard: |
kinesis.endpoint |
Der regionale Endpunkt für Kinesis Data Streams. Standard: |
Im Folgenden finden Sie die Konfigurationseinstellungen für den Ablauf.
Konfigurationseinstellung | Beschreibung |
---|---|
dataProcessingOptions |
Die Liste der Verarbeitungsoptionen, die auf jeden analysierten Datensatz angewendet werden, ehe ein Datensatz an den Stream gesendet wird. Die Verarbeitungsoptionen werden in der angegebenen Reihenfolge ausgeführt. Weitere Informationen finden Sie unter Verwenden Sie den Agenten zur Vorverarbeitung von Daten. |
kinesisStream |
[Erforderlich] Der Name des Streams. |
filePattern |
[Erforderlich] Das Verzeichnis- und Dateimuster, das abgeglichen werden muss, damit es vom Agenten abgerufen werden kann. Für alle Dateien, die mit diesem Muster übereinstimmen, müssen Leseberechtigungen für |
initialPosition |
Die Position, an der mit der Analyse der Datei begonnen wurde. Gültige Werte sind Standard: |
maxBufferAgeMillis |
Die maximale Zeit (in Millisekunden), während der durch den Agenten Daten gepuffert werden, bevor sie an den Stream gesendet werden. Wertebereich: 1.000 bis 900.000 (1 Sekunde bis 15 Minuten) Standard: 60.000 (1 Minute) |
maxBufferSizeBytes |
Die maximale Größe (in Bytes), bis zu der durch den Agenten Daten gepuffert werden, bevor sie an den Stream gesendet werden. Wertebereich: 1 bis 4.194.304 (4 MB) Standard: 4.194.304 (4 MB) |
maxBufferSizeRecords |
Die maximale Anzahl der Datensätze, für die der Agent Daten puffert, ehe diese an den Stream gesendet werden. Wertebereich: 1 bis 500 Standard: 500 |
minTimeBetweenFilePollsMillis |
Das Zeitintervall (in Millisekunden), in dem der Agent die überwachten Dateien auf neue Daten abfragt und analysiert. Wertbereich: 1 oder höher Standard: 100 |
multiLineStartPattern |
Das Muster für die Identifizierung des Datensatzbeginns. Ein Datensatz besteht aus einer Zeile, die mit dem angegebenen Muster übereinstimmt, und allen folgenden Zeilen, die nicht dem Muster entsprechen. Gültige Werte sind reguläre Ausdrücke. Standardmäßig wird jede neue Zeile in den Protokolldateien als einziger Datensatz analysiert. |
partitionKeyOption |
Die Methode zum Erstellen des Partitionsschlüssels. Gültige Werte sind Standard: |
skipHeaderLines |
Die Anzahl der Zeilen, die der Agent überspringt, ehe mit der Analyse der überwachten Dateien begonnen wird. Wertbereich: 0 oder höher Standard: 0 (null) |
truncatedRecordTerminator |
Die Zeichenfolge, mit der der Agent einen analysierten Datensatz kürzt, wenn die Datensatzgröße das zulässige Datensatz-Limit von Kinesis Data Streams überschreitet. (1,000 KB) Standard: |
Überwachen Sie mehrere Dateiverzeichnisse und schreiben Sie in mehrere Streams
Wenn Sie mehrere Ablaufkonfigurationseinstellungen angeben, können Sie den Agenten so konfigurieren, dass er mehrere Dateiverzeichnisse überwacht und Daten an verschiedene Streams sendet. Im folgenden Konfigurationsbeispiel überwacht der Agent zwei Dateiverzeichnisse und sendet Daten an einen Kinesis-Stream bzw. einen Firehose-Lieferstream. Beachten Sie, dass Sie unterschiedliche Endpunkte für Kinesis Data Streams und Firehose angeben können, sodass sich Ihr Kinesis-Stream und Ihr Firehose-Lieferstream nicht in derselben Region befinden müssen.
{ "cloudwatch.emitMetrics":
true
, "kinesis.endpoint": "https://your/kinesis/endpoint
", "firehose.endpoint": "https://your/firehose/endpoint
", "flows": [ { "filePattern": "/tmp/app1.log*
", "kinesisStream": "yourkinesisstream
" }, { "filePattern": "/tmp/app2.log*
", "deliveryStream": "yourfirehosedeliverystream
" } ] }
Ausführlichere Informationen zur Verwendung des Agenten mit Firehose finden Sie unter Writing to Amazon Data Firehose with Kinesis Agent.
Verwenden Sie den Agenten zur Vorverarbeitung von Daten
Der Agent kann die Datensätze vorverarbeiten, die aus den überwachten Dateien analysiert wurden, ehe diese an Ihren Stream gesendet werden. Sie können dieses Feature aktivieren, indem Sie Ihrem Dateifluss die Konfigurationseinstellung dataProcessingOptions
hinzufügen. Sie können eine oder mehrere Verarbeitungsoptionen hinzufügen. Diese werden in der angegebenen Reihenfolge ausgeführt.
Der Agent unterstützt die folgenden aufgelisteten Verarbeitungsoptionen. Der Agent ist ein Open-Source-Tool, sodass Sie dessen Verarbeitungsoptionen optimieren und erweitern können. Sie können den Agenten von Kinesis Agent
Verarbeitungsoptionen
SINGLELINE
-
Konvertiert einen mehrzeiligen Datensatz in einen einzeiligen Datensatz, indem Zeilenumbruchzeichen sowie vorangestellte und folgende Leerzeichen entfernt werden.
{ "optionName": "SINGLELINE" }
CSVTOJSON
-
Konvertiert einen Datensatz von einem durch Trennzeichen getrennten Format in ein Format. JSON
{ "optionName": "CSVTOJSON", "customFieldNames": [ "
field1
", "field2
",...
], "delimiter": "yourdelimiter
" }customFieldNames
-
[Erforderlich] Die Feldnamen, die als Schlüssel in jedem JSON Schlüssel-Wert-Paar verwendet werden. Wenn Sie beispielsweise
["f1", "f2"]
angeben, wird der Datensatz „v1, v2“ in{"f1":"v1","f2":"v2"}
konvertiert. delimiter
-
Die Zeichenfolge, die als Trennzeichen im Datensatz verwendet wird. Standardmäßig wird ein Komma (,) verwendet.
LOGTOJSON
-
Konvertiert einen Datensatz von einem Protokollformat in ein JSON Format. Folgende Protokollformate werden unterstützt: Apache Common Log, Apache Combined Log, Apache Error Log und RFC3164 Syslog.
{ "optionName": "LOGTOJSON", "logFormat": "
logformat
", "matchPattern": "yourregexpattern
", "customFieldNames": [ "field1
", "field2
",…
] }logFormat
-
[Erforderlich] Das Format des Protokolleintrags. Folgende Werte sind möglich:
-
COMMONAPACHELOG
– Das Apache-Common-Log-Format. Jeder Protokolleintrag weist standardmäßig das folgende Muster auf: „%{host} %{ident} %{authuser} [%{datetime}] \"%{request}\" %{response} %{bytes}
“. -
COMBINEDAPACHELOG
– Das Apache-Combined-Log-Format. Jeder Protokolleintrag weist standardmäßig das folgende Muster auf: „%{host} %{ident} %{authuser} [%{datetime}] \"%{request}\" %{response} %{bytes} %{referrer} %{agent}
“. -
APACHEERRORLOG
– Das Apache-Error-Log-Format. Jeder Protokolleintrag weist standardmäßig das folgende Muster auf: „[%{timestamp}] [%{module}:%{severity}] [pid %{processid}:tid %{threadid}] [client: %{client}] %{message}
“. -
SYSLOG
— Das RFC3164 Syslog-Format. Jeder Protokolleintrag weist standardmäßig das folgende Muster auf: „%{timestamp} %{hostname} %{program}[%{processid}]: %{message}
“.
-
matchPattern
-
Das reguläre Ausdrucksmuster, mit dem Werte aus den Protokolleinträgen extrahiert werden. Diese Einstellung wird verwendet, wenn Ihr Protokolleintrag nicht eines der vordefinierten Protokollformate aufweist. Bei dieser Einstellung müssen Sie auch
customFieldNames
angeben. customFieldNames
-
Die benutzerdefinierten Feldnamen, die als Schlüssel in jedem JSON Schlüssel-Wert-Paar verwendet werden. Mit dieser Einstellung können Sie Feldnamen für Werte definieren, die aus
matchPattern
extrahiert wurden, oder die Standardfeldnamen von vordefinierten Protokollformaten überschreiben.
Beispiel : LOGTOJSON Konfiguration
Hier ist ein Beispiel für eine LOGTOJSON
Konfiguration für einen Apache Common Log-Eintrag, der in ein JSON Format umgewandelt wurde:
{ "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG" }
Vor der Konvertierung:
64.242.88.10 - - [07/Mar/2004:16:10:02 -0800] "GET /mailman/listinfo/hsdivision HTTP/1.1" 200 6291
Nach der Konvertierung:
{"host":"64.242.88.10","ident":null,"authuser":null,"datetime":"07/Mar/2004:16:10:02 -0800","request":"GET /mailman/listinfo/hsdivision HTTP/1.1","response":"200","bytes":"6291"}
Beispiel : LOGTOJSON Konfiguration mit benutzerdefinierten Feldern
Im Folgenden ein weiteres Beispiel einer LOGTOJSON
-Konfiguration:
{ "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG", "customFieldNames": ["f1", "f2", "f3", "f4", "f5", "f6", "f7"] }
Mit dieser Konfigurationseinstellung wird derselbe Apache Common Log-Eintrag aus dem vorherigen Beispiel wie folgt in JSON das Format konvertiert:
{"f1":"64.242.88.10","f2":null,"f3":null,"f4":"07/Mar/2004:16:10:02 -0800","f5":"GET /mailman/listinfo/hsdivision HTTP/1.1","f6":"200","f7":"6291"}
Beispiel : Konvertieren eines Apache Common Log-Eintrags
Die folgende Flow-Konfiguration konvertiert einen Apache Common Log-Eintrag in einen einzeiligen Datensatz im JSON Format:
{ "flows": [ { "filePattern": "
/tmp/app.log*
", "kinesisStream": "my-stream
", "dataProcessingOptions": [ { "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG" } ] } ] }
Beispiel : Konvertieren mehrzeiliger Datensätze
Bei der folgenden Ablaufkonfiguration werden mehrzeilige Datensätze analysiert, deren erste Zeile mit „[SEQUENCE=
“ beginnt. Jeder Datensatz wird in einen einzeiligen Datensatz konvertiert. Anschließend werden Werte aus dem Datensatz basierend auf einem Tabulatortrennzeichen extrahiert. Extrahierte Werte werden bestimmten customFieldNames
Werten zugeordnet, sodass ein einzeiliger Datensatz im JSON Format entsteht.
{ "flows": [ { "filePattern": "
/tmp/app.log*
", "kinesisStream": "my-stream
", "multiLineStartPattern": "\\[SEQUENCE=
", "dataProcessingOptions": [ { "optionName": "SINGLELINE" }, { "optionName": "CSVTOJSON", "customFieldNames": [ "field1
", "field2
", "field3
" ], "delimiter": "\\t
" } ] } ] }
Beispiel : LOGTOJSON Konfiguration mit Match Pattern
Hier ist ein Beispiel für eine LOGTOJSON
Konfiguration für einen Apache Common Log-Eintrag, der in ein JSON Format konvertiert wurde, wobei das letzte Feld (Byte) weggelassen wurde:
{ "optionName": "LOGTOJSON", "logFormat": "COMMONAPACHELOG", "matchPattern": "^([\\d.]+) (\\S+) (\\S+) \\[([\\w:/]+\\s[+\\-]\\d{4})\\] \"(.+?)\" (\\d{3})", "customFieldNames": ["host", "ident", "authuser", "datetime", "request", "response"] }
Vor der Konvertierung:
123.45.67.89 - - [27/Oct/2000:09:27:09 -0400] "GET /java/javaResources.html HTTP/1.0" 200
Nach der Konvertierung:
{"host":"123.45.67.89","ident":null,"authuser":null,"datetime":"27/Oct/2000:09:27:09 -0400","request":"GET /java/javaResources.html HTTP/1.0","response":"200"}
Verwenden Sie CLI Agentenbefehle
Automatisches Startup des Agenten beim Systemstart:
sudo chkconfig aws-kinesis-agent on
Prüfen des Status des Agenten:
sudo service aws-kinesis-agent status
Beenden des Agenten:
sudo service aws-kinesis-agent stop
Auslesen der Protokolldatei des Agenten von diesem Speicherort:
/var/log/aws-kinesis-agent/aws-kinesis-agent.log
Deinstallieren des Agenten:
sudo yum remove aws-kinesis-agent
FAQ
Gibt es einen Kinesis Agent für Windows?
Kinesis Agent für Windows ist eine andere Software als Kinesis Agent für Linux-Plattformen.
Warum verlangsamt sich Kinesis Agent und/oder RecordSendErrors
nimmt zu?
Dies ist normalerweise auf die Drosselung durch Kinesis zurückzuführen. Überprüfen Sie die WriteProvisionedThroughputExceeded
Metrik für Kinesis Data Streams oder die ThrottledRecords
Metrik für Firehose Delivery Streams. Jede Erhöhung dieser Metriken von 0 zeigt an, dass die Stream-Grenzwerte erhöht werden müssen. Weitere Informationen finden Sie unter Kinesis-Datenstrom-Grenzwerte und Amazon Firehose Delivery Streams.
Sobald Sie die Drosselung ausgeschlossen haben, überprüfen Sie, ob der Kinesis Agent so konfiguriert ist, dass er eine große Menge kleiner Dateien durchsucht. Es gibt eine Verzögerung, wenn der Kinesis Agent eine neue Datei überwacht, daher sollte der Kinesis-Agent eine kleine Menge größerer Dateien überwachen. Versuchen Sie, Ihre Protokolldateien in größeren Dateien zusammenzufassen.
Warum erhalte ich java.lang.OutOfMemoryError
-Ausnahmen?
Kinesis Agent verfügt nicht über genügend Arbeitsspeicher, um seinen aktuellen Workload zu bewältigen. Versuchen Sie, JAVA_START_HEAP
und JAVA_MAX_HEAP
in /usr/bin/start-aws-kinesis-agent
zu erhöhen und den Agenten neu zu starten.
Warum erhalte ich IllegalStateException : connection pool shut down
-Ausnahmen?
Kinesis Agent verfügt nicht über genügend Verbindungen, um seinen aktuellen Workload zu bewältigen. Versuchen Sie, maxConnections
und maxSendingThreads
in den allgemeinen Konfigurationseinstellungen des Agenten unter /etc/aws-kinesis/agent.json
zu erhöhen. Der Standardwert für diese Felder ist das 12-fache der verfügbaren Laufzeitprozessoren. Weitere Informationen zu den Einstellungen für erweiterte Agentenkonfigurationen finden Sie unter AgentConfiguration.java
Wie kann ich ein anderes Problem mit Kinesis Agent beheben?
DEBUG
-Level-Protokolle können in /etc/aws-kinesis/log4j.xml
aktiviert werden.
Wie sollte ich Kinesis Agent konfigurieren?
Je kleiner das maxBufferSizeBytes
, desto häufiger sendet der Kinesis Agent Daten. Dies kann nützlich sein, da es die Lieferzeit von Datensätzen verkürzt, aber es erhöht auch die Anfragen pro Sekunde an Kinesis.
Warum sendet Kinesis Agent doppelte Datensätze?
Dies ist auf eine Fehlkonfiguration bei der Dateiüberwachung zurückzuführen. Stellen Sie sicher, dass jedes fileFlow’s filePattern
nur einer Datei entspricht. Dies kann auch auftreten, wenn der verwendete logrotate
-Modus im copytruncate
-Modus ist. Versuchen Sie, den Modus auf den Standard- oder Erstellungsmodus zu ändern, um Duplikate zu vermeiden. Weitere Informationen zum Umgang mit doppelten Datensätzen finden Sie unter Umgang mit doppelten Datensätzen.