zabbix, cacti, qué iusar para monitorear tráfico de red y uptime de servicios.
tenemos dos necesidades, una para cubrir ASAP y otra que pasa por mis inquietudes.
ASAP: Necesitamos monitorear tráfico de puertos WAN de unos routers y con ellos poder estuimar el percentil 95 de consumo entre tramos singulares de tiempo (ej los días entre el 7 del mes pasado y el 7 de este mes). El router admite habilitar SNMP y encontré cómo hacerlo con cacti facilmente.
Por otro lado tenemos a the dude de mikrotik y me gustaría proponer algo web instalabe el linux y que sea mejor si se pudiera. El fuerte de la aplicación esa es que se ven los hosts en un mapita que uno organiza por la topología lógica o física y se pinta de rojo si algo se cae, a la vez es fácil ver el tráfico que existe en uno de los tramos y se almacenan gráficas.
No sé si ese programa lo permite, pero a mí me gustaría poder monitorear el estado de servicios (no me interesa saber que el host responde ping si ahí se usa http/smtp/imap) y también poder configurar que se inicien acciones como enviar mail, disparar un bot de telegram o algo así.
Hace años supe de cacti y zabbix, nunca me terminé de involucrar del todo, tal vez ahora exista algo más millenial, cool o lo que sea y hasta mejor. Desconozco, estoy atento a sus respuestas.
Muchas gracias,
Respuestas
Cacti: tenés un valor del que se te ocurra y te lo grafica(vía SNMP, scripting, parsing, ejecución de binarios, etc). Por default tiene un montón de templates de diferentes vendors y / o servicios. Tenés muchos plugins de 3eros. Uno muy interesante es php weathermap, para marcarte con colores/escalas el estado del bw de la interface.
NOTA: es muy configurable al extremo, pero es una curva de aprendizaje previa.
Zabbix.: Podés graficar igualmente valores(tiene templates), scripting, relevamiento vía agentes inclusive, actualización de valores individual por ítems, es escalable en cuando a objetos monitoreando/objetos, tiene desarrollo/mantenimiento continuo.
Es muy flexible en cuanto a notificaciones.
La UI es bastante user friendly (pero hay ciertos conceptos que hay que entender previamente).
Consejo: probar los dos, con cuál te sentís más cómodo, y si tiene lo que precisás.
Cacti es más fuerte dedicado a graficar valores, extrenadamente flexible en cuanto a esto, aprendiendo previamente, pero igualmente permite monitorear y notificar via plugins.
Zabbix: es más fuerte en monitoreo, MUY flexible en cuanto al monitoreo en sí, más escalable pero igualmente grafica muy bien(y es algo más ágil en cuanto a mostrar los gráficos)....y tiene soporte comercial si lo precisás.
Autodiscovery con SMNP y otros protocolos
Si estás apurado, podés probarlo desde una VM descargable.
https://www.turnkeylinux.org/observium
Para monitorear servicios, te recomiendo Icinga2.
Para monitoreo de rendimiento de servidores, lo que sale como piña es Munin, pero hace un tiempo que quiero probar Prometheus.
Para gráficos mas "lindos" podés meter un Grafana en el mismo server con el plugin de Zabbix e ir armándote tus dashboards
https://github.com/alexanderzobnin/grafana-zabbix
Solo usé algunos, en la parte de Windows WhatsUp ... muy bueno... pero caro y licenciado.
Opensource, Zabbix que es el actual que estoy usando, es muy flexible y altamente cutomizable...
La instalacion es un simple apt-get install zabbix-server en ubuntu y un apt-get install zabbix-agent en lo que son los clientes... solo eso...
obviamente si queres solo algo para jugar y ver, si lo vas a poner en prod, asegurate de leer los Man y darle mucha atencion a los requerimientos de Hardware.
zabbix is the king:
- Autodiscovery de equipos en al red.
- Self registration, que puede dispararse desde autodiscovery.
- Tiene un inventariado de equipos que puede automatizarse la toma de valores (desde hostname hasta recursos de hw, pasando por versiones de OS, y sw que contiene)
- Tiene el "Low level autodiscovery" que permite detectar, por ejemplo, nuevas interfaces de red o volumenes de discos en el sistema y automaticamente empezar a tomar medidas y armar los graficos correspondientes.
- Soporta realizar diferentes pantallas custom, en las que podes poner diferentes puntos de vista de monitoreo. Podes armar un screen para los Sysadmins, y otro para la gente de networking mostrando diferente informacion y asociarlo a cada perfil como "home" del usuario.
- Permite agrupar puntos de medicion y generar el concepto de "servicio", por ejemplo: El Load Balancer + Http de FE + DB de backends = Servicio Web XY. Esto puede ponerse como puntos de monitore de alto nivel.
- Permite ejecutar acciones en los equipos configurados (con o sin agente), estas acciones pueden disparase bajo ciertas condiciones de monitoreo, por ejemplo, auto restart de un servicio que deja de responder. Lo bueno es que podes hacer facilmente condiciones "complejas" como: Bueno intenta reiniar el servicio, pero solo 3 veces notificando el restart, a la cuarta vez dejalo abajo y notifica a los ops que se cayo. Esta accion de notificacion puede ser un mail, mensaje, tiene scripts para generar tickets directos en algunos sistemas de ticketing, etc.
- Soporta Agente en los servidores (windows, linux, etc). Permite ejecutar comandos desde la interfaz hacia el agente.
- Tiene una API con la que podes hablar para automatizaciones externas.
So far, no conozco un producto que cubra absolutamente todo esto. Pero bueno, si alguno sabe de UN producto que haga todo esto, me avisa please para probarlo?