Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.817
Distintas herramientas que permiten controlar el estado de tu plataforma, desde pings sencillos hasta simulación de logueo en una página web, pasando por el control de espacio en disco, cpu y memoria.

Nagios

Nagios Core: Gratis.
Nagios Xi: Pagado.


Nagios - The Industry Standard in IT Infrastructure Monitoring

http://www.nagios.org/

splash2.png




Icinga

Derivó de Nagios. Es gratis. Como buen fork es muy similar a nagios en su concepción pero se han ido distanciando un poco.

https://www.icinga.org/

icingaweb2_filteredservicematrix.png



Foglight

Es una suite de Quest, que ahora es de dell. Hay componentes que se instalan sobre Windows Server y en poco tiempo puedes estar controlando a punta de ping y snmp toda tu plataforma. Es caro.

http://www.quest.com/foglight/


101f943b21f0a0e791433f0a9352ce6af53_2screenshot-foglightnms_network-map_540x312.jpg



System Center Operations Manager

System Center es una suite de productos de Microsoft que tienen como objetivo controlar tus plataformas, haciendo hincapié (obviamente) en productos y servicios de Microsoft. El componente Operations Manager monitorea a nivel de ping, de snmp, de WMI (protocolo de Windows). Para monitorear servidores Microsoft es excelente, pero para monitorear Linux es pésimo. Si tu plataforma tiene mayoritariamente servicios y productos Microsoft, como Active Directory de Microsoft, Exchange, Sharepoint, etc, System Center Operations Manager es tu mejor opción si es que tienes las lukas. Es pagado.

http://technet.microsoft.com/es-es/library/hh205987.aspx

image_10.png



PRTG

Permite desplegar monitoreo por SNMP y PING, además integra mibs especializados para distintos tipos de plataformas y aplicaciones como VMware, Hyper-V, SQL, Oracle, etc.. Tiene la ventaja de ser muy flexible y extremadamente facil de desplegar.

Es de pago y tiene versión trial.

http://www.paessler.com

prtg8slideshow_01.png




Newrelic

http://newrelic.com/

Newrelic se corre como un servicio en tus máquinas, y va reportando periódicamente a un servicio Cloud. La versión básica es gratis.

El panel de Newrelic cumple dos funciones: monitorear tus máquinas y monitorear tus aplicaciones. Esta es una relación muchos a muchos: en un panel tienes tus máquinas (y cada una dice abajo cuales de tus apps está corriendo) y en otro panel tienes tus aplicaciones, y cada una puede estar corriendo en N máquinas.

En la vista particular de una máquina tienes información de la carga y los procesos más pesados.

hero-right-1cc983f1886b346dd0327c6c70ed239b.png


La foto que te muestra es de los últimos 30 minutos. Puedes cambiar ese tiempo para mostrar, en cambio, una hora, tres, seis o hasta 12 horas, y puedes mover ese intervalo para ver por ejemplo la carga entre las 15 y las 18 horas del día anterior.

Además del demonio de sistema, Newrelic tiene librerías para la mayoría de los lenguajes de desarrollo: PHP, Python, Ruby, JAVA, .NET y Node. Con eso se perfila tu aplicación. En la pestaña de Aplicaciones puedes ver cuales son las transacciones que más peticiones generan, o que más tiempo consumen. Puedes ver los últimos errores o medir qué tablas se llevan más pega en la BBDD

features-screen.jpg



Ya que te muestra en qué máquinas está corriendo una cierta aplicación, podrías sacar mediciones tan reveladoras como:
- Máquina 1 está al 80% de carga, está recibiendo 50 peticiones por segundo y corre apache
- Máquina 2 está al 5% de carga, recibe 200 peticiones por segundo y corre nginx

(El ejemplo es real, hice ese ejercicio el 2012 para hacer lobby a favor de nginx en mi pega)

Newrelic tiene plugins para casi cualquier servicio que se les ocurra, pero estos plugins son desarrollados por los respectivos proveedores y a veces no tienen mucho gráfico o no sirven de nada. De todas maneras les comento que he probado los plugins de mysql, amazon aws, postgres, php-fpm, mongodb y nginx. Todos funcionan :zippy y algunos se pueden integrar con las alertas nativas de Newrelic.

hero_tiles.png


Justamente esa es otra cosa bien útil que tiene Newrelic: un sistema de alertas muy granular. Puedes definir grupos de alertas y grupos de usuarios, y decidir qué eventos gatillan cierta alerta a cierto grupo. Por ejemplo
- Si el HDD de una máquina está al 90% de capacidad, alerta al grupo de sistemas
- Si el porcentaje de errores de una app sube del 5%, alerta al grupo de desarrolladores
- Si el ping deja de responder por un minuto, alerta a todos los weones que se cayó el sitio

Las alertas se pueden gatillas por correo, pero también puedes mandarlas a una cola de Amazon SQS, a un SMS (no funca en Chile), a un sistema de ticketing como Zendesk o a un cliente de Chat como Hipchat.




Observium.

http://www.observium.org/


ss-port.png


Permite monitorear en tiempo real dispositivos de red como Switchs y routers al nivel de puertas mediante el protocolo SNMP, además de controlar servidores también vía SNMP. Tiene opción gratuita y de pago.



ELK stack

https://www.elastic.co/

ELK stack es un diminutivo para Elasticsearch - Logstash - Kibana, y permite reunir información de muchos lados y de distintos tipos para mostrar gráficas como los que puse arriba en un solo panel centralizado.

Así por ejemplo puedes, tal como se ve arriba, importar los access_logs y error_logs de apache o nginx, o estadísticas de máquinas como load o uso de disco, o todo lo que se logea hacia systemd por ejemplo.

En el caso de arriba, en la pega también importamos eventos, como los de la centralita de teléfono: cada llamada entrante o saliente la logea, o bien, cuando ocurre algo (se envía un correo por ejemplo), se crea un evento con ciertos parámetros mediante los cuales filtro.

Hay dos variantes: la gratuita y la pagada. La pagada incorpora elementos avanzados como cuentas de usuario y otras cosas de forma fácil, se puede hacer todo con plugins gratuitos pero muchos son un culo de instalar.

La gracia de ELK stack es que permite escalar con facilidad, gracias a que puedes definir N nodos de ElasticSearch, Logstash o Kibana (si es que hace falta), aunque sugiero investigar antes de meterse del todo, ya que el setup inicial puede ser complicado. Yo estuve 2 semanas de lleno instalando todo, pero estamos conformes con el resultado. Hoy mismo hubo un problema con un backbone entre dos datacenters y lo detectamos al tiro:

gCRM6K0.png
 
Última modificación:

yakko

pingüino mal genio
Se incorporó
24 Agosto 2004
Mensajes
16.883
Maestro @yakko ¿es muy complicado pasar de nagios a icinga2? ¿probastes las opciones de "alta disponibilidad de icinga2?
Saludos.
no , para nada, icinga esta basado en nagios, la config es muy similar.

y no, no he probado la alta disponibilidad de icinga. tiene hartos metodos para descentralizar los chequeos, muy choro, pero anda tan bien que no he tenido que usarlo, incluso en ambientes gigantes y con plugins super poco eficientes como el de vmware-perl que hace mierda los cpu.
 
Upvote 0

yakko

pingüino mal genio
Se incorporó
24 Agosto 2004
Mensajes
16.883
Elastic + Kibana tienen un addon llamado packetbeat , el cual soporta netflow como servidor (tienes que enviarle los datos)

Ahora es parte del SIEM que ellos promocionan, aunque esta bastante verde...


Enviado desde mi iPad utilizando Tapatalk
ojo que elastic+kibana no es un sistema de monitoreo/alertas.
 
Upvote 0

yakko

pingüino mal genio
Se incorporó
24 Agosto 2004
Mensajes
16.883
Algun software que se alimente de netflow para monitorear un servicio. Ahora el desafio es que la maquina no puede llegar al host final si no que tiene acceso a los equipos que comunican los host.
y desde esos host hacer un nat al netflow correspondiente?

PD: si hay plugins para netflow en nagios, los puedes usar en icinga.
 
Upvote 0

chertsey

Pro
Se incorporó
25 Julio 2006
Mensajes
516
ojo que elastic+kibana no es un sistema de monitoreo/alertas.

La version pagada soporta alertas definidas por el usuario o por comportamiento, pero claro no es un software de monitoreo, sino de análisis, esto es bastante práctico porque te permite correlacionar eventos de forma rápida.
 
Upvote 0

WINTENDOX

MESIAS
Se incorporó
4 Julio 2009
Mensajes
2.231
zabbix no fue culo de soportar un ambiente de 1400 equipos y en promedio 16.000 servicios a chequear (usando un solo zabbix) , icinga2 lo hace sin arrugarse.

depende del uso que se le va a dar, depende de que quieres monitorear, de si necesitas que sea algo facil de configurar, etc. etc. hay para todos los gustos.
Pero eso es en tu caso quizás alguna drama en el hardware. Pero a nivel de monitoreo etc en los nodos cumple sin problemas más de 100000 servicos y sumando

Enviado desde mi Redmi Note 7 mediante Tapatalk
 
Upvote 0

yakko

pingüino mal genio
Se incorporó
24 Agosto 2004
Mensajes
16.883
Pero eso es en tu caso quizás alguna drama en el hardware. Pero a nivel de monitoreo etc en los nodos cumple sin problemas más de 100000 servicos y sumando

Enviado desde mi Redmi Note 7 mediante Tapatalk
no, se monta en una vm de un cluster gigante de vmware, al superar x cantidad de servicios se empiezan a encolar y los chequeos se retrasan, pasamos por el mismo problema con varias plataformas, el único que funcionó bien en un ambiente así fue incinga2, ya que está hecho para ser multitarea, puede desplegar simultáneamente miles de chequeos.
 
Upvote 0

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Resulta que buscando una solución para concentrar los logs de todas las máquinas y apps que tengo andando llegué a Datadog.

Datadog puede usarse para monitoreo y alertas de infraestructura, para concentrar logs, para APM y hasta para synthetics.

Para logs anda bien, tiene mil integraciones y puedes añadir transformaciones al pipeline para dejarlos con campos homogéneos. Sale como un dólar el giga de logs/mes y retención de 15 días. Extenderlo a un mes vale otro dólar.

En lo que respecta a la infraestructura... Todo muy bonito pero vale 20 dólares por host por mes y no estaba para esos gastos.

De todos modos, como puedes tirar logs de lo que quieras al concentrador, y configurar alertas sobre ellos, puedes usar cualquier chequeo local para meter alertas por uso de ram, disco lleno, descriptores de archivo, etc.

Enviado desde mi HMA-L29 mediante Tapatalk
 
Upvote 0

Harima

Pegao al tarro
Se incorporó
15 Mayo 2008
Mensajes
3.938
Resulta que buscando una solución para concentrar los logs de todas las máquinas y apps que tengo andando llegué a Datadog.

Datadog puede usarse para monitoreo y alertas de infraestructura, para concentrar logs, para APM y hasta para synthetics.

Para logs anda bien, tiene mil integraciones y puedes añadir transformaciones al pipeline para dejarlos con campos homogéneos. Sale como un dólar el giga de logs/mes y retención de 15 días. Extenderlo a un mes vale otro dólar.

Enviado desde mi HMA-L29 mediante Tapatalk
Probaste graylog?
 
Upvote 0

chertsey

Pro
Se incorporó
25 Julio 2006
Mensajes
516
Resulta que buscando una solución para concentrar los logs de todas las máquinas y apps que tengo andando llegué a Datadog.

Datadog puede usarse para monitoreo y alertas de infraestructura, para concentrar logs, para APM y hasta para synthetics.

Para logs anda bien, tiene mil integraciones y puedes añadir transformaciones al pipeline para dejarlos con campos homogéneos. Sale como un dólar el giga de logs/mes y retención de 15 días. Extenderlo a un mes vale otro dólar.

En lo que respecta a la infraestructura... Todo muy bonito pero vale 20 dólares por host por mes y no estaba para esos gastos.

De todos modos, como puedes tirar logs de lo que quieras al concentrador, y configurar alertas sobre ellos, puedes usar cualquier chequeo local para meter alertas por uso de ram, disco lleno, descriptores de archivo, etc.

Enviado desde mi HMA-L29 mediante Tapatalk

Para concentrar logs, esta graylog, que soporta LDAP y alertas en la versión opensource o usar ELK, que trae ya predefinido varios dashboard de monitoreo para logs de aplicaciones, APM, NetFlow y un intento de SIEM.

Slds
 
Upvote 0

Amenadiel

Ille qui nos omnes servabit
Fundador
OVERLORD
REPORTERO
Se incorporó
15 Enero 2004
Mensajes
18.398
Para concentrar logs, esta graylog, que soporta LDAP y alertas en la versión opensource o usar ELK, que trae ya predefinido varios dashboard de monitoreo para logs de aplicaciones, APM, NetFlow y un intento de SIEM.

Slds
Por lo que vi en graylog tienes que hostear tu concentrador? La versión Enterprise igual dice que hay que instalar algo. En Datadog solo instalas el agente y habilitas las extensiones

Enviado desde mi HMA-L29 mediante Tapatalk
 
Upvote 0

chertsey

Pro
Se incorporó
25 Julio 2006
Mensajes
516
Por lo que vi en graylog tienes que hostear tu concentrador? La versión Enterprise igual dice que hay que instalar algo. En Datadog solo instalas el agente y habilitas las extensiones

Enviado desde mi HMA-L29 mediante Tapatalk

Graylog Enteprise te permite hacer la correlación de eventos y mejores dashboard, en ambos tienes que instalar tu propio server. No necesita agentes, a excepción de equipos Windows, que con NXlog la haces.

En Linux/AIX puedes usar rsyslog o syslogd para enviar mediante UDP los logs.
 
Upvote 0

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.505
Otro voto para Datadog, es muy fácil y te quita el webeo de tener que administrarlo tu.

Para capa9.net a todo esto estamos probando / ocupando la combinación Telegraf + influxdb + grafana ahora, y por lo visto tiene un sistema de alerta tb, aunque está más bien hecho para presentaciones a pantalla completa:

kUjsYSc.png


Todo eso lo hice con docker compose en un par de horas, al menos ya rindió sus frutos pq me di cuenta que esos errores ocasionales de db que me salían en los logs tenían que ver con que nos topábamos con un límite de memoria, que ahora debería estar solucionado :)

Esto sería todo el contenido de docker-compose.yml:
Código:
version: "3"
services:
  influxdb:
    container_name: influxdb
    image: "influxdb:latest"
    restart: unless-stopped
    ports:
      - 8086:8086
    volumes:
      - ~/monitoring/influxdb/db:/var/lib/influxdb
      - ~/monitoring/influxdb/config/influxdb.conf:/etc/influxdb/influxdb.conf
  telegraf:
    container_name: telegraf
    image: "telegraf:latest"
    restart: unless-stopped
    environment:
      - HOST_PROC=/chanchocloud/proc/
    ports:
      - 8125:8125 # StatsD
      - 8092:8092 # UDP
      - 8094:8094 # TCP
    volumes:
      - ~/monitoring/telegraf/config/telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - /proc:/chanchocloud/proc:ro
      #- /var/run/docker.sock:/var/run/docker.sock ## No monitoring yet for docker
    network_mode: "host"
  grafana:
    container_name: grafana
    image: "grafana/grafana:latest"
    restart: unless-stopped
    user: "0"
    ports:
      - 3000:3000
    volumes:
      - ~/monitoring/grafana/db:/var/lib/grafana
      - ~/monitoring/grafana/config/grafana.ini:/etc/grafana/grafana.ini

Tengo un nginx por delante que hace de proxy transparente hacia grafana.

Saludos.
 
Upvote 0

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.412
@unreal4u mejor usa prometheus + grafana, dado que prometheus te permite crear alarmas bien utilies basadas en cuantos minutos lleva en estado "alarma" de esa forma los spikes innecesarios se los pasa por el aro, por ejemplo en nuestro server de produccion la carga de io es normalamente de un 10% pero hay un puto proceso que la eleva al 80% por 5 minutos todos los dias, entoces con eso evito que me chille por nada.
 
Upvote 0

unreal4u

I solve problems.
Miembro del Equipo
ADMIN
Se incorporó
2 Octubre 2005
Mensajes
13.505
@unreal4u mejor usa prometheus + grafana, dado que prometheus te permite crear alarmas bien utilies basadas en cuantos minutos lleva en estado "alarma" de esa forma los spikes innecesarios se los pasa por el aro, por ejemplo en nuestro server de produccion la carga de io es normalamente de un 10% pero hay un puto proceso que la eleva al 80% por 5 minutos todos los dias, entoces con eso evito que me chille por nada.

pq prometheus y no influxdb? Ambas son db en base a eventos en el tiempo y hasta donde sé es grafana donde configuras y mandas las alertas, así que daría lo mismo la db por debajo cierto?

Saludos.
 
Upvote 0

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.412
la diferencia esta en las alertas, nosotros las tenemos configuradas en prometheus directamente, no en grafana, te pego algo de la configuracion de alarmas de prometheus, ademas con prometheus puede hacer polling menores a 1 segudno para cosas bien criticas.


Código:
groups:
- name: alert.rules
  rules:
  - alert: monitor_down
    expr: up == 0
    for: 5m
    annotations:
      summary: Instancia {{ $labels.instance }} esta caida por mas de 5 minutos
      description: "{{$labels.instance}} of job {{$labels.job}} has been down for more than 5 minutes."
  - alert: High_Load
    expr: node_load1{alias="UngaBunga"} >= 7
    for: 5m
    annotations:
      summary: High Load en UngaBunga
  - alert: PERM_GEN
    expr: CMS_Perm_Gen_usageUsed / CMS_Perm_Gen_usageMax > 0.8
    annotations:
      summary: Uso de Perm Gen sobre 80%
  - alert: OLD_GEN
    expr: CMS_Old_Gen_usageUsed / CMS_Old_Gen_usageMax > 0.93
    annotations:
      summary: Uso de Old Gen sobre 80%
  - alert: SWAP_OUT
    expr: rate(node_vmstat_pswpout[5m]) * 4096 > 100000
    annotations:
      summary: Swap Out a mas de 1 MBs
 
Upvote 0
Subir