Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déclarations de récepteurs
Les déclarations de récepteurs spécifient la forme sous laquelle les journaux, les événements et les métriques doivent être envoyés aux divers services AWS ainsi que leur emplacement de destination. Les sections suivantes décrivent les configurations des types de récepteur intégrés qui sont disponibles dans Amazon Kinesis Agent pour Microsoft Windows. Étant donné que Kinesis Agent pour Windows est extensible, vous pouvez ajouter des types de récepteurs personnalisés. Chaque type de récepteur nécessite généralement des paires clé-valeur uniques dans les déclarations de configuration qui sont pertinentes pour ce type de récepteur.
Toutes les déclarations de récepteurs peuvent contenir les paires clé-valeur suivantes :
Id
-
Chaîne unique qui identifie un récepteur spécifique au sein du fichier de configuration (obligatoire).
SinkType
-
Nom du type de ce récepteur (obligatoire). Le type de récepteur spécifie la destination des données de journal, d'événement ou de métrique qui sont diffusées par ce récepteur.
AccessKey
-
Spécifie la clé d'accès AWS à utiliser pour autoriser l'accès au service AWS associé au type de récepteur. La paire clé-valeur est facultative. Pour plus d'informations, consultez Configuration de la sécurité des récepteurs.
SecretKey
-
Spécifie la clé secrète AWS à utiliser pour autoriser l'accès au service AWS associé au type de récepteur. La paire clé-valeur est facultative. Pour plus d'informations, consultez Configuration de la sécurité des récepteurs.
Region
-
Spécifie la région AWS qui contient les ressources de destination pour le streaming. La paire clé-valeur est facultative.
ProfileName
-
Spécifie le profil AWS à utiliser pour l'authentification. Cette paire clé-valeur est facultative, mais si elle est spécifiée, elle remplace toute clé d'accès ou clé secrète spécifiée. Pour plus d'informations, consultez Configuration de la sécurité des récepteurs.
RoleARN
-
Spécifie le rôle IAM à utiliser pour accéder au service AWS associé au type de récepteur. Cette option est utile lorsque Kinesis Agent pour Windows s'exécute sur une instance EC2, mais qu'un rôle différent serait plus approprié que le rôle référencé par le profil d'instance. Par exemple, il est possible d'utiliser un rôle entre comptes pour cibler les ressources qui ne sont pas dans le même compte AWS que l'instance EC2. La paire clé-valeur est facultative.
Format
-
Spécifie le type de sérialisation qui est appliqué aux données de journaux et d'événements avant leur diffusion. Les valeurs valides sont
json
etxml
. Cette option est utile lorsque les analyses en aval dans le pipeline de données nécessitent des données sous un format particulier ou réagissent mieux à un type de format particulier. Cette paire clé-valeur est facultative et, si elle n'est pas spécifiée, le texte ordinaire provenant de la source est diffusé du récepteur vers le service AWS associé à ce type de récepteur. TextDecoration
-
Lorsqu'aucun élément
Format
n'est spécifié,TextDecoration
spécifie le texte supplémentaire à inclure lors de la diffusion des enregistrements de journaux ou d'événements. Pour plus d'informations, consultez Configuration des décorations de récepteurs. La paire clé-valeur est facultative. ObjectDecoration
-
Lorsque l'élément
Format
est spécifié,ObjectDecoration
spécifie les données supplémentaires à inclure dans l'enregistrement de journal ou d'événement avant la sérialisation ou la diffusion. Pour plus d'informations, consultez Configuration des décorations de récepteurs. La paire clé-valeur est facultative. BufferInterval
-
Afin de réduire les appels d'API au service AWS associé au type de récepteur, Kinesis Agent pour Windows place en mémoire tampon plusieurs enregistrements de journaux, d'événements ou de métriques avant la diffusion. Cela permet d'économiser de l'argent pour les services qui sont facturés en fonction du nombre d'appels d'API.
BufferInterval
spécifie la durée maximale (en secondes) du placement des enregistrements en mémoire tampon avant leur diffusion vers le service AWS. Cette paire clé-valeur est facultative et, si elle est spécifiée, vous devez utiliser une chaîne pour représenter la valeur. BufferSize
-
Afin de réduire les appels d'API au service AWS associé au type de récepteur, Kinesis Agent pour Windows place en mémoire tampon plusieurs enregistrements de journaux, d'événements ou de métriques avant la diffusion. Cela permet d'économiser de l'argent pour les services qui sont facturés en fonction du nombre d'appels d'API.
BufferSize
spécifie le nombre maximal d'enregistrements à placer en mémoire tampon avant leur diffusion vers le service AWS. Cette paire clé-valeur est facultative et, si elle est spécifiée, vous devez utiliser une chaîne pour représenter la valeur. MaxAttempts
-
Spécifie le nombre maximum de tentatives de Kinesis Agent pour Windows pour tente de diffuser un ensemble de journaux, d'événements et de métriques vers un service AWS par si le streaming échoue systématiquement. La paire clé-valeur est facultative. Si cet élément est spécifié, utilisez une chaîne pour représenter la valeur. La valeur par défaut est «
3
».
Pour obtenir des exemples de fichiers de configuration complets utilisant différents types de récepteurs, consultez Diffusion à partir du journal des événements d'application Windows vers les récepteurs.
Rubriques
- Configuration du récepteur KinesisStream
- Configuration du récepteur KinesisFirehose
- Configuration du récepteur CloudWatch Sink
- Configuration du récepteur CloudWatchLogs
- LocaleFileSystemConfiguration du récepteur
- Configuration de la sécurité des récepteurs
- ConfigurationProfileRefreshingAWSCredentialProviderPour actualiser les informations d'identification AWS
- Configuration des décorations de récepteurs
- Configuration des substitutions de variables de récepteur
- Configuration de la mise en file d'attente des récepteurs
- Configuration d'un proxy pour les récepteurs
- Configuration de la résolution de variables dans d'autres attributs de collecteur
- Configuration des points de terminaison régionaux AWS STS lors de l'utilisation de la propriété RoleARN dans les puits AWS
- Configuration du point de terminaison VPC pour les puits AWS
- Configuration d'un autre moyen de proxy
Configuration du récepteur KinesisStream
La .KinesisStream
Le type de récepteur diffuse des enregistrements de journaux et des événements vers le service Kinesis Data Streams. En général, les données diffusées vers Kinesis Data Streams sont traitées par une ou plusieurs applications personnalisées qui s'exécutent via différents services AWS. Les données sont diffusées vers un flux nommé qui est configuré à l'aide Kinesis Data Streams. Pour plus d'informations, consultez le .Guide du développeur Amazon Kinesis Data Streams.
Voici un exemple de déclaration de récepteurs Kinesis Data Streams :
{ "Id": "TestKinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "MyTestStream", "Region": "us-west-2" }
Toutes les déclarations de récepteurs KinesisStream
peuvent fournir les paires clé-valeur supplémentaires suivantes :
SinkType
-
Doit être spécifié. La valeur doit être la chaîne littérale
KinesisStream
. StreamName
-
Spécifie le nom du flux de données Kinesis qui reçoit les données diffusées à partir de l'
KinesisStream
type d'évier (requis). Avant de diffuser les données, configurez le flux dans AWS Management Console, l'AWS CLI ou via une application à l'aide de l'API Kinesis Data Streams. RecordsPerSecond
-
Spécifie le nombre maximum d'enregistrements diffusés vers les Kinesis Data Streams par seconde. La paire clé-valeur est facultative. Si cet élément est spécifié, utilisez un entier pour représenter la valeur. La valeur par défaut est de 1 000 enregistrements.
BytesPerSecond
-
Spécifie le nombre maximum d'octets diffusés vers les Kinesis Data Streams par seconde. La paire clé-valeur est facultative. Si cet élément est spécifié, utilisez un entier pour représenter la valeur. La valeur par défaut est de 1 Mo.
La valeur par défaut de BufferInterval
pour ce type de récepteur est d'une seconde et la valeur par défaut de BufferSize
est de 500 enregistrements.
Configuration du récepteur KinesisFirehose
La .KinesisFirehose
Le type de récepteur diffuse des enregistrements de journaux et des événements vers le service Kinesis Data Firehose. Kinesis Data Firehose transmet les données diffusées à d'autres services en vue de leur stockage. En général, les données stockées sont ensuite analysées au cours des étapes ultérieures du pipeline de données. Les données sont diffusées vers un flux de diffusion nommé qui est configuré à l'aide de Kinesis Data Firehose. Pour plus d'informations, consultez le .Guide du développeur Amazon Kinesis Data Firehose.
Voici un exemple de déclaration de récepteurs Kinesis Data Firehose :
{ "Id": "TestKinesisFirehoseSink", "SinkType": "KinesisFirehose", "StreamName": "MyTestFirehoseDeliveryStream", "Region": "
us-east-1
", "CombineRecords": "true" }
Toutes les déclarations de récepteurs KinesisFirehose
peuvent fournir les paires clé-valeur supplémentaires suivantes :
SinkType
-
Doit être spécifié. La valeur doit être la chaîne littérale
KinesisFirehose
. StreamName
-
Spécifie le nom du flux de diffusion Kinesis Data Firehose qui reçoit les données diffusées à partir de l'
KinesisStream
type d'évier (requis). Avant de diffuser les données, configurez le flux de diffusion via AWS Management Console, l'interface de ligne de commande AWS ou via une application à l'aide de l'API Kinesis Data Firehose. CombineRecords
Lorsqu'il est défini sur
true
, spécifie de combiner plusieurs petits enregistrements dans un enregistrement volumineux avec une taille maximale de 5 Ko. La paire clé-valeur est facultative. Les enregistrements combinés à l'aide de cette fonction sont séparés par\n
. Si vous utilisez AWS Lambda pour transformer un enregistrement Kinesis Data Firehose, votre fonction Lambda doit tenir compte du caractère séparateur.RecordsPerSecond
-
Spécifie le nombre maximum d'enregistrements diffusés vers les Kinesis Data Streams par seconde. La paire clé-valeur est facultative. Si cet élément est spécifié, utilisez un entier pour représenter la valeur. La valeur par défaut est de 5 000 enregistrements.
BytesPerSecond
-
Spécifie le nombre maximum d'octets diffusés vers les Kinesis Data Streams par seconde. La paire clé-valeur est facultative. Si cet élément est spécifié, utilisez un entier pour représenter la valeur. La valeur par défaut est de 5 Mo.
La valeur par défaut de BufferInterval
pour ce type de récepteur est d'une seconde et la valeur par défaut de BufferSize
est de 500 enregistrements.
Configuration du récepteur CloudWatch Sink
La .CloudWatch
Type de récepteur diffuse les métriques vers le service CloudWatch. Vous pouvez afficher les métriques dans AWS Management Console. Pour plus d’informations, consultez le Guide de l'utilisateur Amazon CloudWatch.
Voici un exemple de déclaration de récepteurs CloudWatch
:
{ "Id": "CloudWatchSink", "SinkType": "CloudWatch" }
Toutes les déclarations de récepteurs CloudWatch
peuvent fournir les paires clé-valeur supplémentaires suivantes :
SinkType
-
Doit être spécifié. La valeur doit être la chaîne littérale
CloudWatch
. Interval
-
Spécifie la fréquence (en secondes) à laquelle Kinesis Agent pour Windows communique les métriques au service CloudWatch. La paire clé-valeur est facultative. Si cet élément est spécifié, utilisez un entier pour représenter la valeur. La valeur par défaut est de 60 secondes. Spécifiez 1 seconde si vous voulez des métriques CloudWatch haute résolution.
Namespace
-
Spécifie l'espace de noms CloudWatch où les données de métriques sont présentées. Les espaces de noms CloudWatch regroupent un ensemble de métriques. La paire clé-valeur est facultative. La valeur par défaut est
KinesisTap
. Dimensions
-
Spécifie les dimensions CloudWatch utilisées pour isoler les ensembles de métriques au sein d'un espace de noms. Cela peut être utile pour fournir des ensembles de données de métriques distincts pour chaque ordinateur de bureau ou serveur, par exemple. Cette paire clé-valeur est facultative et, si elle est spécifiée, la valeur doit respecter le format suivant :
"
clé1=
valeur1clé2=
valeur..."
. La valeur par défaut est"ComputerName={computername};InstanceId={instance_id}"
. Cette valeur prend en charge la substitution des variables de récepteur. Pour plus d'informations, consultez Configuration des substitutions de variables de récepteur. MetricsFilter
-
Spécifie les métriques qui sont diffusées vers CloudWatch à partir de la source de métriques Kinesis Agent for Windows intégrée. Pour plus d'informations sur la source de métriques intégrée de Kinesis Agent pour Windows, notamment sur les détails de la syntaxe de la valeur de cette paire clé-valeur, consultezSource des métriques prédéfinies de Kinesis Agent pour Windows.
Configuration du récepteur CloudWatchLogs
La .CloudWatchLogs
Le type de récepteur diffuse des enregistrements de journaux et des événements vers des Amazon CloudWatch Logs. Vous pouvez afficher les journaux dans AWS Management Console ou les traiter au cours des étapes supplémentaires d'un pipeline de données. Les données sont diffusées dans un flux de journaux nommé qui est configuré dans CloudWatch Logs. Les flux de journaux sont organisés en groupes de journaux nommés. Pour plus d'informations, consultez le .Guide de l'utilisateur Amazon CloudWatch Logs.
Voici un exemple de déclaration de récepteurs CloudWatch Logs :
{ "Id": "MyCloudWatchLogsSink", "SinkType": "CloudWatchLogs", "BufferInterval": "60", "BufferSize": "100", "Region": "us-west-2", "LogGroup": "MyTestLogGroup", "LogStream": "MyTestStream" }
Toutes les déclarations de récepteurs CloudWatchLogs
doivent fournir les paires clé-valeur supplémentaires suivantes :
SinkType
-
Cet élément doit avoir pour valeur la chaîne littérale
CloudWatchLogs
. LogGroup
-
Spécifie le nom du groupe de journaux CloudWatch Logs qui contient le flux de journaux qui reçoit les enregistrements de journaux et d'événements diffusés par l'
CloudWatchLogs
type d'évier. Si le groupe de journaux spécifié n'existe pas, Kinesis Agent for Windows tente de le créer. LogStream
-
Spécifie le nom du flux de CloudWatch Logs qui reçoit le flux d'enregistrements de journaux et d'événements diffusés par l'
CloudWatchLogs
type d'évier. Cette valeur prend en charge la substitution des variables de récepteur. Pour plus d'informations, consultez Configuration des substitutions de variables de récepteur. Si le flux de journaux spécifié n'existe pas, Kinesis Agent for Windows tente de le créer.
La valeur par défaut de BufferInterval
pour ce type de récepteur est d'une seconde et la valeur par défaut de BufferSize
est de 500 enregistrements. La taille de tampon maximale est de 10 000 enregistrements.
LocaleFileSystem
Configuration du récepteur
Le type d'évierFileSystem
enregistre les enregistrements de journaux et d'événements dans un fichier sur le système de fichiers local au lieu de les diffuser vers les services AWS.FileSystem
sont utiles pour les tests et les diagnostics. Par exemple, vous pouvez utiliser ce type de collecteur pour examiner les enregistrements avant de les envoyer à AWS.
avecFileSystem
, vous pouvez également utiliser des paramètres de configuration pour simuler le traitement par lots, la limitation et le retour sur erreur pour imiter le comportement des puits AWS réels.
Tous les enregistrements de toutes les sources connectées à unFileSystem
sont enregistrés dans le fichier unique spécifié en tant queFilePath
. SiFilePath
n'est pas spécifié, les enregistrements sont enregistrés dans un fichier nommé
dans leSinkId
.txt%TEMP%
, qui est généralementC:\Users\
où :UserName
\AppData\Local\Temp
est l'identifiant unique du récepteur etSinkId
est le nom d'utilisateur Windows de l'utilisateur actif.UserName
Ce type de puits prend en charge les attributs de décoration de texte. Pour plus d'informations, consultez Configuration des décorations de récepteurs.
Un exemple d'FileSystem
La configuration de type de récepteur apparaît dans l'exemple suivant.
{ "Id": "LocalFileSink", "SinkType": "FileSystem", "FilePath": "C:\\ProgramData\\Amazon\\local_sink.txt", "Format": "json", "TextDecoration": "", "ObjectDecoration": "" }
La .FileSystem
La configuration se compose des paires clé-valeur suivantes.
SinkType
Cet élément doit avoir pour valeur la chaîne littérale
FileSystem
.FilePath
Spécifie le chemin d'accès et le fichier où les enregistrements sont enregistrés. La paire clé-valeur est facultative. S'il n'est pas spécifié, la valeur par défaut est
où :TempPath
\\SinkId
.txt
est le dossier stocké dans la stratégieTempPath
%TEMP%
Variable et
est l'identifiant unique du récepteur.SinkId
Format
Spécifie le format de l'événement à
json
ouxml
. Cette paire de valeur de clé est facultative et ne respecte pas la casse. S'il est omis, les événements sont écrits dans le fichier en texte brut.TextDecoration
S'applique uniquement aux événements écrits en texte brut. La paire clé-valeur est facultative.
ObjectDecoration
S'applique uniquement aux événements où
Format
a la valeurjson
. La paire clé-valeur est facultative.
Utilisation avancée — Limitation des enregistrements et simulation des défaillances
FileSystem
peut imiter le comportement des puits AWS en simulant la limitation des enregistrements. Vous pouvez utiliser les paires clé-valeur suivantes pour spécifier des attributs de limitation d'enregistrements et de simulation d'échec.
En acquérant un verrou sur le fichier de destination et en empêchant les écritures sur celui-ci, vous pouvez utiliserFileSystem
pour simuler et examiner le comportement des puits AWS en cas de défaillance du réseau.
L'exemple suivant illustre unFileSystem
avec des attributs de simulation.
{ "Id": "LocalFileSink", "SinkType": "FileSystem", "FilePath": "C:\\ProgramData\\Amazon\\local_sink.txt", "TextDecoration": "", "RequestsPerSecond": "100", "BufferSize": "10", "MaxBatchSize": "1024" }
RequestsPerSecond
Facultatif et spécifié en tant que type de chaîne. S'il n'est pas spécifié, la valeur par défaut est
"5"
. Contrôle le taux de demandes que le sovier traite, c'est-à-dire les écritures dans un fichier, et non le nombre d'enregistrements. Kinesis Agent pour Windows effectue des requêtes par lots aux points de terminaison AWS, de sorte qu'une demande peut contenir plusieurs enregistrements.BufferSize
Facultatif et spécifié en tant que type de chaîne. Spécifie le nombre maximal d'enregistrements d'événements que le sovier effectue par lots avant d'enregistrer dans le fichier.
MaxBatchSize
Facultatif et spécifié en tant que type de chaîne. Spécifie la quantité maximale de données d'enregistrement d'événement, en octets, que le sovier effectue par lots avant d'enregistrer dans le fichier.
La limite de taux d'enregistrement maximal est fonction deBufferSize
, qui détermine le nombre maximum d'enregistrements par demande, etRequestsPerSecond
. Vous pouvez calculer la limite de taux d'enregistrement par seconde à l'aide de la formule suivante.
Taux d'enregistrement=BufferSize
*RequestsPerSecond
Compte tenu des valeurs de configuration dans l'exemple ci-dessus, il y a un taux d'enregistrement maximal de 1000 enregistrements par seconde.
Configuration de la sécurité des récepteurs
Configuration de l'authentification
Pour que Kinesis Agent pour Windows diffuse des journaux, des événements et des métriques vers les services AWS, l'accès doit être authentifié. Il existe plusieurs manières de fournir une authentification pour Kinesis Agent for Windows. La façon dont vous procédez dépend de la situation dans laquelle l'Agent Kinesis pour Windows s'exécute et des exigences de sécurité spécifiques pour une organisation donnée.
-
Si Kinesis Agent pour Windows s'exécute sur un hôte Amazon EC2, la façon la plus simple et la plus sécurisée de fournir une authentification consiste à créer un rôle IAM ayant suffisamment de droits d'accès aux opérations requises pour les services AWS requis, ainsi qu'un profil d'instance EC2 faisant référence à ce rôle. Pour plus d'informations sur la création de profils d'instance, consultez Utilisation de profils d'instance. Pour plus d'informations sur les stratégies à attacher au rôle IAM, consultezConfiguration de l'autorisation.
Après avoir créé le profil d'instance, vous pouvez l'associer à des instances EC2 qui utilisent Kinesis Agent pour Windows. Si les instances disposent déjà d'un profil d'instance associé, vous pouvez attacher les stratégies appropriées au rôle associé à ce profil d'instance.
-
Si Kinesis Agent pour Windows s'exécute sur un hôte EC2 dans un compte, mais que les ressources qui sont la cible du récepteur résident dans un autre compte, vous pouvez créer un rôle IAM pour l'accès entre comptes. Pour de plus amples informations, veuillez consulterDidacticiel : Delegate Access Across AWS Accounts Using IAM Roles. Après avoir créé le rôle entre comptes, spécifiez son Amazon Resource Name (ARN) sous la forme de la valeur de l'
RoleARN
Paire clé-valeur dans la déclaration. Kinesis Agent pour Windows tente ensuite d'assumer le rôle entre comptes spécifié lors de l'accès aux ressources AWS qui sont associées au type de récepteur. -
Si Kinesis Agent pour Windows s'exécute en dehors d'Amazon EC2 (par exemple, sur site), il existe plusieurs options :
-
S'il est acceptable d'enregistrer le serveur ou l'ordinateur de bureau sur site en tant qu'instance gérée par Amazon EC2 Systems Manager, utilisez la procédure suivante pour configurer l'authentification :
-
Utilisez le processus décrit dans Configuration d'AWS Systems Manager dans des environnements hybrides pour créer un rôle de service, créer une activation pour une instance gérée et installer l'agent SSM.
-
Attachez les stratégies appropriées au rôle de service pour permettre à Kinesis Agent pour Windows d'accéder aux ressources nécessaires pour la diffusion des données à partir des récepteurs configurés. Pour plus d'informations sur les stratégies à attacher au rôle IAM, consultezConfiguration de l'autorisation.
Utilisez le processus décrit dansConfigurationProfileRefreshingAWSCredentialProviderPour actualiser les informations d'identification AWSpour actualiser les informations d'identification AWS.
Il s'agit de l'approche recommandée pour les instances autres qu'EC2, car les informations d'identification sont gérées en toute sécurité par SSM et AWS.
-
-
S'il est acceptable d'exécuter le service AWSKinesisTap pour Kinesis Agent pour Windows sous un utilisateur spécifique au lieu du compte système par défaut, utilisez la procédure suivante :
-
Créez un utilisateur IAM dans le compte AWS où les services AWS seront utilisés. Capturez la clé d'accès et la clé secrète de cet utilisateur pendant le processus de création. Vous aurez besoin de ces informations pour les étapes ultérieures de cette procédure.
-
Attachez à l'utilisateur IAM des stratégies qui autorisent l'accès aux opérations requises pour les services requis. Pour plus d'informations sur les stratégies à attacher à l'utilisateur IAM, consultezConfiguration de l'autorisation.
-
Modifiez le service AWSKinesisTap sur chaque ordinateur de bureau ou serveur afin qu'il s'exécute sous un utilisateur spécifique et non sous le compte système par défaut.
-
Créez un profil dans le magasin SDK à l'aide de la clé d'accès et de la clé secrète enregistrées précédemment. Pour plus d'informations, consultez Configuration des informations d'identification AWS.
-
Mettez à jour le fichier
AWSKinesisTap.exe.config
du répertoire%PROGRAMFILES%\Amazon\AWSKinesisTap
en spécifiant le nom du profil créé à l'étape précédente. Pour plus d'informations, consultez Configuration des informations d'identification AWS.
Il s'agit de la méthode recommandée pour les hôtes autres qu'EC2 qui ne peuvent pas être des instances gérées, car les informations d'identification sont chiffrées pour l'hôte et l'utilisateur spécifiques.
-
-
S'il est nécessaire d'exécuter le service AWSKinesisTap pour Kinesis Agent pour Windows sous le compte système par défaut, vous devez utiliser un fichier d'informations d'identification partagé. En effet, le compte système n'a pas de profil utilisateur Windows pour activer le magasin SDK. Les fichiers d'informations d'identification ne sont pas chiffrés ; nous déconseillons donc cette approche. Pour plus d'informations sur l'utilisation des fichiers de configuration partagés, consultezConfiguration des informations d'identification AWSdans leKit AWS SDK pour .NET. Si vous utilisez cette approche, nous vous recommandons d'utiliser le chiffrement NTFS et l'accès restreint au fichier de configuration partagé. Les clés doivent faire l'objet d'une rotation par une plateforme de gestion et le fichier de configuration partagé doit être mis à jour lors de la rotation des clés.
-
Bien qu'il soit possible de fournir directement les clés d'accès et les clés secrètes dans les déclarations de récepteur, cette approche est déconseillée, car les déclarations ne sont pas chiffrées.
Configuration de l'autorisation
Attachez les stratégies appropriées qui suivent à l'utilisateur ou au rôle IAM que utilisera Kinesis Agent pour Windows pour diffuser les données vers les services AWS :
Kinesis Data Streams
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "arn:aws:kinesis:*:*:stream/*" } ] }
Pour limiter l'autorisation à un nom de région, de compte ou de flux spécifique, remplacez les astérisques appropriés dans l'ARN par des valeurs spécifiques. Pour plus d'informations, consultez « Amazon Resource Names (ARN) pour Kinesis Data Streams » dans Contrôle de l'accès aux ressources Amazon Kinesis Data Streams avec IAM.
Kinesis Data Firehose
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:*:*:deliverystream/*" } ] }
Pour limiter l'autorisation à un nom de région, de compte ou de flux de diffusion spécifique, remplacez les astérisques appropriés dans l'ARN par des valeurs spécifiques. Pour de plus amples informations, veuillez consulterContrôle de l'accès avec Amazon Kinesis Data Firehosedans leGuide du développeur Amazon Kinesis Data Firehose.
CloudWatch
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor2", "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }
Pour de plus amples informations, veuillez consulterPrésentation de la gestion des autorisations d'accès à vos ressources CloudWatchdans leGuide de l'utilisateur Amazon CloudWatch Logs.
CloudWatch Logs avec un groupe de journaux et un flux de journaux existants
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor3", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:*" }, { "Sid": "VisualEditor4", "Effect": "Allow", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:*:*:log-group:*:*:*" } ] }
Pour limiter l'accès à une région, un compte, un groupe de journaux ou un flux de journaux spécifique, remplacez les astérisques appropriés dans l'ARN par les valeurs appropriées. Pour de plus amples informations, veuillez consulterPrésentation de la gestion des autorisations d'accès à vos ressources de CloudWatch Logsdans leGuide de l'utilisateur Amazon CloudWatch Logs.
CloudWatch Logs avec des autorisations supplémentaires permettant à Kinesis Agent for Windows de créer des groupes de journaux et des flux de journaux
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor5", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:*" }, { "Sid": "VisualEditor6", "Effect": "Allow", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:*:*:log-group:*:*:*" }, { "Sid": "VisualEditor7", "Effect": "Allow", "Action": "logs:CreateLogGroup", "Resource": "*" } ] }
Pour limiter l'accès à une région, un compte, un groupe de journaux ou un flux de journaux spécifique, remplacez les astérisques appropriés dans l'ARN par les valeurs appropriées. Pour de plus amples informations, veuillez consulterPrésentation de la gestion des autorisations d'accès à vos ressources de CloudWatch Logsdans leGuide de l'utilisateur Amazon CloudWatch Logs.
Autorisations requises pour l'extension des variables EC2 Tag
L'utilisation de l'extension des variables avec le préfixe de variable ec2tag
nécessite l'autorisation ec2:Describe*
.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "VisualEditor8", "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" } ] }
Note
Vous pouvez combiner plusieurs instructions dans une seule stratégie, du moment que l'élément Sid
de chaque instruction est unique au sein de cette stratégie. Pour plus d'informations sur la création de stratégies, consultezCréation de stratégies IAMdans leGuide de l'utilisateur IAM.
ConfigurationProfileRefreshingAWSCredentialProvider
Pour actualiser les informations d'identification AWS
Si vous utilisez AWS Systems Manager pour les environnements hybrides pour gérer les informations d'identification AWS, Systems Manager fait pivoter les informations d'identification de session dansc:\Windows\System32\config\systemprofile\.aws\credentials
. Pour plus d'informations sur Systems Manager pour les environnements hybrides, consultezConfiguration d'AWS Systems Manager pour les environnements hybridesdans leGuide de l'utilisateur AWS Systems Manager.
Étant donné que le kit SDK .net AWS ne récupère pas automatiquement de nouvelles informations d'identification, nous fournissons leProfileRefreshingAWSCredentialProvider
pour actualiser les informations d'identification.
Vous pouvez utiliser la stratégieCredentialRef
de n'importe quelle configuration de synchronisation AWS pour référencer unCredentials
où la stratégieCredentialType
est défini surProfileRefreshingAWSCredentialProvider
Comme illustré dans l'exemple suivant.
{ "Sinks": [{ "Id": "myCloudWatchLogsSink", "SinkType": "CloudWatchLogs", "CredentialRef": "ssmcred", "Region": "
us-west-2
", "LogGroup": "myLogGroup", "LogStream": "myLogStream" }], "Credentials": [{ "Id": "ssmcred", "CredentialType": "ProfileRefreshingAWSCredentialProvider", "Profile": "default", "FilePath": "%USERPROFILE%//.aws//credentials
", "RefreshingInterval":300
}] }
Une définition d'informations d'identification se compose des attributs suivants sous forme de paires clé-valeur.
Id
Définit la chaîne que les définitions de puits peuvent spécifier en utilisant
CredentialRef
pour référencer cette configuration d'informations d'identification.CredentialType
Définissez sur la chaîne littérale
ProfileRefreshingAWSCredentialProvider
.Profile
Facultatif. La valeur par défaut est
default
.FilePath
Facultatif. Indique le chemin d'accès au fichier d'informations d'identification AWS. Si ce paramètre n'est pas spécifié,
%USERPROFILE%/.aws/credentials
est la valeur par défaut.RefreshingInterval
Facultatif. Fréquence à laquelle les informations d'identification sont actualisées, en secondes. Si ce paramètre n'est pas spécifié,
300
est la valeur par défaut.
Configuration des décorations de récepteurs
Les déclarations de récepteurs peuvent éventuellement inclure des paires clé-valeur qui spécifient des données supplémentaires à diffuser vers différents services AWS pour améliorer les enregistrements recueillis à partir de la source.
TextDecoration
-
Utilisez cette paire clé-valeur si aucun élément
Format
n'est spécifié dans la déclaration. La valeur est une chaîne de format spécial dans laquelle se produit une substitution de variables. Par exemple, supposons qu'un élémentTextDecoration
de"{ComputerName}:::{timestamp:yyyy-MM-dd HH:mm:ss}:::{_record}"
soit fourni pour un récepteur. Lorsqu'une source émet un enregistrement de journal contenant le texteThe system has resumed from sleep.
et que cette source est connectée au récepteur via un pipeline, le texteMyComputer1:::2017-10-26 06:14:22:::The system has resumed from sleep.
est diffusé vers le service AWS associé au type de récepteur. La variable{_record}
fait référence à l'enregistrement de texte d'origine fourni par la source. ObjectDecoration
-
Utilisez cette paire clé-valeur lorsque
Format
est spécifié dans la déclaration de récepteurs pour ajouter des données supplémentaires avant la sérialisation des enregistrements. Par exemple, supposons qu'un élémentObjectDecoration
de"ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}"
soit fourni pour un récepteur qui spécifie l'élément JSONFormat
. Le JSON résultant diffusé vers le service AWS associé au type de récepteur inclut les paires clé-valeur suivantes, en plus des données d'origine provenant de la source :{ ComputerName: "MyComputer2", DT: "2017-10-17 21:09:04" }
Pour obtenir un exemple d'utilisation de
ObjectDecoration
, consultez la section Didacticiel : Diffuser les fichiers journaux JSON vers Amazon S3 à l'aide de Kinesis Agent pour Windows. ObjectDecorationEx
Spécifie une expression qui permet une extraction et une mise en forme plus flexibles des données par rapport à
ObjectDecoration
. Ce champ peut être utilisé lorsque le format de l'évier estjson
. La syntaxe d'expression est illustrée dans ce qui suit."ObjectDecorationEx": "
attribute1
={expression1
};attribute2
={expression2
};attribute3
={expression3
}(;...)"Par exemple,
ObjectDecorationEx
Attribut :"ObjectDecorationEx": "host={env:ComputerName};message={upper(_record)};time={format(_timestamp, 'yyyyMMdd')}"
Transforme l'enregistrement littéral :
System log message
Dans un objet JSON comme suit, avec les valeurs renvoyées par les expressions :
{ "host": "
EC2AMAZ-1234
", "message": "SYSTEM LOG MESSAGE", "time": "20210201
" }Pour plus d'informations sur la formulation des expressions, consultezConseils pour écrire des expressions. La plupart des
ObjectDecoration
doit fonctionner en utilisant la nouvelle syntaxe à l'exception des variables d'horodatage. A{timestamp:yyyyMMdd}
Champ dansObjectDecoration
est exprimé sous forme de{format(_timestamp,'yyyyMMdd')}
inObjectDecorationEx
.TextDecorationEx
Spécifie une expression qui permet une extraction et une mise en forme plus flexibles des données par rapport à
TextDecoration
, comme illustré dans l'exemple suivant."TextDecorationEx": "Message '{lower(_record)}' at {format(_timestamp, 'yyyy-MM-dd')}"
Vous pouvez utiliser
TextDecorationEx
pour composer des objets JSON. Utilisez '@ {'pour échapper à l'accolade ouverte, comme illustré dans l'exemple suivant."TextDecorationEx": "@{ \"var\": \"{upper($myvar1)}\" }"
Si le type de la source connectée au récepteur est DirectorySource
, le récepteur peut utiliser trois variables supplémentaires :
_FilePath
-
Chemin complet du fichier journal.
_FileName
-
Nom et extension de nom du fichier.
_Position
-
Entier qui représente l'emplacement de l'enregistrement dans le fichier journal.
Ces variables sont utiles lorsque vous utilisez une source qui recueille les enregistrements de journaux de plusieurs fichiers connectés à un récepteur qui diffuse tous les enregistrements vers un seul flux. L'injection des valeurs de ces variables dans les enregistrements diffusés permet aux analyses en aval du pipeline de données de classer les enregistrements par fichier et par emplacement au sein de chaque fichier.
Conseils pour écrire des expressions
Une expression peut avoir l'une des expressions suivantes :
Une expression variable.
Une expression constante, par exemple,
'hello'
,1
,1.21
,null
,true
,false
.Expression d'appel qui appelle une fonction, comme illustré dans l'exemple suivant.
regexp_extract('Info: MID 118667291 ICID 197973259 RID 0 To: <jd@acme.com>', 'To: (\\\\S+)', 1)
Caractères spéciaux
Deux barres obliques inverses sont nécessaires pour échapper aux caractères spéciaux.
Nesting
Les invocations de fonctions peuvent être imbriquées, comme illustré dans l'exemple suivant.
format(date(2018, 11, 28), 'MMddyyyy')
Variables
Il existe trois types de variables : locale, méta et globale.
Variables localesCommencez par un
$
tels que$message
. Ils sont utilisés pour résoudre la propriété de l'objet d'événement, une entrée si l'événement est un dictionnaire, ou un attribut si l'événement est un objet JSON. Si la variable locale contient de l'espace ou des caractères spéciaux, utilisez une variable locale entre guillemets telle que$'date created'
.Variables MétadonnéesCommencez par un trait de soulignement (
_
) et sont utilisés pour résoudre les métadonnées de l'événement. Tous les types d'événements prennent en charge les méta variables suivantes._timestamp
Horodatage de l'événement.
_record
Représentation de texte brut de l'événement.
Les événements de journal prennent en charge les méta variables supplémentaires suivantes.
_filepath
_filename
_position
_linenumber
Variables globalesrésoudre en variables d'environnement, métadonnées d'instance EC2 ou EC2Tag. Pour des performances améliorées, nous vous recommandons d'utiliser le préfixe pour limiter la portée de la recherche, comme
{env:ComputerName}
,{ec2:InstanceId}
, et{ec2tag:Name}
.
Fonctions intégrées
Kinesis Agent pour Windows prend en charge les fonctions prédéfinies ci-dessous. Si l'un des arguments estNULL
et la fonction n'est pas conçue pour gérerNULL
, unNULL
est retourné.
//string functions int length(string input) string lower(string input) string lpad(string input, int size, string padstring) string ltrim(string input) string rpad(string input, int size, string padstring) string rtrim(string input) string substr(string input, int start) string substr(string input, int start, int length) string trim(string input) string upper(string str) //regular expression functions string regexp_extract(string input, string pattern) string regexp_extract(string input, string pattern, int group) //date functions DateTime date(int year, int month, int day) DateTime date(int year, int month, int day, int hour, int minute, int second) DateTime date(int year, int month, int day, int hour, int minute, int second, int millisecond) //conversion functions int? parse_int(string input) decimal? parse_decimal(string input) DateTime? parse_date(string input, string format) string format(object o, string format) //coalesce functions object coalesce(object obj1, object obj2) object coalesce(object obj1, object obj2, object obj3) object coalesce(object obj1, object obj2, object obj3, object obj4) object coalesce(object obj1, object obj2, object obj3, object obj4, object obj5) object coalesce(object obj1, object obj2, object obj3, object obj4, object obj5, object obj6)
Configuration des substitutions de variables de récepteur
Les déclarations de récepteurs KinesisStream
, KinesisFirehose
et CloudWatchLogs
nécessitent une paire clé-valeur LogStream
ou StreamName
. La valeur de ces paires clé-valeur peut contenir des références de variables qui sont automatiquement résolues par l'Agent Kinesis pour Windows. PourCloudWatchLogs
, leLogGroup
paire clé-valeur est également requise et peut contenir des références de variables qui sont automatiquement résolues par l'Agent Kinesis pour Windows. Les variables sont spécifiées en utilisant le modèle {
prefix
:
variablename
}
, où prefix
:
est facultatif. Les préfixes pris en charge sont les suivants :
-
env
— La référence de variable est résolue par la valeur de la variable d'environnement portant le même nom. -
ec2
— La référence de variable est résolue par les métadonnées d'instance EC2 portant le même nom. -
ec2tag
— La référence de variable est résolue par la valeur de la balise d'instance EC2 portant le même nom. L'autorisationec2:Describe*
est nécessaire pour accéder aux balises d'instance. Pour plus d'informations, consultez Autorisations requises pour l'extension des variables EC2 Tag.
Si le préfixe n'est pas spécifié et s'il y a une variable d'environnement portant le même nom que variablename
, la référence de variable est résolue par la valeur de la variable d'environnement. Sinon, si variablename
a pour valeur instance_id
ou hostname
, la référence de variable est résolue par la valeur des métadonnées EC2 portant le même nom. Dans le cas contraire, la référence de variable n'est pas résolue.
Voici des exemples de paires clé-valeur valides utilisant des références de variable :
"LogStream": "LogStream_{instance_id}" "LogStream": "LogStream_{hostname}" "LogStream": "LogStream_{ec2:local-hostname}" "LogStream": "LogStream_{computername}" "LogStream": "LogStream_{env:computername}"
Les déclarations de récepteurs CloudWatchLogs
prennent en charge une variable d'horodatage de format spécial qui autorise l'horodatage de l'enregistrement de journal ou d'événement d'origine à partir de la source pour modifier le nom du flux de journaux. Le format est {timestamp:
timeformat
}
. Consultez l'exemple suivant:
"LogStream": "LogStream_{timestamp:yyyyMMdd}"
Si l'enregistrement de journal ou d'événement a été généré le 5 juin 2017, la valeur de la paire clé-valeur LogStream
de l'exemple précédent sera résolue par "LogStream_20170605"
.
Si cela est autorisé, le type de récepteur CloudWatchLogs
peut créer automatiquement de nouveaux flux de journaux lorsque cela est nécessaire en fonction des noms générés. Vous ne pouvez pas le faire pour d'autres types de récepteurs, car ils nécessitent une configuration supplémentaire au-delà du nom du flux.
Il existe des substitutions de variables spéciales qui se produisent dans les éléments TextDecoration et ObjectDecoration. Pour plus d'informations, consultez Configuration des décorations de récepteurs.
Configuration de la mise en file d'attente des récepteurs
Les déclarations de récepteurs CloudWatchLogs
, KinesisStream
et KinesisFirehose
peuvent éventuellement autoriser la mise en file d'attente des enregistrements qui n'ont pas pu être diffusés vers le service AWS associé à ces types de récepteurs en raison de problèmes de connectivité transitoires. Pour activer la mise en file d'attente et l'automatisation des nouvelles tentatives de diffusion en streaming lorsque la connectivité est restaurée, utilisez les paires clé-valeur suivantes dans les déclarations de récepteurs :
QueueType
-
Spécifie le type de mécanisme de mise en file d'attente à utiliser. La seule valeur prise en charge est
file
, ce qui indique que les enregistrements doivent être mis en file d'attente dans un fichier. Cette paire clé-valeur est obligatoire pour activer la fonctionnalité de mise en file d'attente de Kinesis Agent for Windows. Si cet élément n'est pas spécifié, le comportement par défaut est le placement en file d'attente en mémoire uniquement et l'échec de la diffusion lorsque les limites de la mise en file d'attente en mémoire sont atteintes. QueuePath
-
Spécifie le chemin d'accès au dossier contenant les fichiers des enregistrements placés en file d'attente. La paire clé-valeur est facultative. La valeur par défaut est
%PROGRAMDATA%\KinesisTap\Queue\
SinkId, où SinkId représente l'identifiant que vous avez affecté comme valeur de l'élémentId
pour la déclaration de récepteurs. QueueMaxBatches
-
Limite la quantité totale d'espace pouvant être consommée par Kinesis Agent pour Windows lors de la mise en file d'attente des enregistrements pour la diffusion en streaming. La quantité d'espace est limitée à la valeur de cette paire clé-valeur multipliée par le nombre maximal d'octets par lot. Le nombre maximal d'octets par lot des types de récepteurs
CloudWatchLogs
,KinesisStream
etKinesisFirehose
est respectivement 5 Mo, 4 Mo et 1 Mo. Lorsque cette limite est atteinte, les défaillances de diffusion en streaming ne sont pas mises en file d'attente et sont signalées comme des défaillances irrécupérables. La paire clé-valeur est facultative. La valeur par défaut est de 10 000 lots.
Configuration d'un proxy pour les récepteurs
Pour configurer un proxy pour tous les types de récepteur Kinesis Agent pour Windows qui accèdent aux services AWS, modifiez le fichier de configuration Kinesis Agent for Windows situé à l'adresse%Program
Files%\Amazon\KinesisTap\AWSKinesisTap.exe.config
. Pour obtenir des instructions, consultezproxy
Section dansRéférence aux fichiers de configuration pour le AWS SDK for .NETdans leManuel du développeur du kit SDK AWS pour .NET.
Configuration de la résolution de variables dans d'autres attributs de collecteur
L'exemple suivant illustre une configuration de récepteur qui utilise l'Region
Variable d'environnement pour la valeur de la stratégieRegion
paire clé/valeur d'attribut. PourRoleARN
, il spécifie la clé de balise EC2MyRoleARN
, qui évalue la valeur associée à cette clé.
"Id": "myCloudWatchLogsSink", "SinkType": "CloudWatchLogs", "LogGroup": "EC2Logs", "LogStream": "logs-{instance_id}" "Region": "{env:Region}" "RoleARN": "{ec2tag:MyRoleARN}"
Configuration des points de terminaison régionaux AWS STS lors de l'utilisation de la propriété RoleARN dans les puits AWS
Cette fonctionnalité ne s'applique que si vous utilisez KinesiStap sur Amazon EC2 et que vous utilisez l'RoleARN
des puits AWS pour assumer un rôle IAM externe pour s'authentifier auprès des services AWS de destination.
En définissantUseSTSRegionalEndpoints
surtrue
, vous pouvez spécifier qu'un agent utilise le point de terminaison régional (par exemple,https://sts.us-east-1.amazonaws.com
) au lieu du point de terminaison global (par exemple,https://sts.amazonaws.com
). L'utilisation d'un point de terminaison STS régional réduit la latence aller-retour pour l'opération et limite l'impact des défaillances dans le service de point de terminaison global.
Configuration du point de terminaison VPC pour les puits AWS
Vous pouvez spécifier un point de terminaison VPC dans la configuration du récepteur pourCloudWatchLogs
,CloudWatch
,KinesisStreams
, etKinesisFirehose
types d'évier. Un point de terminaison de VPC permet une connexion privée entre votre VPC et les services AWS pris en charge ou les services de point de terminaison VPC gérés par AWS PrivateLink sans nécessiter une passerelle Internet, un périphérique NAT et une connexion VPN ou une connexion AWS Direct Connect. Les instances de votre VPC ne requièrent pas d'adresses IP publiques pour communiquer avec les ressources du service. Le trafic entre votre VPC et les autres services ne quitte pas le réseau Amazon. Pour de plus amples informations, veuillez consulterPoints de terminaison d'un VPCdans leGuide de l'utilisateur Amazon VPC.
Vous spécifiez le point de terminaison VPC à l'aide de laServiceURL
comme illustré dans l'exemple suivant d'unCloudWatchLogs
configuration de l'évier. Définissez la valeur deServiceURL
à la valeur affichée sur leDétails du point de terminaison du VPCÀ l'aide de la console Amazon VPC.
{ "Id": "myCloudWatchLogsSink", "SinkType": "CloudWatchLogs", "LogGroup": "EC2Logs", "LogStream": "logs-{instance_id}", "ServiceURL":"
https://vpce-ab1c234de56-ab7cdefg.logs.us-east-1.vpce.amazonaws.com
" }
Configuration d'un autre moyen de proxy
Cette fonctionnalité vous permet de configurer un serveur proxy dans une configuration de collecteur à l'aide de la prise en charge du proxy intégrée au kit SDK AWS au lieu de .NET. Auparavant, la seule façon de configurer l'agent pour qu'il utilise un proxy était d'utiliser une fonctionnalité native de .NET, qui acheminait automatiquement toutes les requêtes HTTP/S via le proxy défini dans le fichier proxy.
Si vous utilisez actuellement l'agent avec un serveur proxy, vous n'avez pas besoin de changer pour utiliser cette méthode.
Vous pouvez utiliser la stratégieProxyHost
andProxyPort
Pour configurer un proxy alternatif, comme illustré dans l'exemple suivant.
{ "Id": "myCloudWatchLogsSink", "SinkType": "CloudWatchLogs", "LogGroup": "EC2Logs", "LogStream": "logs-{instance_id}", "Region": "
us-west-2
", "ProxyHost": "myproxy.mydnsdomain.com
", "ProxyPort": "8080
" }