Crée un shipper.
Débogage
En-têtes de requête
Cette opération utilise uniquement les en-têtes de requête communs. Pour plus d'informations, consultez la section En-têtes de requête communs.
Syntaxe de la requête
POST /openapi/collectors HTTP/1.1
Paramètres de requête
|
Paramètre |
Type |
Emplacement |
Obligatoire |
Exemple |
Description |
|
clientToken |
String |
Query |
Non |
5A2CFF0E-5718-45B5-9D4D-70B3FF**** |
Jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer la valeur, mais vous devez vous assurer que celle-ci est unique parmi différentes requêtes. Le jeton ne peut contenir que des caractères ASCII et sa longueur ne doit pas dépasser 64 caractères. |
|
Object |
Body |
Non |
Corps de la requête. Spécifie la configuration du collecteur à créer. |
||
|
dryRun |
Boolean |
Body |
Oui |
true |
Indique s'il faut vérifier et créer un crawler. Ce paramètre est utilisé uniquement lors de la création ou de la mise à jour d'un crawler. Valeurs valides :
|
|
name |
String |
Body |
Oui |
ct-test |
Nom du collecteur. La longueur doit être comprise entre 1 et 30 caractères, commencer par une lettre et peut contenir des lettres, des chiffres, des traits de soulignement (_) et des tirets (-). |
|
resType |
String |
Body |
Oui |
fileBeat |
Type du collecteur. Valeurs valides : fileBeat, metricBeat, heartBeat et auditBeat. |
|
vpcId |
String |
Body |
Oui |
vpc-bp12nu14urf0upaf* |
ID du réseau privé virtuel (VPC) auquel appartient le collecteur. |
|
resVersion |
String |
Body |
Oui |
6.8.5_with_community |
Version du collecteur. Valeurs valides :
|
|
collectorPaths |
Array of String |
Body |
Non |
["/var/log"] |
Chemin de collecte pour Filebeat. Requis uniquement lorsque le collecteur est déployé sur des instances ECS. |
|
configs |
Array |
Body |
Oui |
Fichiers de configuration du collecteur. |
|
|
fileName |
String |
Body |
Oui |
filebeat.yml |
Nom du fichier. |
|
content |
String |
Body |
Oui |
"filebeat.inputs:xxx" |
Contenu du fichier. |
|
extendConfigs |
Array of Object |
Body |
Oui |
{ "instanceId": "es-cn-nif201ihd0012**", "instanceType": "elasticsearch", "configType": "collectorTargetInstance", "hosts": [ "es-cn-nif201ihd0012.elasticsearch.aliyuncs.com:9200" ], "userName": "elastic", "password": "*", "protocol": "HTTP" }, { "type": "ECSInstanceId", "configType": "collectorDeployMachine", "machines": [ { "instanceId": "i-bp11u91xgubypcuz**" } ] } ] |
Configuration étendue du collecteur. Pour plus d'informations, consultez la description du paramètre extendConfigs ci-dessous. |
Description du paramètre extendConfigs
Le tableau suivant décrit les paramètres extendConfigs.
|
Paramètre |
Type |
Obligatoire |
Exemple |
Description |
|
extendConfigs |
Array |
Configuration étendue du collecteur. |
||
|
└configType |
String |
Oui |
collectorElasticsearchForKibana |
Type de configuration. Valeurs valides : collectorTargetInstance (sortie du collecteur), collectorDeployMachine (machine de déploiement du collecteur) et collectorElasticsearchForKibana (instance Elasticsearch prenant en charge Kibana Dashboard). |
|
└type |
String |
Non |
ECSInstanceId |
Type de la machine de déploiement. Valeurs valides : ECSInstanceId (ECS) et ACKCluster (Container Kubernetes). Requis lorsque configType est défini sur collectorDeployMachine. |
|
└instanceType |
String |
Non |
elasticsearch |
Type d'instance de sortie. Valeurs valides : Elasticsearch et logstash. Requis lorsque configType est défini sur collectorTargetInstance. |
|
└instanceId |
String |
Oui |
es-cn-nif201ihd0012**** |
ID de l'instance. Si configType est défini sur collectorTargetInstance, il s'agit de l'ID de l'instance de sortie. Si configType est défini sur collectorDeployMachines et type est défini sur ACKCluster, il s'agit de l'ID du cluster ACK. |
|
└machines |
Array |
Non |
Instances ECS sur lesquelles le collecteur est déployé. Requis lorsque configType est collectorDeployMachines et type est ECSInstanceId. |
|
|
└└instanceId |
String |
Oui |
i-bp11u91xgubypcuz**** |
ID de l'instance ECS. |
|
└groupId |
String |
default_ct-cn-5i2l75bz4776**** |
ID du groupe d'hôtes. Requis lorsque configType est défini sur collectorDeployMachine. |
|
|
└protocol |
String |
Non |
HTTP |
Protocole de transmission. Doit correspondre au protocole d'accès de l'instance de sortie. Valeurs valides : HTTP et HTTPS. Requis lorsque configType est défini sur collectorTargetInstance. |
|
└userName |
String |
Non |
elastic |
Nom d'utilisateur utilisé pour accéder à l'instance. Valeur par défaut : elastic. Requis lorsque configType est défini sur collectorTargetInstance ou collectorElasticsearchForKibana. |
|
└password |
String |
Non |
* |
Mot de passe associé au nom d'utilisateur. |
|
└enableMonitoring |
Boolean |
Non |
true |
Indique s'il faut activer la surveillance. Requis lorsque configType est collectorTargetInstance et instanceType est Elasticsearch. Valeurs valides : true (activé) et false (désactivé). |
|
└hosts |
List<String> |
Non |
["es-cn-nif201i*.elasticsearch.aliyuncs.com:9200"] |
Adresses d'accès de l'instance de sortie. Requis lorsque configType est défini sur collectorTargetInstance. |
|
└host |
String |
Non |
es-cn-nif201ihd0012****-kibana.internal.elasticsearch.aliyuncs.com:5601 |
Endpoint Kibana privé. Requis lorsque configType est défini sur collectorElasticsearchForKibana. |
|
└kibanaHost |
String |
Non |
https://es-cn-nif201ihd0012****.kibana.elasticsearch.aliyuncs.com:5601 |
Endpoint Kibana public. Requis lorsque configType est défini sur collectorElasticsearchForKibana. |
└ indique un paramètre enfant.
Le paramètre extendConfigs prend en charge trois valeurs configType : collectorTargetInstance, collectorElasticsearchForKibana et collectorDeployMachine. Les paramètres requis varient selon le type de machine de déploiement :
-
collectorTargetInstance
-
ECS
configType, instanceId, instanceType, hosts, userName, password, protocol, enableMonitoring
-
ACK
configType, instanceId, instanceType, userName, password, protocol, enableMonitoring
-
-
collectorElasticsearchForKibana
-
ECS
configType, instanceId, host, kibanaHost, userName, password et protocol
-
ACK
configType
-
-
collectorDeployMachine
-
ECS
configType, type, machines et groupId
-
ACK
configType, type et instanceId
-
Paramètres de réponse
|
Élément |
Type |
Exemple |
Description |
|
RequestId |
String |
8466BDFB-C513-4B8D-B4E3-5AB256AB**** |
ID de la requête. |
|
Result |
Object |
Résultat renvoyé. |
|
|
resId |
String |
ct-cn-4135is2tj194p**** |
ID du collecteur. |
Exemples
Exemples de requêtes
POST /openapi/collectors?clientToken=5A2CFF0E-5718-45B5-9D4D-70B3FF**** HTTP/1.1
Host:elasticsearch.aliyuncs.com
Content-Type:application/json
{
"dryRun": false,
"name": "test_beats_1",
"resType": "fileBeat",
"resVersion": "6.8.5_with_community",
"vpcId": "vpc-bp12nu14urf0upaf*****",
"collectorPaths": [
"/var/log"
],
"extendConfigs": [
{
"instanceId": "es-cn-nif201ihd0012****",
"instanceType": "elasticsearch",
"configType": "collectorTargetInstance",
"hosts": [
"es-cn-nif201ihd0012****.elasticsearch.aliyuncs.com:9200"
],
"userName": "elastic",
"password": "*****",
"protocol": "HTTP"
},
{
"type": "ECSInstanceId",
"configType": "collectorDeployMachine",
"machines": [
{
"instanceId": "i-bp11u91xgubypcuz****"
}
]
}
],
"configs": [
{
"fileName": "filebeat.yml",
"content": "filebeat.inputs:xxx"
},
{
"fileName": "fields.yml",
"content": "- key: log\n title: Log file content\n description: >\n Contains log file lines.\n ...."
}
]
}
Exemples de réponses réussies
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Result" : {
"resId" : "ct-cn-4135is2tj194p****"
},
"RequestId" : "8466BDFB-C513-4B8D-B4E3-5AB256AB****"
}
Code d'erreur
Pour obtenir la liste des codes d'erreur, consultez la page Codes d'erreur de service.