meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
seguridad:monitorizacion:zabbix2:ipmiscripts [2014/05/27 09:58] – lc | seguridad:monitorizacion:zabbix2:ipmiscripts [2023/01/18 14:46] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ===== Ejecutar comandos remotos desde Zabbix mediante IPMI ===== | + | ===== Ejecutar comandos remotos desde Zabbix |
+ | http:// | ||
+ | |||
+ | ===== Ejecutar comandos remotos | ||
Desde zabbix podemos crear scripts que ejecuten comandos en equipos remotos mediante IPMI, por ejemplo podemos apagar o encender un equipo en caso de ocurrir un evento sin que nadie deba estar físicamente para hacerlo. | Desde zabbix podemos crear scripts que ejecuten comandos en equipos remotos mediante IPMI, por ejemplo podemos apagar o encender un equipo en caso de ocurrir un evento sin que nadie deba estar físicamente para hacerlo. | ||
Línea 16: | Línea 19: | ||
* El parámetro ”-U root “ indica el usuario con el que vamos a acceder. | * El parámetro ”-U root “ indica el usuario con el que vamos a acceder. | ||
* Así mismo debemos ingresar la contraseña con ”-P {PASSWD}“ | * Así mismo debemos ingresar la contraseña con ”-P {PASSWD}“ | ||
- | * Script comandos remotos zabbix | + | * Comando a ejecutar |
+ | * Power soft: apagado seguro. | ||
+ | * Power off: apagado forzado. | ||
+ | * Power on: encendido. | ||
+ | * Chassis status: muestra información sobre el estado del servidor. | ||
+ | * Por último nos encontramos con “ 2>& | ||
+ | * Require host permissions: | ||
+ | * Enable confirmation: | ||
+ | |||
+ | <note tip>este comando deberíamos crearlo en una macro en ” Administración > general > macros” . Cuando queramos usar algún script le daremos el valor de la contraseña y cuando acabemos la quitamos, así evitaremos que aparezca explícitamente en el script.</ | ||
+ | |||
- | Desde zabbix podemos crear scripts que ejecuten comandos que manden instrucciones en equipos remotos. En este caso queremos poder apagar o encender un equipo sin que nadie deba estar físicamente para hacerlo. | + | Podemos utilizar |
- | + | <note tip> | |
- | Para ello necesitamos que el equipo en cuestión tenga una controladora BMC ( Baseboard management controller ) en el caso de DELL. Ésta forma parte de la arquitectura IPMI ( Intelligent Platform Management Interface ) y está conectada directamente a la placa base del servidor permitiendo ver su estado así como controlarlo. | + | Si tenemos varios “hosts” y tienen diferentes contraseñas podemos, en lugar de definir variables globales ( Administración > genera > script), definir una macro en una template para un grupo de hosts que la compartan o incluso en el propio host se puede definir una para sí mismo.</ |
- | + | ||
- | Para comenzar debemos configurar la controladora BMC de nuestro servidor: | + | |
- | + | ||
- | Cuando se esté inicializando la controladora BMC presionar “Ctrl + E”. | + | |
- | Activar IPMI sobre LAN. | + | |
- | Seleccionar “dedicated” en el NIC (es la entrada de “red” del dispositivo que puede ser utilizado como puerto normal o como puerto para el BMC ). | + | |
- | Establecer una ip estática. | + | |
- | Crear usuario y contraseña para el BMC. | + | |
- | + | ||
- | Una vez hecho esto podemos comenzar con los preparativos de zabbix. Suponiendo que ya tengamos instalado un host configurado con IPMI y que “ipmitools” está instalado en nuestro servidor de zabbix, podemos crear los scripts que darán instrucciones al servidor. | + | |
- | + | ||
- | Vamos a “Administración > scripts > créate script”. | + | |
- | + | ||
- | Name: nombre del script. | + | |
- | Type: el tipo de script, si es normal será “script” de lo contrario será “IPMI” (en nuestro caso elegiremos “script” ). | + | |
- | Execute on: podemos elegir entre “zabbix agent” (el comando se ejecuta mediante el agente zabbix en la maquina remota) o “zabbix server” ( el comando se ejecuta desde el propio servidor zabbix). En nuestro caso seleccionaremos “zabbix server”. | + | |
- | Commands: el comando que queremos ejecutar: | + | |
- | + | ||
- | ipmitool -I lan -H {HOST.CONN} -U root -P {$PASSWD} [power soft | power off | power on | chassis status] 2>& | + | |
- | + | ||
- | Ipmitool es un comando con el cual podemos controlar la placa BMC. Usar el parámetro “-I lan” significa que nos conectaremos a través de LAN con la controladora BMC. | + | |
- | Con “-H {HOST.CONN}“ indicamos la ip de la BMC, {HOST.CONN} es una macro de zabbix que es sustituida por la ip del servidor que cliquemos. | + | |
- | El parámetro ”-U root “ indica el usuario con el que vamos a acceder. | + | |
- | Así mismo debemos ingresar la contraseña con ”-P {PASSWD}“, | + | |
- | Los valores que usaremos son: | + | |
- | Power soft: apagado seguro. | + | |
- | Power off: apagado forzado. | + | |
- | Power on: encendido. | + | |
- | Chassis status: muestra información sobre el estado del servidor. | + | |
- | Por último nos encontramos con “ 2>& | + | |
- | Require host permissions: | + | |
- | Enable confirmation: | + | |
- | + | ||
- | Para poder utilizar estos comandos | + | |
- | + | ||
- | Si tenemos varios “hosts” y tienen diferentes contraseñas podemos, en lugar de definir variables globales ( Administración > genera > script), definir una macro en una template para un grupo de hosts que la compartan o incluso en el propio host se puede definir una para sí mismo. | + | |
- | + | ||
- | Una vez hayamos terminado de usar los comandos es recomendable dejar el valor de la macro en blanco para que no aparezca en la base de datos de mysql. Además pondremos contraseñas a los usuarios root (root@localhost, | + | |
- | <note tip>este comando deberíamos crearlo en una macro en ” Administración > general > macros” . Cuando queramos usar algún script le daremos el valor de la contraseña y cuando acabemos la quitamos, así evitaremos que aparezca explícitamente en el script.</ | + | |
- | Los valores | + | Una vez hayamos terminado de usar los comandos es recomendable dejar el valor de la macro en blanco para que no aparezca en la base de datos de mysql. |
- | Power soft: apagado seguro. | + | <note warning> |
- | Power off: apagado forzado. | + | Además deberíamos verificar las contraseñas de los usuarios root (root@localhost, |
- | Power on: encendido. | + | |
- | Chassis status: muestra información sobre el estado del servidor. | + | |
- | Por último nos encontramos con “ 2>&1” que se usa para mostrar el resultado del comando. | + | |
- | Require host permissions: | + | |
- | Enable confirmation: | + | |
- | Para poder utilizar estos comandos debemos ir a “Monitoring > Latest data” o en el caso en el que se dispare algún trigger del equipo podemos ejecutar los comandos desde su nombre | + | Así mismo, modificaremos |
- | Si tenemos varios “hosts” y tienen diferentes contraseñas podemos, en lugar de definir variables globales ( Administración > genera > script), definir una macro en una template para un grupo de hosts que la compartan o incluso en el propio host se puede definir una para sí mismo. | ||
- | Una vez hayamos terminado de usar los comandos es recomendable dejar el valor de la macro en blanco para que no aparezca en la base de datos de mysql. Además pondremos contraseñas a los usuarios root (root@localhost, |