En TI existe tal superstición: "Funciona, no lo toques". Esto se puede decir sobre nuestro sistema de monitoreo. En Southbridge usamos Zabbix; cuando lo elegimos, fue muy bueno. Y, de hecho, no tenía alternativas.
Con el tiempo, nuestro ecosistema se cubrió de instrucciones, enlaces adicionales y apareció la integración con Redmine. Zabbix tiene un poderoso competidor que se destacó en muchos aspectos: velocidad, alta disponibilidad, visualización hermosa, optimización del trabajo en entornos de kubernethes.
Pero no tenemos prisa por cruzar. Decidimos echar un vistazo al brillo en Zabbix y preguntar qué chips planean hacer en los próximos lanzamientos. No asistimos a la ceremonia y le hicimos preguntas incómodas a Sergey Sorokin, director de desarrollo de Zabbix, y a Vitaly Zhuravlev, arquitecto de soluciones. Lo que salió de esto, sigue leyendo.

1. Cuéntanos sobre la historia de la empresa. ¿Cómo nació la idea del producto?
La historia de la empresa comenzó en 1997, cuando el fundador y propietario de la empresa, Alexey Vladyshev, trabajó como administrador de la base de datos en uno de los bancos. A Alexey le pareció ineficaz administrar las bases sin tener a mano los datos sobre los valores históricos de varios parámetros, sin comprender el estado actual e histórico del entorno.
Al mismo tiempo, la solución de monitoreo presente en ese momento en el mercado es muy costosa, lenta y requiere grandes recursos. Por lo tanto, Alex comienza a escribir varios scripts que le permiten monitorear efectivamente la parte de la infraestructura que se le ha confiado. Se convierte en un hobby. Alexey está cambiando de trabajo, pero el interés en el proyecto continúa. En 2000-2001, el proyecto se reescribió desde cero, y Alexei estaba pensando en dar a otros administradores la oportunidad de utilizar las mejores prácticas. Al mismo tiempo, surgió la pregunta bajo qué licencia emitir el código existente. Alex decidió lanzarlo bajo la licencia GPLv2. La herramienta se notó de inmediato en un entorno profesional. Con el tiempo, las solicitudes de soporte, capacitación y la expansión de las capacidades del software comenzaron a llegar a Alexey. El número de tales pedidos está en constante crecimiento. Entonces, naturalmente, se tomó la decisión de crear una empresa. La compañía fue fundada el 12 de abril de 2005.

2. ¿Qué puntos clave puedes destacar en la historia de Zabbix?
Hay varios puntos de este tipo en este momento:
a. El comienzo del trabajo de Alexey sobre guiones: 1997.
b. Publicación del Código GPLv2 - 2001.
c. Establecimiento de Zabbix - 2005
La conclusión de los primeros acuerdos de asociación, la creación de un programa de afiliados - 2007.
e. Fundación de Zabbix Japan LLC - 2012.
e. Fundación de Zabbix LLC (EE. UU.) - 2015
g. Fundación de Zabbix LLC - 2018
3. ¿Cuántas personas tienes?
Actualmente, el grupo de empresas Zabbix emplea a poco más de 70 empleados: desarrolladores, evaluadores, gerentes de proyectos, ingenieros de soporte, consultores, vendedores y empleados de marketing.
4. ¿Cómo se escribe la hoja de ruta, se recopilan los comentarios de los usuarios? ¿Cómo se determina a dónde ir después?
Cuando creamos Roadmap para la próxima versión de Zabbix, nos enfocamos en los siguientes factores importantes, más precisamente, recopilamos Roadmap en las siguientes categorías:
a. Mejoras estratégicas a Zabbix. Algo que Zabbix mismo considera muy importante. Por ejemplo, el agente Zabbix escrito en Go.
b. Cosas que los clientes y socios de Zabbix quieren ver en Zabbix. Y por lo que están dispuestos a pagar.
c. Deseos / sugerencias de la comunidad de Zabbix.
d. Deudas técnicas. :) Cosas que lanzamos en versiones anteriores, pero que no proporcionaban una funcionalidad completa, no lo hacían lo suficientemente flexible, no ofrecían todas las opciones.

5. ¿Puedes comparar a Zabbix y prometeo? ¿Qué es mejor y peor en Zabbix?
La principal diferencia, en nuestra opinión, Prometheus es principalmente un sistema para recopilar métricas, y para recopilar un monitoreo completo en la empresa, debe agregar al prometeus muchos otros componentes, como grafano para visualización, un almacenamiento a largo plazo por separado, administrar por separado en algún lugar problemas, trabaje por separado con los registros ...
No habrá plantillas de monitoreo típicas en Prometheus, después de haber recibido todas, todas las miles de métricas de los exportadores, deberá encontrar de forma independiente señales problemáticas en ellas. Configuración de Prometheus: archivos de configuración. En algún lugar es más conveniente, en otro lugar no.
Zabbix es una plataforma universal para crear monitoreo intermitente, tenemos nuestra propia visualización, correlación de problemas y su visualización, distribución de derechos de acceso al sistema, auditoría de acciones, muchas opciones para recopilar datos a través de un agente, proxy, usando protocolos completamente diferentes, la capacidad de rápidamente expandir el sistema con complementos, scripts, módulos ...
Y simplemente puede recopilar datos, tal como están, por ejemplo, utilizando el protocolo HTTP, y luego convertir las respuestas en métricas útiles utilizando funciones de preprocesamiento como JavaScript, JSONPath, XMLPath, CSV y similares. Muchos usuarios aprecian a Zabbix por la capacidad de configurar y administrar el sistema a través de una interfaz web, por la capacidad de describir configuraciones de monitoreo típicas en forma de plantillas que se pueden compartir entre sí y que contienen no solo métricas, sino también reglas de detección, umbrales, gráficos, descripciones. Un conjunto completo de objetos para monitorear objetos estándar.
A muchos también les gusta la capacidad de automatizar la administración y la configuración a través de la API de Zabbix. En general, no quiero organizar un holivar. Nos parece que ambos sistemas se adaptan bien a sus tareas y pueden complementarse armoniosamente entre sí, por ejemplo, Zabbix de la versión 4.2 puede tomar datos de o de los exportadores de Prometheus.
6. ¿Has considerado hacer zabbix saas?
Pensamos y lo haremos en el futuro, pero queremos hacer que esta solución sea lo más conveniente posible para los clientes. En este caso, se debe ofrecer el Zabbix estándar junto con herramientas de comunicación, herramientas avanzadas de recopilación de datos, etc.
7. ¿Cuándo esperar zabbix ha? ¿Y si esperar?
Zabbix HA definitivamente está esperando. Realmente esperamos ver algo en Zabbix 5.0 LTS, pero la situación se aclarará en noviembre de 2019, cuando Roadmap Zabbix 5.0 esté completamente confirmado.
8. ¿Por qué el tipo de medio tiene una opción tan exigua fuera de la caja? ¿No planea agregar Slack, telegrama, etc.? ¿Alguien más usa jabber?
Se eliminó Jabber en la versión Zabbix 4.4, pero se agregó Webhooks. Con respecto a los tipos de medios, no quisiera crear aplicaciones específicas del sistema, sino herramientas de mensajería estándar. No es ningún secreto que muchos de estos chats o servicios de escritorio tienen API a través de HTTP; por lo tanto, este año la situación cambiará con el lanzamiento de 4.4.
Con el advenimiento de los webhooks en Zabbix, puede esperar toda la integración más popular lista para usar en el futuro cercano. En esta integración habrá notificaciones bidireccionales, y no solo simples. Y los tipos de medios a los que no llegaremos serán creados por nuestra comunidad, porque ahora todo el tipo de medios se puede exportar al archivo de configuración, publicado en share.zabbix.com o github. Y otros usuarios solo necesitarán importar el archivo para comenzar a usar dicha integración. ¡Al mismo tiempo, no tiene que instalar ningún script adicional!
9. ¿Por qué no se está desarrollando la dirección del descubrimiento de máquinas virtuales? Solo hay vmware. Muchos están esperando la integración con ec2, openstack.
No, la dirección se está desarrollando. Por ejemplo, en 4.4, el descubrimiento del almacén de datos apareció a través de la clave vm.datastore.discovery. Las teclas wmi.getall muy interesantes también aparecieron en 4.4; esperamos que a través de él, junto con la tecla perf_counter_en, puedas hacer un buen monitoreo de Hyper-V. Bueno, habrá otros cambios importantes en esta dirección en Zabbix 5.0.

10. ¿No pensó en abandonar las plantillas y hacer como prometeus, cuando todo lo que se regala es quitado?
Prometheus toma automáticamente todas las métricas, es conveniente. Una plantilla es más que un conjunto de métricas, es un "contenedor" que contiene toda la configuración de monitoreo de tipo necesaria para un tipo determinado de recurso o servicio. Ya tiene un conjunto de desencadenantes, gráficos, reglas de detección importantes, contiene descripciones de métricas y valores de umbral que ayudan al usuario a comprender qué está sucediendo, qué umbrales se verifican y por qué. Al mismo tiempo, las plantillas son fáciles de compartir con otros usuarios, y obtendrán una buena supervisión de su sistema, ni siquiera siendo expertos en él.
11. ¿Por qué hay tan pocas métricas listas para usar? Esto complica enormemente la configuración en términos de operación.
Si fuera de la caja se refiere a plantillas listas para usar, en este momento estamos trabajando para expandir y mejorar nuestras plantillas. Zabbix 4.4 ha salido con un conjunto nuevo y mejorado y mejores características.
Para Zabbix, siempre puede encontrar share.zabbix.com una plantilla preparada para casi cualquier sistema. Pero decidimos que deberíamos hacer las plantillas básicas nosotros mismos, mostrar un ejemplo a los demás, así como liberar a los usuarios de escribir una vez más una plantilla para algunos MySQL. Por lo tanto, ahora en Zabbix solo habrá más plantillas oficiales con cada versión.

12. Cuándo será posible crear desencadenantes que no estén vinculados a los hosts, sino, por ejemplo, en función de las etiquetas. Por ejemplo, monitoreamos un sitio desde n puntos diferentes, y queremos un disparador simple que se active cuando el sitio no sea accesible desde 2 o más puntos.
De hecho, dicha funcionalidad ha estado en Zabbix durante varios años, escrita para uno de los clientes. El cliente es ICANN. Se pueden hacer verificaciones similares, por ejemplo, a través de elementos agregados o utilizando la API de Zabbix. Ahora estamos trabajando activamente para simplificar la creación de tales controles.
PD : En uno de los Slurms, los desarrolladores de Zabbix nos preguntaron qué queremos ver en el producto para monitorear los grupos de Kubernetes usando Zabbix, y no Prometheus.
Es genial cuando los desarrolladores van a encontrarse con los clientes, en lugar de seguir siendo algo para ellos mismos. Y ahora nos encontramos con cada lanzamiento con sincero interés: la buena noticia es que cada vez más características de las que hablamos adquieren carne y hueso.
Si bien los desarrolladores no se retiran a sí mismos, sino que están interesados en las necesidades de los clientes, el producto vive y se desarrolla. Seguiremos los nuevos lanzamientos de Zabbix.
PPS : En unos meses, lanzaremos un curso de monitoreo en línea. Para quien sea interesante, suscríbase, para no perderse el anuncio. Mientras tanto, puedes pasar por nuestro Kubernetes Slurm .