En TI existe una superstición: "Si funciona, no lo toques". Esto también se puede aplicar a nuestro sistema de monitoreo. En Southbridge utilizamos Zabbix; cuando lo elegimos, era realmente impresionante. Y, en esencia, no tenía alternativas.
Con el tiempo, nuestro ecosistema ha crecido con instrucciones, envoltorios adicionales y se ha integrado con Redmine. Zabbix se encontró con un potente competidor que lo superaba en muchos aspectos: velocidad de funcionamiento, alta disponibilidad prácticamente de inmediato, visualización atractiva y optimización para trabajar en entornos de Kubernetes.
Pero no tenemos prisa por cambiar. Decidimos echar un vistazo a Zabbix y preguntar sobre las características que planean introducir en los próximos lanzamientos. No nos cortamos y hicimos preguntas difíciles a Sergey Sorokin, director de desarrollo de Zabbix, y Vitaly Zhuravlev, arquitecto de soluciones. Lo que resultó de esto, lo leerás a continuación.

1. Cuéntanos 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 Vladychev, trabajaba como administrador de bases de datos en uno de los bancos. A Alexey le parecía ineficiente gestionar bases de datos sin tener datos sobre los valores históricos de diversos parámetros, sin entender el estado actual y pasado del entorno que lo rodeaba.
Al mismo tiempo, las soluciones de monitoreo disponibles en ese momento en el mercado eran muy costosas, torpes y requerían enormes recursos. Por eso, Alexey comenzó a escribir diversos scripts que le permitieran monitorear de manera efectiva la parte de la infraestructura que se le había asignado. Esto se convirtió en un pasatiempo. Alexey cambió de trabajo, pero su interés en el proyecto permaneció. En 2000-2001, el proyecto se reescribió desde cero y Alexey comenzó a pensar en ofrecer a otros administradores la posibilidad de utilizar sus desarrollos. En este punto, surgió la pregunta de bajo qué licencia publicar el código existente. Alexey decidió liberarlo bajo la licencia GPLv2. La herramienta fue rápidamente reconocida en el ámbito profesional. Con el tiempo, comenzaron a llegar a Alexey solicitudes de soporte, capacitación y ampliación de las capacidades del software. La cantidad de estos pedidos seguía creciendo. Así, de manera natural, llegó la decisión de crear una empresa. La compañía fue fundada el 12 de abril de 2005.

2. ¿Cuáles son los puntos clave que puedes destacar en la historia del desarrollo de Zabbix?
En este momento, hay varios puntos importantes:
a. El inicio del trabajo de Alexey en los scripts — 1997.
b. Publicación del código bajo la licencia GPLv2 — 2001.
c. Fundación de la empresa Zabbix — 2005.
d. Firma de los primeros contratos de asociación, creación del programa de socios — 2007.
e. Fundación de Zabbix Japan LLC — 2012.
f. Fundación de Zabbix LLC (EE. UU.) — 2015.
g. Fundación de LLC Zabbix — 2018.
3. ¿Cuántas personas trabajan para ustedes?
En este momento, en el grupo de empresas Zabbix trabajan un poco más de 70 personas: desarrolladores, probadores, gerentes de proyectos, ingenieros de soporte, consultores, vendedores y personal de marketing.
4. ¿Cómo escriben el roadmap, recopilan retroalimentación de los usuarios? ¿Cómo determinan hacia dónde avanzar?
Al crear el Roadmap para la próxima versión de Zabbix, nos basamos en los siguientes factores importantes, más precisamente, recopilamos el roadmap en las siguientes categorías:
a. Mejoras estratégicas de Zabbix. Algo que Zabbix considera muy importante. Por ejemplo, el agente de Zabbix escrito en Go.
b. Cosas que los clientes y socios de Zabbix quieren ver en Zabbix. Y por las que están dispuestos a pagar.
c. Deseos/sugerencias de la comunidad Zabbix.
d. Deudas técnicas. 🙂 Cosas que lanzamos en versiones anteriores, pero que no ofrecieron funcionalidad completa, no fueron lo suficientemente flexibles o no ofrecieron todas las opciones.

5. ¿Puedes comparar Zabbix y Prometheus? ¿Qué es mejor en Zabbix y qué es peor?
La principal diferencia, en nuestra opinión, es que Prometheus es un sistema principalmente para la recopilación de métricas — y para lograr un monitoreo integral en una empresa, es necesario añadir muchos otros componentes al Prometheus, como Grafana para visualización, un almacenamiento a largo plazo por separado, gestionar problemas en otro lugar, trabajar con registros por separado...
No habrá plantillas de monitoreo estándar en Prometheus, y al recibir todas las miles de métricas de los exportadores, será necesario encontrar por uno mismo los señales problemáticas. La configuración de Prometheus implica archivos de configuración. En algunos casos esto es más cómodo, en otros no.
Zabbix es una plataforma universal para crear monitoreos "de principio a fin", tenemos nuestra propia visualización, correlación de problemas y su representación, distribución de derechos de acceso al sistema, auditoría de acciones, múltiples opciones de recopilación de datos a través de agentes, proxies, mediante diversos protocolos, la posibilidad de expandir rápidamente el sistema con complementos, scripts, módulos...
También se pueden recopilar datos tal como están, por ejemplo, a través del protocolo HTTP, y luego transformar las respuestas en métricas útiles mediante funciones de preprocesamiento como JavaScript, JSONPath, XMLPath, CSV y similares. Muchos usuarios aprecian Zabbix por la posibilidad de configurar y administrar el sistema a través de una interfaz web, por la posibilidad de describir configuraciones estándar de monitoreo 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 posibilidad de automatizar la gestión y configuración a través de la API de Zabbix. En general, no queremos generar polémica. Nos parece que ambos sistemas se adaptan bien a sus tareas y pueden complementarse armoniosamente, por ejemplo, Zabbix desde la versión 4.2 puede obtener datos de exportadores de Prometheus o de sí mismo.
6. ¿Han pensado en hacer Zabbix SaaS?
Lo hemos considerado y lo haremos en el futuro, pero queremos que esta solución sea lo más conveniente posible para los clientes. En este caso, Zabbix estándar debe ofrecerse junto con herramientas de comunicación, herramientas ampliadas para la recopilación de datos, etc.
7. ¿Cuándo esperar Zabbix HA? ¿Y hay que esperar?
Definitivamente hay que esperar Zabbix HA. Esperamos ver algo en Zabbix 5.0 LTS, pero la situación se aclarará en noviembre de 2019, cuando se confirme completamente la hoja de ruta de Zabbix 5.0.
8. ¿Por qué el tipo de medio tiene una selección tan escasa de forma predeterminada? ¿No piensan en agregar Slack, Telegram, etc.? ¿Aún hay alguien que use Jabber?
Jabber fue eliminado en la versión Zabbix 4.4, pero se añadieron Webhooks. En cuanto a los tipos de medios, no me gustaría hacer aplicaciones específicas del sistema, sino herramientas estándar de mensajería. No es un secreto que muchos de estos chats o servicios de escritorio tienen API a través de HTTP; por lo tanto, este año, con el lanzamiento de 4.4, la situación cambiará.
Con la llegada de los webhooks en Zabbix, se pueden esperar todas las integraciones más solicitadas de fábrica en un futuro cercano. Además, estas integraciones serán bidireccionales, no solo simples notificaciones en una dirección. Y aquellos tipos de medios a los que no podamos acceder serán realizados por nuestra comunidad, ya que ahora el tipo de medio se puede exportar completamente a un archivo de configuración, subir a share.zabbix.com o github. Y otros usuarios solo tendrán que importar el archivo para comenzar a utilizar dicha integración. ¡Y no será necesario instalar scripts adicionales!
9. ¿Por qué no se está desarrollando la dirección de descubrimiento de máquinas virtuales? Solo hay soporte para vmware. Muchos están esperando la integración con ec2, openstack.
No, la dirección está en desarrollo. Por ejemplo, en la versión 4.4 se introdujo el descubrimiento del datastore mediante la clave vm.datastore.discovery. En 4.4 también se añadieron claves muy interesantes como wmi.getall; esperamos que a través de esta, junto con la clave perf_counter_en, se pueda realizar un buen monitoreo de Hyper-V. Y habrá otros cambios importantes en esta dirección en Zabbix 5.0.

10. ¿No han pensado en deshacerse de las plantillas y hacer algo como en Prometheus, donde se recolecta todo lo que se entrega?
Prometheus recolecta automáticamente todas las métricas, lo cual es conveniente. Pero una plantilla es más que solo un conjunto de métricas; es un "contenedor" que contiene toda la configuración de monitoreo típica necesaria para este tipo de recurso o servicio. Ya incluye un conjunto de desencadenadores importantes, gráficos, reglas de descubrimiento y descripciones de métricas y valores límite, que ayudan al usuario a comprender qué se está recolectando y cuáles límites se están verificando y por qué. Además, las plantillas son fáciles de compartir con otros usuarios, quienes recibirán un buen monitoreo de su sistema, incluso sin ser necesariamente expertos en él.
11. ¿Por qué hay tan pocas métricas de fábrica? Esto complica mucho la configuración desde el punto de vista operativo.
Si te refieres a las plantillas listas para usar, en este momento estamos trabajando en la expansión y mejora de nuestras plantillas. Zabbix 4.4 salió con un nuevo conjunto mejorado y con mejores capacidades.
Para Zabbix, siempre se puede encontrar un шаблон готовo en share.zabbix.com para prácticamente cualquier sistema. Pero hemos decidido que debemos crear plantillas básicas nosotros mismos, mostrando un ejemplo a los demás y liberando a los usuarios de tener que escribir otra vez una plantilla para algún MySQL. Por lo tanto, ahora en Zabbix habrá cada vez más plantillas oficiales con cada versión.

12. ¿Cuándo será posible construir disparadores no vinculados a hosts, sino, por ejemplo, en base a etiquetas? Por ejemplo, tenemos un sitio monitoreado desde n diferentes ubicaciones y queremos un disparador simple que se active cuando el sitio no esté disponible desde 2 o más puntos.
En realidad, esta funcionalidad ya existe en Zabbix desde hace varios años, creada para uno de nuestros clientes. El cliente es ICANN. También se pueden hacer verificaciones similares, por ejemplo, a través de elementos agregados o utilizando la API de Zabbix. Actualmente estamos trabajando activamente para simplificar la creación de estas verificaciones.
P.D.: En uno de los Sleurs, los desarrolladores de Zabbix nos preguntaron qué queríamos ver en el producto para monitorear clústeres de Kubernetes específicamente con Zabbix, y no con Prometheus.
Es genial cuando los desarrolladores escuchan a los clientes y no se encierran en sí mismos. Y ahora cada versión la recibimos con un interés genuino; nos alegra que cada vez más funciones de las que hemos hablado están cobrando vida.
Mientras los desarrolladores no se cierren en sí mismos y estén interesados en las necesidades de los clientes, el producto vive y se desarrolla. Estaremos atentos a las nuevas versiones de Zabbix.
P.P.D.: Lanzaremos un curso en línea sobre monitoreo en unos meses. A quienes les interese, suscríbanse para no perderse el anuncio. Y mientras tanto, pueden completar nuestro .
Fuente: habr.com
