Top Banner
Sistema de administración de múltiples servidores usando ssh Gabriel Orozco Ruiz Velazco FSL 2013
20

Sistema de administración de multiples servidores usando ssh

Jul 22, 2015

Download

Technology

Gabriel Orozco
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sistema de administración de multiples servidores usando ssh

Sistema de administración de múltiples servidores usando ssh

Gabriel Orozco Ruiz VelazcoFSL 2013

Page 2: Sistema de administración de multiples servidores usando ssh

Cómo es que pasamos de esto

Page 3: Sistema de administración de multiples servidores usando ssh

A esto

Page 4: Sistema de administración de multiples servidores usando ssh

A esto?

Page 5: Sistema de administración de multiples servidores usando ssh

Supongamos un ambiente

Page 6: Sistema de administración de multiples servidores usando ssh

El nombre de los servers no importa

● DEV

– mxl0295

– mxl0296

– mxl0298

– mxl1122

– mxl1170

● ITG

– fll4020

– fll4021

– fll4026

– fll4027

– fll4028

– fll4029

Page 7: Sistema de administración de multiples servidores usando ssh

El nombre de los servers no importa

● PRO (continua)

– fll4189

– fll4190

– fll4191

– fll4195

– fll4199

– fll4204

– fll4205

● PRO

– fll4023

– fll4024

– fll4025

– fll4026

– fll4186

– fll4187

– fll4188

Page 8: Sistema de administración de multiples servidores usando ssh

Rápido:

Los servidores de aplicación de ITG tienen problemas. Cuales eran?

Page 9: Sistema de administración de multiples servidores usando ssh

El problema crece

Te avisan que cayó un contrato / fuiste agraciado, etc.

Y ahora tienes que soportar adicionalmente otraotra aplicación igual o más compleja que la actual

Page 10: Sistema de administración de multiples servidores usando ssh

Lista de servidores y tags

● ~/serverlist.txt

fll4023 apli1 web arm1 lbfll4024 apli1 web arm1 lbfll4025 apli1 web arm2 lbfll4026 apli1 web arm2 lb

fll4186 apli1 app arm1 wlfll4187 apli1 app arm1 wlfll4188 apli1 app arm1 jbossfll4189 apli1 nfs arm1fll4190 apli1 db arm1 oracle

fll4186 apli1 app arm2 wlfll4187 apli1 app arm2 wlfll4188 apli1 app arm2 jbossfll4189 apli1 nfs arm2 wlfll4190 apli1 db arm2 oraclefll4191 apli1 webfll4195 apli2 web arm1 tomcatfll4199 apli2 web arm2 tomcatfll4204 apli2 job tomcatfll4205 apli2 web jboss

Cuidado con los tags, que no se repitan o será un problema

Page 11: Sistema de administración de multiples servidores usando ssh

Ahora podemos buscar

● Encuentra los app servers:

grep app server2-list.txt

● Encuentra app servers, brazo2, que usan weblogic

grep app server2-list.txt | grep arm2 | grep wl

Page 12: Sistema de administración de multiples servidores usando ssh

Que tal un comando para hacerlo fácil?

#/bin/bash# buscar las etiquetas y mostrar los serverstmp1=/tmp/servers-list.tmp.1tmp2=/tmp/servers-list.tmp.2cp ~/servers-list.txt $tmp1for filtro in $@;do grep “$filtro” $tmp1 > $tmp2 mv $tmp2 $tmp1donecut -d\ -f1 $tmp1

# echo $(cut -d\ -f1 $tmp1) mejor así!rm -f $tmp1

Page 13: Sistema de administración de multiples servidores usando ssh

Ya encuentro las cosas.Y ahora que hago?

Page 14: Sistema de administración de multiples servidores usando ssh

SSH

● Puedes ejecutar algo en el servidor remoto con solo añadirlo al final de la linea de ssh

ssh usuario@servidor “comando”

La salida de ese comando se manda a tu pantalla local.

● Para automatizar, hay que evitar que te pida password al conectarte (usando llaves)

● Si hay usuarios/cosas diferentes por server, puedes usar ~/.ssh/config

Page 15: Sistema de administración de multiples servidores usando ssh

Ir a ejecutar a todos los servers

● Obtiene mi id en todos los servers

for server in $(busca.sh app arm1 wl);do ssh $server “id”;done

● Obtiene el uptime en TODA la plataforma

● Cual server le falta RAM?

● Cual server está más cargado?

● Cual modelo de cpu tiene cada server?

Page 16: Sistema de administración de multiples servidores usando ssh

Ok y qué más puedo hacer?

● Otro comandito que le digas el comando y no tengas que teclear el “for server in....do.... done

● Otro comandito que haga un scp a todos los servers, del mismo archivo

● Todos usando el busca.sh como base. Esto quiere decir que si añades un nuevo servidor, o cambias la función de algún server, ya los demás comandos lo saben.

Page 17: Sistema de administración de multiples servidores usando ssh

Problemas de esta solución

● Uso de listas “especiales” de servidores, hay que añadirlo al script. (aunque esto es sencillo)

● En algunos servers tu usuario es diferente, y hacer un sólo script se vuelve dificil

● Algunos servers tienen el ssh en puertos diferentes

● Al usar ssh para ejecutar comandos, las variables que se cargan en una sesión normal, no se cargan (ssh “comando” no hace un “login” y no se carga el .bash_profile)

Page 18: Sistema de administración de multiples servidores usando ssh

Bienvenido al ~/.ssh/config

● Puedes definir un server como desees:

host myapp-pro-web HostName fll4023.florida.fsl.com Port 2222 User sistemas LocalForward 3129 127.0.0.1:3128 Compression no ForwardX11 yes ServerAliveInterval 30 ServerAliveCountMax 120

Page 19: Sistema de administración de multiples servidores usando ssh

Preguntas? Dudas?

Page 20: Sistema de administración de multiples servidores usando ssh