Recopile datos de 100 servidores AWS

Recopile datos de 100 servidores AWS

Tengo 100 servidores ejecutándose en AWS. Necesito obtener fácilmente la cantidad de datos que utiliza cada usuario en los sistemas remotos y enviarlos a un archivo de texto. ¿Cuál es la mejor manera de lograr esto?

Respuesta1

Puede utilizar un shell paralelo comoconcha de racimoopdsh.

De esta manera, suponiendo que ya haya configurado una autenticación SSH sin contraseña desde una máquina central, puede ejecutar un comando en cada uno de los 100 servidores al mismo tiempo. También puedes ir más allá y hacer varios grupos para poder organizarlos de forma lógica.

Supongamos que sus máquinas se llaman aws0, aws1, aws2, ... aws99.

Con clustershell, puedes ejecutar un comando (tiempo de actividad en este ejemplo) en todos ellos de esta manera:

# clush -w aws[0-100] uptime
aws0: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
aws1: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
aws2: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
[...]
aws99: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00

Puede ejecutar el comando en un subconjunto de ellos de esta manera

clush -w aws[22-55,73-82,90,99] uptime
aws22: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
aws23: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
[...]
aws55: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
aws73: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
[...]
aws82: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
aws90: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00
aws99: 21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00

Luego, si desea agrupar los resultados que son idénticos, puede usar la opción -b de cluster o pipe to dshbak -c con pdsh

# clush -bw aws[0-99] uptime
---------------
aws[0-99] (100)
---------------
21:49:12 up  5:46,  1 user,  load average: 0.07, 0.02, 0.00

información relacionada