Instale, actualice o desinstale el agente de Simple Log Service (Logtail) en varias instancias de Elastic Compute Service (ECS) de forma simultánea.
|
Property |
Value |
|
Nombre de la plantilla |
ACS-ECS-BulkyInstallLogAgent |
|
Tipo de plantilla |
Automated |
|
Propietario |
Alibaba Cloud |
Requisitos previos
Antes de empezar, compruebe que cuenta con lo siguiente:
Instancias ECS de destino que se encuentren en ejecución y accesibles.
Cloud Assistant instalado y en ejecución en cada instancia ECS de destino. La plantilla usa
ACS::ECS::RunCommandpara ejecutar scripts de forma remota.Acceso a la red interna desde las instancias ECS hacia el endpoint regional de Object Storage Service (OSS), necesario para descargar el instalador de Logtail.
Un rol de Resource Access Management (RAM) con los permisos obligatorios, si utiliza el parámetro
OOSAssumeRole. Consulte Permisos obligatorios.
Funcionamiento
La plantilla ejecuta los siguientes pasos:
Obtener las instancias de destino: selecciona las instancias ECS que coinciden con el filtro
targetsmediante la acciónACS::SelectTargets. Además, detecta el tipo de sistema operativo de cada instancia (Linux o Windows).-
Ejecutar comandos específicos del sistema operativo: recorre cada instancia y ejecuta el script correspondiente:
Linux: descarga
logtail.shdesde el endpoint interno de OSS y lo ejecuta como un script de shell (RunShellScript).Windows: descarga
logtail_installer.zipdesde el endpoint interno de OSS, extrae su contenido y ejecutalogtail_installer.execomo un script de PowerShell (RunPowerShellScript).
Devolver resultados: agrupa la salida de los comandos de todas las instancias en el parámetro de salida
commandOutput.
Modos de acción
El parámetro action determina la operación que se aplica en cada instancia.
|
Action |
Behavior |
|
|
Instala Logtail. Si Logtail ya está instalado y |
|
|
Actualiza Logtail a la versión más reciente. En Linux, ejecuta |
|
|
Elimina Logtail de la instancia. En Linux, ejecuta |
Detección de agentes existentes
Cuando action es install y overwrite es false, la plantilla comprueba si Logtail ya está instalado al buscar las siguientes rutas:
|
Operating system |
Path checked |
|
Linux |
|
|
Windows (64 bits) |
|
|
Windows (32 bits) |
|
Si la ruta existe, la plantilla omite la instancia.
Parámetros de entrada
|
Parameter |
Type |
Required |
Default |
Description |
|
|
Json |
Sí |
-- |
Las instancias ECS de destino. Utiliza la propiedad de asociación |
|
|
String |
No |
|
La región donde residen las instancias ECS. De forma predeterminada, toma la región de la ejecución actual de OOS. |
|
|
String |
No |
|
La operación que se va a ejecutar. Valores permitidos: |
|
|
Boolean |
No |
|
Indica si se sobrescribe el agente Logtail existente en una instancia. De forma predeterminada, no se sobrescribe. Solo aplica cuando |
|
|
Json |
No |
|
Controla la concurrencia y el umbral de errores de la operación por lotes. |
|
|
String |
No |
|
El rol de RAM que OOS asume para ejecutar esta plantilla. Déjelo vacío para usar los permisos del usuario actual. |
Grupos de parámetros
La consola de OOS organiza estos parámetros en los siguientes grupos:
|
Group |
Parameters |
|
Configure Parameters |
|
|
Select Instances |
|
|
Control Options |
|
Configuración del control de velocidad
El parámetro rateControl es un objeto JSON con los siguientes subparámetros:
|
Sub-parameter |
Type |
Description |
|
|
String |
El modo de concurrencia. Establézcalo en |
|
|
Number |
El número máximo de instancias que la plantilla procesa al mismo tiempo. Valor predeterminado: |
|
|
Number |
El número máximo de errores permitidos antes de que la plantilla detenga el procesamiento de las instancias restantes. Valor predeterminado: |
Valor predeterminado:
{
"Mode": "Concurrency",
"MaxErrors": 0,
"Concurrency": 10
}
Parámetros de salida
|
Parameter |
Type |
Description |
|
|
String |
La salida agrupada de los comandos ejecutados en todas las instancias de destino. |
Permisos obligatorios
Adjunte la siguiente política al rol de RAM especificado en OOSAssumeRole, o bien al usuario o rol de RAM que ejecuta la plantilla.
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:RunCommand"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Esta política otorga el siguiente acceso:
ecs:DescribeInstances: consulta los detalles de las instancias para resolver el filtro
targets.ecs:RunCommand: ejecuta scripts de shell o PowerShell en las instancias de destino.
ecs:DescribeInvocations y ecs:DescribeInvocationResults: supervisa el estado de los comandos y recupera la salida.
oos:GetApplicationGroup: recupera la información del grupo de aplicaciones cuando los destinos se especifican por grupo de aplicaciones.
Comportamiento entre sistemas operativos
La plantilla detecta el sistema operativo de cada instancia y ejecuta el script de instalación correspondiente.
Linux
Descarga
logtail.shdesdehttp://logtail-release-{regionId}.oss-{regionId}-internal.aliyuncs.com/linux64/logtail.sh.Si la instalación es exitosa, muestra el contenido de
/usr/local/ilogtail/app_info.json.Utiliza la ejecución de scripts de shell (
RunShellScript).
Windows
Descarga
logtail_installer.zipdesdehttp://logtail-release-{regionId}.oss-{regionId}-internal.aliyuncs.com/win/logtail_installer.zip.Extrae los archivos en un directorio temporal (
C:\Users\Administrator\OOSPackages), ejecuta el instalador y elimina los archivos temporales.Utiliza la ejecución de scripts de PowerShell (
RunPowerShellScript).En Windows,
upgraderealiza una desinstalación completa seguida de una reinstalación.
Solución de problemas
|
Issue |
Possible cause |
Solution |
|
|
La instancia ECS no puede comunicarse con el endpoint interno de OSS de la región especificada. |
Compruebe que la instancia tenga acceso por red interna a |
|
|
Logtail ya está instalado y |
Establezca |
|
Tiempo de espera agotado o error en el comando |
Es posible que Cloud Assistant no se esté ejecutando en la instancia de destino, o que la instancia esté detenida. |
Compruebe que la instancia se encuentre en el estado Running y que Cloud Assistant esté instalado y en ejecución. |
|
Errores de permiso denegado |
El usuario o el rol |
Adjunte la política de RAM indicada en Permisos obligatorios. |
Código fuente de la plantilla
Para consultar la plantilla YAML completa, visite ACS-ECS-BulkyInstallLogAgent.yml en GitHub.