AMI de Zabbix
Nuestra AMI de Zabbix ha sido mejorada con opciones especiales y optimizada para el mejor rendmiento.
Zabbix es una solución empresarial de monitorización distribuida de código abierto, que permite monitorizar todos los parámetros de una red de servidores, máquinas virtuales, aplicación y mucho más.
Nuestra AMI de Zabbix ofrece la mejor solución click & play para empezar a usar Zabbix en AWS, con opciones adicionales que mejoran el producto original, y el mejor soporte.
Las principales características de nuestra AMI de Zabbix son:
Nuestras AMIs ofrecen soporte adicional para poder utilizar toda la potencia de la nube de la forma más rápida y cómoda:
Las siguientes versiones de Zabbix, así como sus características principales, se muestran a continuación:
AMI | Zabbix Version | Zabbix support | Imaxe support | SNS | Autoescalado | Ubuntu | PHP | Mariadb | Link |
---|---|---|---|---|---|---|---|---|---|
Zabbix 4.2 v8.0 | 4.2 | ❌ | ✅ | ✅ | ❌ | 18.04 | 7.0 | 10.5 | Link |
Zabbix 4.4 v1.2 | 4.4 | ❌ | ✅ | ✅ | ❌ | 18.04 | 7.2 | 10.5 | Link |
Zabbix 6.0 v1.1 | 6.0 | ✅ | ✅ | ✅ | ✅ | 20.04 | 7.4 | 10.11 | Link |
Zabbix 6.4 v2.0 | 6.4 | ❌ | ✅ | ✅ | ✅ | 22.04 | 8.1 | 10.11 | Link |
Zabbix dispone de una política de actualizaciónes bastante estricta, que lleva a que cada pocos meses se deje de dar soporte a la versión estable de ese momento, y sea necesario actualizar la versión mayor (con los problemas que eso puede implicar) para poder seguir teniendo soporte.
Por parte de Imaxe entendemos que, en ocasiones, es muy complicado poder mantener ese ciclo de vida tan estricto, por lo que hemos diseñado una política de ciclo de vida para nuestras AMIs que, manteniendo en la medida de lo posible la compatibilidad con el ciclo de vida de Zabbix, ofrezca a nuestros usuarios el mejor soporte existente para Zabbix.
Actualmente, Zabbix ofrece dos versiones distintas de su software:
Para que los nuevos clientes puedan valorar las ventajas que pronto podrán usar en sus versiones LTS, mantendremos siempre una AMI de la última versión Standard operativa, y con todas las características adicionales operativas.
La versión de la AMI irá aumentando a medida que nuevas versiones aparezcan, y además el número de versión de Zabbix cambiará cuando esta también aumente.
Mientras sea posible se mantendrán las AMIs generadas de versiones LTS, y se irán actualizando, tanto a nivel de sistema operativo como de características adicionales, cada 3 meses.
Una vez no sea viable por características técnicas o de seguridad el poder mantener una AMI activa, se deshabilitará, recibiendo todos los usuarios un aviso por parte de AWS, donde se indicará la nueva versión más adecuada para ellos.
Además, se ofrecerá soporte a la migración entre versiones siempre que sea posible.
La instalación sigue el proceso normal de crear una instancia en EC2. El tamaño recomendado es c5.large.
El grupo de seguridad normalmente incluye los siguientes permisos:
Type | Protocol | Range of ports | Source |
---|---|---|---|
(*) SSH | TCP | 22 | 0.0.0.0/0 |
(*) HTTP | HTTP | 80 | 0.0.0.0/0 |
(*) Custom TCP rule TCP | TCP | 10050 – 10052 | 0.0.0.0/0 |
HTTPS | HTTPS | 443 | 0.0.0.0/0 |
Los campos marcados con (*) son esenciales, bien para acceder a la interfaz web o para las operaciones normales del servidor. Aunque aquí usamos 0.0.0.0/0 para permitir el acceso desde cualquier origen como ejemplo, recomendamos bloquear el acceso solo a tus redes o servidor bastion.
Una vez la instancia este funcionando, podemos acceder con:
La primera vez que accedes a Zabbix hay varias tareas que hacer para personalizar tu experiencia y empezar a recibir notificaciones. Para ello, debes pulsar en la opción de menú “User settings” en el menú de la on izquierda, y después en “Profile”.
Antes de recibir notificaciones debes añadir un dirección de correo (u otro método que prefieras) para tu usuario. En la página de perfil puedes ver una pestaña llamada “Media”, en esa pestaña debes pulsar en el enlace “Add” que abre una ventana de configuración. Después no olvides pulsar en el botón “Update” para que los cambios se guarden.
Por defecto, la AMI de Zabbix usa el ID de la instancia como contraseña. Esta es una forma segura de proteger el acceso, pero seguramente prefieras cambiarla por alguna más sencilla de recordar o que cumpla tu política de seguridad.
Desde la página Profile, en la pestaña “User”, puedes cambiar la contraseña del usuario Admin pulsando en el botón “Change password”, poniendo tu nueva contraseña dos veces y pulsando en el botón “Update”.
Desde la página de perfil, en la pestaña “User”, puedes seleccionar qué lenguaje quieres para la interfaz de usuario desde el selector “Language”. Los cambios son efectivos una vez elijas un nuevo idioma, salves pulsando en el botón “Update” y vuelvas a iniciar sesión.
Para manejar el escalado automático desde Zabbix debemos tener en cuenta dos puntos distintos.
1. Añadir una nueva instancia en Zabbix cuando aparece
Esto puede hacerse usando Autoregistro de agentes Zabbix activos versión 6.4 , versión 6.0 , versión 4.0 . De esta forma, cuando una nueva instancia aparece, Zabbix la añade de forma automática como un nuevo equipo.
2. Guardar el id de la instancia en el inventorio de Zabbix
Cuando la instancia desaparece (scale in), vamos a recibir un mensaje con el ID de esa instancia, así que tenemos que tener asociado este id en el inventorio del host en Zabbix para poder buscarlo y borrarlo cuando desaparezca.
3. Recibir los mensajes de escalado de AWS
Cuando AWS produce un evento de escalado envía un mensaje SNS a un tema SNS que nosotros hayamos definido. Conectando ese SNS a una cola SQS podemos leer los mensajes desde Zabbix y eliminar las instancias que sean removidas de los grupos de escalado.
Vea este sencillo diagrama de cómo funciona:
Dos pasos son necesario para configurar tus clientes para manejar autoescalados en Zabbix:
Debemos cambiar (además de cualquier otro cambio que puedas necesitar) seis puntos en el archivo de configuracion local de nuestro agente Zabbix (normalmente situado en /etc/zabbix/zabbix_agentd.conf):
Con esta configuración, lo que hacemos es configurar nuestro cliente zabbix como activo (el cliente manda información al servidor, y no recibe chequeos de el). Además, definimos que Zabbix use el nombre de la máquina como nombre de equipo, así evitamos tener que cambiarlo cada vez que un nuevo servidor arranca, y simplificamos la configuración de escalados. Por último, definimos que Zabbix envíe el valor del comando “uname” para definir la información de este equipo que enviamos al servidor Zabbix. Como las instancias en AWS usan un kernel especial, el valor “aws” aparece en el y podemos usarlo para registrar el servidor.
Por defecto, cuando un nuevo servidor desde un autoescalado aparece en Zabbix, este se enlaza con un template especial llamado AWS EC2 Template, que contiene un elemento llamada instance_id asociado con el elemento “alias” del inventario. Para esto necesitamos añadir en nuestro cliente Zabbix un parámetro de usuario que envíe el valor de este elemento.
Esto podemos hacerlo creando un archivo en /etc/zabbix/zabbix_agentd.d/template_aws_ec2.conf que contenga:
UserParameter=aws.ec2.instance_id,curl -s http://169.254.169.254/latest/meta-data/instance-id
Una vez que ya hemos configurado nuestros clientes, el siguiente paso es configurar el servidor para borrar las instancias eliminadas. Para ello, la forma más rápida y simple consiste de dos pasos:
Necesitamos que las notificaciones enviadas por el servicio de autoescalado se guarden en una cola SQS para garantizar la durabilidad y la escala. Como el escalado automático de AWS envía las notificaciones a un tema SNS, necesitamos:
Como este tipo de configuración es complicada, puedes usar nuestro Stack de CloudFormation para crear todos los elementos en la región que desees. Después de desplegar el stack, en la pestaña Outputs encontrarás cuatro valores que debes anotar:
necesitas esos datos para la configuración. Para ello, edita el archivo /etc/zabbix/zabbix_ami.yml, en el código similar a:
sqs:
delay_seconds: 60
default_region: us-east-1
queues:
- url:
access_key_id:
secret_access_key:
region:
Para cada SQS con notificaciones de escalado, necesitaremos añadir un array de elementos similar al que existe, con los datos indicados por Cloudformation.
Tienes mas información sobre este archivo de configuración en la sección Archivo de configuración de AMI
Esta instalación de Zabbix ya esta preparada para hacer envíos con SNS de AWS. Este tipo de configuración nos permite evitar problemas enviando correos desde AWS y nos ofrece un sistema avanzado y seguro de enviar notificaciones.
Podemos configurar hasta 6 temas SNS distintos (para distinguir dependiendo de la importancia del envío), que son:
Para que Zabbix envíe las notificaciones debemos crear estos temas y un usuario IAM que pueda conectar y enviar mensajes.
Este paso es mas sencillo con nuestro Stack de Cloudformation para crear temas SNS Topic y usuario IAM que ya esta preparado para crearlo todo.
Después de desplegar el stack, encontrarás en la pestaña Outputs los valores que tienes que anotar:
NOTA: Uno o mas de estos valores pueden no aparecer dependiendo de la configuración que hayas creado al desplegar el stack.
Dentro del archivo /etc/zabbix/zabbix_ami.yml encontrarás una sección específica para configurar las opciones SNS. El código relevante se muestra aquí:
sns:
aws:
access_key_id:
secret_access_key:
region:
topics:
not_classified: arn:aws:sns:eu-west-1:000000000000:sample-sns
information: arn:aws:sns:eu-west-1:000000000000:sample-sns
warning: arn:aws:sns:eu-west-1:000000000000:sample-sns
average: arn:aws:sns:eu-west-1:000000000000:sample-sns # Average
high: arn:aws:sns:eu-west-1:000000000000:sample-sns # High
disaster: arn:aws:sns:eu-west-1:000000000000:sample-sns # Disaster
Necesitas configurar los temas SNS deseados (puedes rehusar el mismo tema varias veces si lo prefieres) y los valores de usuario, contraseña y región. ¡Esto es todo!
El último paso es configurar Zabbix para que envíe notificaciones desde SNS. Para esto necesitaremos:
¡Eso es todo!
Como es complicado crear todos los recursos de AWS necesarios, aquí puedes descargar diferentes stacks de AWS Cloudformation para hacer tu trabajo más simple.
Esta plantilla de AWS Cloudformation crea los siguientes elementos:
Puedes descargar esta plantilla o abrirla directamente en CloudFormation .
Esta plantilla de AWS Cloudformation crea los siguientes elementos:
Puedes descargar esta plantilla o abrirla directamente en CloudFormation .
La AMI de Zabbix contiene un número de archivos especiales que debes conocer
este es el archivo mas importante, porque maneja la configuración de los aspectos especiales como los chequeos de escalado o las notificaciones SNS. Un ejemplo de este archivo (con datos falsos):
zabbix:
api:
user: autoscaler_api_user
password: i-073672daf01037aea94
sns:
aws:
access_key_id: AKK4L6A3OXZZ5HE2POQRU7V
secret_access_key: cICycAg26hSDpsJwbhZjbaaYlt4Tz3n1xqE7Oxp6X2Hf
region: us-east-1
topics:
not_classified: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS # Not classified
information: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS # Information
warning: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS # Warning
average: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS # Average
high: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS # High
disaster: arn:aws:sns:us-east-1:000000000:Zabbix-General-SNS # Disaster
sqs:
delay_seconds: 60
default_region: us-east-1
queues:
- url: https://sqs.us-east-1.amazonaws.com/000000000/zabbix-pro-sqs-queue
access_key_id: AKIA3OXZZ5HEWUR5A16CNWH
secret_access_key: 8ttYO3Ba9K6p0C+aj3fH5cDt2eRLHmlkHbMtlrpv18S7KRbC
region: us-east-1
Actualmente, este archivo contiene tres secciones distintas:
Este archivo registra los distintos eventos de autoescalado leídos desde SQS.
Antes de hacer la configuración, verás el mensaje Ops! It looks like the file /etc/zabbix/zabbix_ami.yml hasn’t been configure yet. We better sleep for 5 minutes., es normal y desaparece cuando configures el archivo zabbix_ami.yml.
Como zabbix lanza nuevas versiones cada vez con nuevas características y mejoras, la mejor opción es ir actualizacion nuestra AMI de Zabbix cada cierto tipo. Lamentablemente, las mismas nuevas características y mejoras incluyen cambios en la base de datos e internos que pueden ser problemáticos para actualizar su instalación de Zabbix.
Nuestra AMI de Zabbix es la mejor manera de evitar estos problemas, ya que ofrecemos una manera de actualizar entre versiones mayores, que es más rápida, simple y segura que las habituales.
El proceso de actualización para nuestra AMI es bastante simple, y se resume en los siguientes pasos:
De esta forma, mantenemos al mismo tiempo la versión actual y la nueva, y podemos hacer las pruebas necesarias para garantizar que todo funciona correctamente, para después cambiar las EIP asociadas a esa instancia, o migrar los clientes poco a poco
El primer paso es hacer una imagen de nuestro servidor origen, para evitar cualquier pérdida de datos accidental. Puedes ver el manual de AWS para crear una AMI .
El segundo paso es hacer un volcado de la base de datos del servidor Zabbix origen. Para ello, entramos por SSH en nuestra instancia, y nos colocamos como root con el comando:
sudo /bin/su -
después, volcaremos la base de datos a un archivo con el comando:
mysqldump zabbix > zabbix_origin_database.sql
por último, descargaremos el archivo creado a nuestra máquina, para después subirlo al nuevo servidor.
También debemos anotar la versión actual de Zabbix que estamos usando. Podemos ver la versión en la interfaz web de Zabbix, y debe ser un número similar a 4.0, 4.2, 4.4 o 5.4.
El siguiente paso es crear una nueva instancia de Zabbix, usando para ello la última versión estable de la AMI que puedes encontrar en nuestro perfil de AWS Marketplace . Como mínimo, debes usar la versión 6.0 de nuestra AMI de Zabbix.
Esta nueva instancia va a ser el servidor destino donde moveremos nuestros datos, y que ya viene con la última versión instalada y actualizada.
Una vez la instancia se haya iniciado, debemos copiar el volcado de la base de datos del servidor origen a este nuevo servidor.
Para insertar nuestra base de datos actual, actualizarla a la nueva versión, y añadir las configuraciones necesarias, debemos usar el script situado en /opt/tools/bin/zabbix-ami-upgrade.sh, que hay que ejecutar como usuario ubuntu, y al que debemos indicar la versión original de Zabbix, y el archivo con el volcado de los datos.
Por ejemplo, si estamos migrando desde Zabbix 4.0 y hemos volcado la base de datos actual en zabbix_origin_database.sql, deberíamos ejecutar:
/opt/tools/bin/zabbix-ami-upgrade.sh 4.0 zabbix_origin_database.sql
El proceso nos irá informando de los pasos que lleva a cabo, y una vez finalice podemos seguir trabajando con nuestro nuevo servidor Zabbix.
Una vez que la migración ha terminado, ya podremos acceder a la interfaz web y ver la situación general de nuestro servidor. Es importante tener en cuenta que debemos usar los mismos usuarios y contraseñas que teníamos en el servidor anterior.
Una vez nuestra base de datos es operativa, debemos tener en cuenta otro tipo de configuraciones que hayamos podido instalar en el servidor, como por ejemplo:
También tendremos que mover la EIP que hayamos configurado para esa instancia, de forma que los clientes no necesiten modificarse.
Si no estamos usando EIP, es un buen momento para empezar a hacerlo, ya que deberemos cambiar la IP del nuevo servidor en los clientes.
El uso de esta AMI de Zabbix incluye soporte relacionado con:
En cualquier caso, si tienes cualquier duda, siempre puedes contactar con nosotros e intentaremos ayudarte.
27 de enero de 2024
Publicada la versión 1.0 de nuestra AMI de Zabbix 6.4, con Zabbix instalado y configurado, soporte de autoscaling y notificaciones SNS
27 de septiembre de 2022
Publicada la versión 1.0 de nuestra AMI de Zabbix 6.0, con Zabbix instalado y configurado, soporte de autoscaling y notificaciones SNS
4 de marzo de 2022
Publicada la versión 1.0 de nuestra AMI de Zabbix 5.4, con Zabbix instalado y configurado, soporte de autoscaling y notificaciones SNS
27 de enero de 2024
Publicada la versión 1.0 de nuestra AMI de Zabbix 6.4, con Zabbix instalado y configurado, soporte de autoscaling y notificaciones SNS
27 de septiembre de 2022
Publicada la versión 1.0 de nuestra AMI de Zabbix 6.0, con Zabbix instalado y configurado, soporte de autoscaling y notificaciones SNS
4 de marzo de 2022
Publicada la versión 1.0 de nuestra AMI de Zabbix 5.4, con Zabbix instalado y configurado, soporte de autoscaling y notificaciones SNS
Imaxe.cloud no dispone ni ha dispuesto nunca de ningún tipo de acuerdo con la empresa que mantiene Zabbix, Zabbix LLC.
La información y soporte aquí ofrecidos se hacen de forma no oficial, sobre el producto de software libre Zabbix y las opciones adicionales que sobre el se ofrecen.