Utilisez le plugin aliyun-log-flume pour échanger des données de journal entre Log Service et Apache Flume.
Informations générales
aliyun-log-flume est un plugin qui connecte Log Service à Apache Flume, permettant l'échange de données avec d'autres systèmes tels que HDFS et Kafka. Il fournit un composant sink et un composant source.
Sink : Flume lit les données provenant d'autres sources et les écrit dans Log Service.
Source : Flume consomme les données de journal depuis Log Service et les écrit vers d'autres systèmes.
Pour plus d'informations, consultez aliyun-log-flume.
Procédure
-
Téléchargez et installez Apache Flume.
Pour plus d'informations, consultez Apache Flume.
-
Téléchargez le plugin aliyun-log-flume et placez-le dans le répertoire **
/flume/lib** .Pour plus d'informations, consultez aliyun-log-flume-1,3.jar.
-
Dans le répertoire **
/flume/conf** , créez un fichier de configuration nommé flumejob.conf. Démarrez Flume.
Sink
Un sink écrit les données provenant d'autres sources dans Log Service. Deux formats d'analyse sont pris en charge :
SIMPLE : écrit l'intégralité de l'événement Flume en tant que champ unique dans Log Service.
DELIMITED : traite l'événement Flume comme des données délimitées par un séparateur, les analyse en champs selon les noms de colonnes configurés, puis les écrit dans Log Service.
Le tableau suivant répertorie les paramètres du sink.
|
Paramètre |
Obligatoire |
Description |
|
type |
Oui |
Le type du sink. Définissez ce paramètre sur |
|
endpoint |
Oui |
L'endpoint du projet Log Service. Exemple : |
|
project |
Oui |
Le nom du projet Log Service. |
|
LogStore |
Oui |
Le nom du Logstore. |
|
accessKeyId |
Oui |
L'AccessKey ID de votre compte Alibaba Cloud. Nous vous recommandons d'utiliser la paire de clés AccessKey d'un utilisateur RAM. Pour plus d'informations, consultez Créer une clé AccessKey. |
|
accessKey |
Oui |
Le secret AccessKey de votre compte Alibaba Cloud. Nous vous recommandons d'utiliser la paire de clés AccessKey d'un utilisateur RAM. Pour plus d'informations, consultez Créer une clé AccessKey. |
|
batchSize |
Non |
Le nombre d'entrées de données à écrire dans Log Service par lot. Valeur par défaut : 1000. |
|
maxBufferSize |
Non |
La taille de la file d'attente du tampon. Valeur par défaut : 1 000 entrées. |
|
serializer |
Non |
Le format de sérialisation des événements. Valeurs possibles :
|
|
columns |
Non |
Ce paramètre est requis lorsque |
|
separatorChar |
Non |
Ce paramètre est utilisé lorsque |
|
quoteChar |
Non |
Ce paramètre est utilisé lorsque |
|
escapeChar |
Non |
Ce paramètre est utilisé lorsque |
|
useRecordTime |
Non |
Indique s'il faut utiliser le champ |
Pour des exemples de configuration de sink, consultez GitHub.
Source
Une source consomme les données de journal depuis Log Service et les envoie vers d'autres systèmes. Les formats de sortie suivants sont pris en charge :
DELIMITED : écrit les données dans Flume au format délimité.
JSON : écrit les données dans Flume au format JSON.
Le tableau suivant répertorie les paramètres de la source.
|
Paramètre |
Obligatoire |
Description |
|
type |
Oui |
Le type de la source. Définissez ce paramètre sur |
|
endpoint |
Oui |
L'endpoint du projet Log Service. Exemple : |
|
project |
Oui |
Le nom du projet Log Service. |
|
LogStore |
Oui |
Le nom du Logstore. |
|
accessKeyId |
Oui |
L'AccessKey ID de votre compte Alibaba Cloud. Nous vous recommandons d'utiliser la paire de clés AccessKey d'un utilisateur RAM. Pour plus d'informations, consultez Créer une clé AccessKey. |
|
accessKey |
Oui |
Le secret AccessKey de votre compte Alibaba Cloud. Nous vous recommandons d'utiliser la paire de clés AccessKey d'un utilisateur RAM. Pour plus d'informations, consultez Créer une clé AccessKey. |
|
heartbeatIntervalMs |
Non |
L'intervalle de pulsation entre le client et Log Service. Valeur par défaut : 30 000 ms. |
|
fetchIntervalMs |
Non |
L'intervalle de récupération des données. Valeur par défaut : 100 ms. |
|
fetchInOrder |
Non |
Indique s'il faut consommer les données dans l'ordre séquentiel. Valeur par défaut : |
|
batchSize |
Non |
Le nombre d'entrées de données à lire par lot. Valeur par défaut : 100. |
|
consumerGroup |
Non |
Le nom du groupe de consommateurs utilisé pour la lecture des données. |
|
initialPosition |
Non |
La position initiale à partir de laquelle commencer la lecture des données. Valeurs possibles : begin, end et timestamp. Valeur par défaut : begin. Remarque
Si un point de contrôle côté serveur existe, il est prioritaire. |
|
timestamp |
Non |
Ce paramètre est requis lorsque |
|
deserializer |
Oui |
Le format de désérialisation des événements. Valeurs possibles :
|
|
columns |
Non |
Ce paramètre est requis lorsque |
|
separatorChar |
Non |
Ce paramètre est utilisé lorsque |
|
quoteChar |
Non |
Ce paramètre est utilisé lorsque |
|
escapeChar |
Non |
Ce paramètre est utilisé lorsque |
|
appendTimestamp |
Non |
Ce paramètre est utilisé lorsque |
|
sourceAsField |
Non |
Ce paramètre est utilisé lorsque |
|
tagAsField |
Non |
Ce paramètre est utilisé lorsque |
|
timeAsField |
Non |
Ce paramètre est utilisé lorsque |
|
useRecordTime |
Non |
Indique s'il faut utiliser l'heure originale du journal de Log Service pour l'horodatage de l'événement Flume. Si la valeur est |
Pour des exemples de configuration de source, consultez GitHub.