Installez, mettez à jour ou désinstallez l'agent Simple Log Service (Logtail) sur plusieurs instances Elastic Compute Service (ECS) par lot.
|
Propriété |
Valeur |
|
Nom du modèle |
ACS-ECS-BulkyInstallLogAgent |
|
Type de modèle |
Automatisé |
|
Propriétaire |
Alibaba Cloud |
Prérequis
Avant de commencer, assurez-vous que :
Les instances ECS cibles sont en cours d'exécution et accessibles.
Cloud Assistant est installé et en cours d'exécution sur chaque instance ECS cible (le modèle utilise
ACS::ECS::RunCommandpour exécuter des scripts à distance).Les instances ECS disposent d'un accès réseau interne au point de terminaison régional Object Storage Service (OSS) pour télécharger le programme d'installation de Logtail.
Un rôle Resource Access Management (RAM) dispose des autorisations requises si vous utilisez le paramètre
OOSAssumeRole(consultez la section Autorisations requises).
Fonctionnement
Le modèle exécute les étapes suivantes :
Récupération des instances cibles : sélectionne les instances ECS correspondant au filtre
targetsà l'aide de l'actionACS::SelectTargets. Le modèle détecte le type de système d'exploitation de chaque instance (Linux ou Windows).-
Exécution de commandes spécifiques au système d'exploitation : parcourt chaque instance et exécute le script approprié :
Linux : télécharge
logtail.shdepuis le point de terminaison OSS interne et l'exécute en tant que script shell (RunShellScript).Windows : télécharge
logtail_installer.zipdepuis le point de terminaison OSS interne, l'extrait et exécutelogtail_installer.exeen tant que script PowerShell (RunPowerShellScript).
Retour des résultats : agrège la sortie des commandes de toutes les instances dans le paramètre de sortie
commandOutput.
Modes d'action
Le paramètre action détermine l'opération à effectuer sur chaque instance.
|
Action |
Comportement |
|
|
Installe Logtail. Si Logtail est déjà installé et que |
|
|
Met à jour Logtail vers la dernière version. Sous Linux, exécute |
|
|
Supprime Logtail de l'instance. Sous Linux, exécute |
Détection de l'agent existant
Lorsque action est défini sur install et que overwrite est défini sur false, le modèle vérifie si Logtail est déjà installé en recherchant les chemins suivants :
|
Système d'exploitation |
Chemin vérifié |
|
Linux |
|
|
Windows (64 bits) |
|
|
Windows (32 bits) |
|
Si le chemin existe, le modèle ignore l'instance.
Paramètres d'entrée
|
Paramètre |
Type |
Obligatoire |
Par défaut |
Description |
|
|
Json |
Oui |
-- |
Instances ECS cibles. Utilise la propriété d'association |
|
|
String |
Non |
|
Région où résident les instances ECS. Par défaut, il s'agit de la région de l'exécution OOS actuelle. |
|
|
String |
Non |
|
Opération à effectuer. Valeurs autorisées : |
|
|
Boolean |
Non |
|
Indique s'il faut écraser l'agent Logtail existant sur une instance. L'agent existant n'est pas écrasé par défaut. S'applique uniquement lorsque |
|
|
Json |
Non |
|
Contrôle la concurrence et le seuil d'erreur pour l'opération par lot. |
|
|
String |
Non |
|
Rôle RAM endossé par OOS pour exécuter ce modèle. Laissez vide pour utiliser les autorisations de l'utilisateur actuel. |
Groupes de paramètres
La console OOS organise ces paramètres dans les groupes suivants :
|
Groupe |
Paramètres |
|
Configure Parameters |
|
|
Select Instances |
|
|
Control Options |
|
Paramètres de contrôle de débit
Le paramètre rateControl est un objet JSON contenant les sous-paramètres suivants :
|
Sous-paramètre |
Type |
Description |
|
|
String |
Mode de concurrence. Définissez-le sur |
|
|
Number |
Nombre maximal d'instances traitées simultanément par le modèle. Valeur par défaut : |
|
|
Number |
Nombre maximal d'erreurs autorisées avant que le modèle n'arrête le traitement des instances restantes. Valeur par défaut : |
Valeur par défaut :
{
"Mode": "Concurrency",
"MaxErrors": 0,
"Concurrency": 10
}
Paramètres de sortie
|
Paramètre |
Type |
Description |
|
|
String |
Sortie agrégée des commandes exécutées sur toutes les instances cibles. |
Autorisations requises
Attachez la stratégie suivante au rôle RAM spécifié dans OOSAssumeRole, ou à l'utilisateur ou au rôle RAM qui exécute le modèle.
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:RunCommand"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Cette stratégie accorde les accès suivants :
ecs:DescribeInstances : interroge les détails des instances pour résoudre le filtre
targets.ecs:RunCommand : exécute des scripts shell ou PowerShell sur les instances cibles.
ecs:DescribeInvocations et ecs:DescribeInvocationResults : surveille l'état des commandes et récupère la sortie.
oos:GetApplicationGroup : récupère les informations du groupe d'applications lorsque les cibles sont spécifiées par groupe d'applications.
Comportement multi-OS
Le modèle détecte le système d'exploitation de chaque instance et exécute le script d'installation correspondant.
Linux
Télécharge
logtail.shdepuishttp://logtail-release-{regionId}.oss-{regionId}-internal.aliyuncs.com/linux64/logtail.sh.En cas d'installation réussie, affiche le contenu de
/usr/local/ilogtail/app_info.json.Utilise l'exécution de script shell (
RunShellScript).
Windows
Télécharge
logtail_installer.zipdepuishttp://logtail-release-{regionId}.oss-{regionId}-internal.aliyuncs.com/win/logtail_installer.zip.Extrait les fichiers dans un répertoire temporaire (
C:\Users\Administrator\OOSPackages), exécute le programme d'installation et nettoie les fichiers temporaires.Utilise l'exécution de script PowerShell (
RunPowerShellScript).Sous Windows,
upgradeeffectue une désinstallation complète suivie d'une réinstallation.
Dépannage
|
Problème |
Cause possible |
Solution |
|
|
L'instance ECS ne peut pas atteindre le point de terminaison OSS interne de la région spécifiée. |
Vérifiez que l'instance dispose d'un accès réseau interne à |
|
|
Logtail est déjà installé et |
Définissez |
|
Délai d'attente ou échec de la commande |
Cloud Assistant n'est peut-être pas en cours d'exécution sur l'instance cible, ou l'instance est peut-être arrêtée. |
Vérifiez que l'instance est dans l'état Running et que Cloud Assistant est installé et en cours d'exécution. |
|
Erreurs d'autorisation refusée |
L'utilisateur ou le rôle |
Attachez la stratégie RAM répertoriée dans la section Autorisations requises. |
Source du modèle
Pour consulter le modèle YAML complet, rendez-vous sur ACS-ECS-BulkyInstallLogAgent.yml sur GitHub.