Le plug-in logstash-output-oss transfère les données des pipelines Alibaba Cloud Logstash vers Object Storage Service (OSS). Il s'agit d'un plug-in open source maintenu par Alibaba Cloud. Pour consulter le code source, reportez-vous à la section logstash-output-oss.
Alibaba Cloud Logstash prend en charge le transfert de données uniquement au sein d'un réseau privé virtuel (VPC). Si votre source de données se trouve sur Internet, configurez une passerelle NAT avant de poursuivre. Pour plus d'informations, consultez la page Configuration d'une passerelle NAT pour le transfert de données via Internet.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Installé le plug-in logstash-output-oss. Pour plus d'informations, consultez la page Installation et suppression d'un plug-in.
Activé OSS. Pour plus d'informations, consultez la page Activation d'OSS.
Créé un bucket OSS avec des droits de lecture/écriture et obtenu l'ID AccessKey ainsi que la clé AccessKey Secret d'un compte disposant des autorisations d'écriture sur ce bucket. Pour plus d'informations, consultez la page Création de buckets.
Préparé vos sources de données. Le plug-in prend en charge tous les plug-ins d'entrée Logstash. Pour obtenir la liste complète, reportez-vous à la page Plug-ins d'entrée.
Configuration du plug-in
Créez un pipeline à l'aide d'un fichier de configuration, puis configurez la section de sortie avec les paramètres du plug-in oss. Une fois le pipeline enregistré et déployé, Alibaba Cloud Logstash transfère les données de vos sources vers OSS.
Pour obtenir des instructions sur la création d'un pipeline, consultez la page Gestion des pipelines à l'aide de fichiers de configuration.
L'exemple suivant configure un pipeline qui lit les données depuis Beats et les écrit dans OSS :
input {
beats {
port => "8044" # required
codec => json {
charset => "UTF-8"
}
}
}
output {
oss {
endpoint => "http://oss-cn-hangzhou-internal.aliyuncs.com" # required
bucket => "zl-log-output-test" # required
access_key_id => "LTAI****************" # required
access_key_secret => "yourAccessKeySecret" # required
temporary_directory => "/ssd/1/<Logstash cluster ID>/logstash/data/22" # required
prefix => "oss/database" # optional, default: empty
recover => true # optional, default: true
rotation_strategy => "size_and_time" # optional, default: size_and_time
time_rotate => 1 # optional, default: 15 (minutes)
size_rotate => 1000 # optional, default: 31457280 (bytes)
encoding => "gzip" # optional, default: none
additional_oss_settings => {
max_connections_to_oss => 1024 # optional, default: 1024
secure_connection_enabled => false # optional, default: false
}
codec => json {
charset => "UTF-8"
}
}
}
Alibaba Cloud Logstash prend actuellement en charge le transfert de données uniquement au sein du même réseau privé virtuel (VPC). Pour transférer des données via le réseau public, vous devez configurer une passerelle NAT. Pour plus d'informations, consultez la page Configuration de NAT pour le transfert de données via le réseau public.
Paramètres
Le tableau suivant décrit tous les paramètres pris en charge par logstash-output-oss.
| Paramètre | Type | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|---|
endpoint |
String | Oui | — | Endpoint OSS. Pour connaître les valeurs d'endpoint par région, consultez la page Régions et endpoints. |
bucket |
String | Oui | — | Nom du bucket OSS. |
access_key_id |
String | Oui | — | ID AccessKey d'un compte disposant des autorisations d'écriture sur le bucket OSS. |
access_key_secret |
String | Oui | — | Clé AccessKey Secret d'un compte disposant des autorisations d'écriture sur le bucket OSS. |
temporary_directory |
String | Oui | — | Répertoire local utilisé pour mettre en cache les données avant leur téléchargement vers OSS. Définissez la valeur sur /ssd/1/<Logstash cluster ID>/logstash/data/<customized>. Le répertoire est supprimé quelques secondes après la fin du transfert. |
prefix |
String | Non | (vide) | Préfixe appliqué aux noms de fichiers. Important
La définition de ce paramètre peut créer de nombreux fichiers temporaires sur votre machine locale. |
recover |
Boolean | Non | true |
Indique si le téléchargement des données locales doit reprendre en cas de sortie inattendue du programme. |
rotation_strategy |
String, l'une des valeurs suivantes : size, time, size_and_time |
Non | size_and_time |
Contrôle le moment où un fichier est fermé et téléchargé vers OSS. Avec size, le fichier subit une rotation lorsque sa taille atteint le seuil défini par size_rotate. Avec time, le fichier subit une rotation lorsque son ancienneté atteint le seuil défini par time_rotate. Avec size_and_time, le fichier subit une rotation dès que l'un des deux seuils est atteint. |
size_rotate |
Number | Non | 31457280 |
Seuil de taille de fichier pour la rotation, en octets. Ce paramètre n'est valide que si rotation_strategy est défini sur size. |
time_rotate |
Number | Non | 15 |
Seuil d'ancienneté de fichier pour la rotation, en minutes. Ce paramètre n'est valide que si rotation_strategy est défini sur time. |
upload_workers_count |
Number | Non | — | Nombre de threads de téléchargement simultanés. |
upload_queue_size |
Number | Non | — | Taille de la file d'attente de téléchargement. |
encoding |
String, l'une des valeurs suivantes : gzip, none |
Non | none |
Encodage appliqué aux fichiers avant le téléchargement. |
additional_oss_settings |
Hash | Non | — | Paramètres supplémentaires du client OSS. Consultez les sous-paramètres ci-dessous. |
Sous-paramètres additional_oss_settings
| Sous-paramètre | Valeur par défaut | Description |
|---|---|---|
server_side_encryption_algorithm |
— | Algorithme de chiffrement côté serveur. Seule la valeur AES-256 est prise en charge. |
secure_connection_enabled |
false |
Indique si la connexion OSS doit utiliser HTTPS. |
max_connections_to_oss |
1024 |
Nombre maximal de connexions simultanées à OSS. |
Fichiers temporaires
Pendant le transfert des données, le plug-in met les données en cache dans un fichier temporaire sur votre machine locale et les télécharge périodiquement vers OSS. Utilisez le paramètre temporary_directory pour spécifier l'emplacement de stockage de ce fichier.
Le chemin d'accès d'un fichier temporaire suit le format suivant :
/ssd/1/<Logstash cluster ID>/logstash/data/eaced620-e972-0136-2a14-02b7449b****/logstash/1/ls.oss.eaced620-e972-0136-2a14-02b7449b****.2018-12-24T14.27.part-0.data
Les segments du chemin d'accès sont décrits ci-dessous :
| Segment du chemin d'accès | Description |
|---|---|
/ssd/1/<Logstash cluster ID>/logstash/data/ |
Répertoire spécifié par temporary_directory. |
eaced620-e972-0136-2a14-02b7449b**** |
Identifiant unique universel (UUID) généré aléatoirement. |
logstash/1 |
Préfixe de l'objet OSS. |
ls.oss |
Fichier temporaire généré par le plug-in logstash-output-oss. |
2018-12-24T14.27 |
Horodatage de création du fichier temporaire. |
part-0 |
Préfixe du fichier temporaire. |
.data |
Extension du fichier. La valeur est .gz si encoding est défini sur gzip ; sinon, la valeur est .data. |
Étapes suivantes
Pour installer ou supprimer des plug-ins, consultez la page Installation et suppression d'un plug-in.
Pour gérer les pipelines à l'aide de fichiers de configuration, consultez la page Gestion des pipelines à l'aide de fichiers de configuration.