Charla de seguimiento

La vigilancia se conoce comúnmente como el "tercer ojo". Sin supervisión, la operación y el mantenimiento básicos, la operación y el mantenimiento comerciales son "ciegos". Por lo tanto, el monitoreo es fundamental para la profesión de operación y mantenimiento. Especialmente cuando DevOps está tan de moda ahora, es aún más necesario usar datos de monitoreo para apoyarse a sí mismo. Algunas personas dicen que la operación y el mantenimiento es el hombre detrás de escena. Luego, con el monitoreo, hay suficientes datos, todo habla con datos, y es necesario Volver al principio, como excelente ingeniero, cómo construir un sistema de monitoreo es el primer trabajo que debe hacerse bien.

1. Herramientas comunes de monitoreo de operación y mantenimiento
Ahora hay muchas herramientas de monitoreo de operación y mantenimiento, lo cual es bueno, lo que no es bueno, lo que es adecuado para usted, lo que no es adecuado para usted, de hecho, solo después de que comprenda sus características, lo sabrá, así que comience desde aquí Arriba.
1. Cacti
Cacti es un conjunto de herramientas de análisis gráfico de monitoreo de tráfico de red basadas en PHP, MySQL, SNMP y RRDTool. En pocas palabras, Cacti es un programa PHP. Obtiene dispositivos de red remotos e información relacionada usando el protocolo SNMP (de hecho, se obtiene usando los comandos snmpget y snmpwalk del paquete de software Net-SNMP), dibujando a través de la herramienta RRDTOOL y mostrándola a través del programa PHP. Podemos usarlo para mostrar el estado o el gráfico de tendencias de rendimiento del objeto monitoreado durante un período de tiempo.

Cacti es una herramienta de monitoreo muy antigua. De hecho, es más adecuada como herramienta de monitoreo de tráfico. Es más precisa para monitorear el tráfico, pero tiene muchas deficiencias. Las imágenes no son atractivas, no admite distribución y no tiene función de alarma, así que use Habrá cada vez menos gente.

2. Nagios
Nagios es una herramienta de monitoreo de red gratuita de código abierto que puede monitorear de manera efectiva el estado de los hosts de Windows, Linux y Unix, cambiar enrutadores y otras configuraciones de red, impresoras, etc. Cuando el estado del sistema o del servicio es anormal, se enviará una alarma por correo electrónico o SMS para notificar al personal de operación y mantenimiento del sitio web por primera vez, y se enviará una notificación normal por correo electrónico o SMS después de que se restablezca el estado.

La característica principal de Nagios es monitorear las alarmas. La más poderosa es la función de alarma, que puede soportar múltiples métodos de alarma, pero la desventaja es que no hay un mecanismo poderoso de recolección de datos y la salida de datos es muy simple. Cuando se monitorean más y más hosts, Agregar un host también es muy problemático. Los archivos de configuración se basan todos en la configuración de texto y no admiten la administración y configuración web. Esto es propenso a errores y no es adecuado para el mantenimiento.

3. Zabbix
Zabbix es una solución de código abierto de nivel empresarial basada en una interfaz WEB que proporciona funciones de supervisión de red y supervisión de sistemas distribuidos. Zabbix puede monitorear varios parámetros de red para garantizar la operación segura del sistema del servidor y proporcionar un poderoso mecanismo de notificación para permitir que el personal de operación y mantenimiento del sistema localice / resuelva rápidamente varios problemas.
Zabbix consta de 2 partes, servidor zabbix y agente zabbix componente opcional. El servidor Zabbix puede proporcionar monitoreo remoto del estado del servidor / red, recopilación de datos y otras funciones a través de SNMP, agente zabbix, ping, monitoreo de puertos y otros métodos. Puede ejecutarse en Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, En plataformas como OS X.

Zabbix resuelve las deficiencias de los cactus sin advertencias y también las deficiencias de los nagios que no se pueden configurar a través de la web. Al mismo tiempo, también admite la implementación distribuida, lo que la hace popular rápidamente. Zabbix también se ha convertido en la plataforma de monitoreo de operación y mantenimiento más popular para el monitoreo de PYMES.
Por supuesto, zabbix también tiene sus deficiencias. Consume una gran cantidad de recursos. Si hay demasiados hosts para monitorear, puede ocurrir el tiempo de espera de monitoreo y el tiempo de espera de alarma. Sin embargo, hay muchas soluciones, como mejorar el rendimiento del hardware y cambiar el modo de monitoreo de zabbix.

4. Ganglia
Ganglia es un sistema de monitoreo distribuido escalable diseñado para clusters HPC (High Performance Computing). Puede monitorear y mostrar información de estado diversa de los nodos en el clúster. Está controlado por gmond que se ejecuta en cada nodo. El demonio recopila datos sobre la CPU, la memoria, la utilización del disco duro, la carga de E / S, el tráfico de red, etc., y luego los resume en el demonio gmetad, usa rrdtool para almacenar los datos y finalmente muestra los datos históricos a través de la página PHP de forma curva.
El sistema de monitoreo de Ganglia consta de tres partes, a saber, gmond, gmetad y webfrontend. Gmond está instalado en el cliente que necesita recopilar datos, gmetad es el servidor, webfrontend es una interfaz de interfaz de usuario web php, ganglia recopila datos a través de gmond y luego los muestra en webfrontend.

La característica principal de los ganglios es recopilar datos y mostrarlos de manera centralizada. Ésta es la ventaja y la característica de los ganglios. Ganglia puede agregar todos los datos en una interfaz para una visualización centralizada y admite múltiples interfaces de datos, que pueden expandir el monitoreo en muchos aspectos. Lo importante es que Ganglia recopila datos muy livianos, y el programa gmond del cliente básicamente no consume recursos del sistema, y ​​esta característica solo compensa la falta de rendimiento de zabbix.
Finalmente, Ganglia es más inteligente en el monitoreo de plataformas de big data. Solo se necesita un archivo de configuración para permitir a Ganglia monitorear hadoop y spark. Hay casi mil indicadores de monitoreo, que satisfacen completamente las necesidades de monitoreo de las plataformas de big data.

5. Centreon
Centreon es un poderoso sistema de monitoreo de TI distribuido, que puede monitorear la red, el sistema operativo y las aplicaciones a través de componentes de terceros: primero, es de código abierto, podemos usarlo gratis; segundo, La capa inferior utiliza un motor de monitoreo similar a nagios como software de monitoreo. Al mismo tiempo, el motor de monitoreo escribe los datos monitoreados en la base de datos regularmente a través del módulo ndoutil, y Centreon lee los datos de la base de datos en tiempo real y muestra los datos de monitoreo a través de la interfaz web; finalmente, podemos Administración y configuración de hosts con un clic a través de Centreon web, o Centreon es una herramienta de configuración de administración de nagios.A través de la interfaz de configuración web proporcionada por Centreon, puede completar fácilmente las deficiencias que nagios necesita para configurar manualmente hosts y servicios.

Las fortalezas de Centreon son la configuración y administración con un solo clic, y el soporte para monitoreo distribuido. Las funciones que nagios puede lograr se pueden lograr a través de Centreon. Al mismo tiempo, Centreon también se puede integrar con Ganglia. Centreon integra los datos recopilados por Ganglia. El anfitrión agrega automáticamente funciones de monitoreo y alarma automática.

6. Prometheus
Prometheus es un marco de alarma y monitorización de sistemas de código abierto que no solo es adecuado para la monitorización de indicadores de hardware orientados al servidor, sino también para la monitorización de una arquitectura orientada a servicios altamente dinámica. Para los microservicios populares, el lenguaje de consulta de filtrado y recopilación de datos multidimensional de Prometheus también es muy poderoso. Prometheus está diseñado para brindar un servicio confiable. Cuando el servicio falla, le permite localizar y diagnosticar rápidamente el problema.

7. Grafana
Grafana es una suite de visualización y análisis de mediciones de código abierto. En términos sencillos, Grafana es una plataforma de visualización gráfica. Muestra nuestros datos de monitoreo a través de una variedad de efectos de interfaz interesantes. Si cree que la interfaz de salida de imágenes de zabbix no es suficiente Se ve bien, si el nivel de fuerza no es lo suficientemente alto, puede usar la pantalla visual de Grafana. Al mismo tiempo, Grafana admite muchas fuentes de datos diferentes, Graphite, InfluxDB, OpenTSDB, Prometheus, Elasticsearch, CloudWatch y KairosDB pueden ser perfectamente compatibles.

8. Cuadro comparativo
Charla de seguimiento

2. Ideas de diseño de la plataforma de monitoreo de operación y mantenimiento unificada La plataforma de monitoreo de
operación y mantenimiento no consiste simplemente en descargar una herramienta de código abierto y luego construirla. Necesita varias integraciones y desarrollo secundario de acuerdo con el entorno de monitoreo y las características para satisfacer sus propias necesidades El grado de total acuerdo. Luego, hablemos de las ideas de diseño de la plataforma de monitoreo de operación y mantenimiento.
Para construir una plataforma inteligente de monitoreo de operación y mantenimiento, es necesario enfocarse en los dos aspectos de monitoreo de operación y alarma de falla e integrar todos los recursos de red, recursos de hardware, recursos de software y recursos de base de datos involucrados en todos los sistemas comerciales en una plataforma unificada de monitoreo de operación y mantenimiento. Al eliminar las diferencias en el software de gestión y los métodos de recopilación de datos, se logra la gestión unificada, la estandarización unificada, el procesamiento unificado, la visualización unificada, el inicio de sesión unificado del usuario y el control de autoridad unificado para varias fuentes de datos, y finalmente se logra la estandarización de la operación y el mantenimiento. Gestión de operación y mantenimiento automatizada e inteligente.
La plataforma inteligente de monitoreo de operación y mantenimiento, la arquitectura de diseño se puede dividir en 6 capas de menor a mayor y tres módulos, como se muestra en la siguiente figura:
Charla de seguimiento

 Capa de recopilación de datos: ubicada en la capa inferior, principalmente recopila datos de red, datos del sistema empresarial, datos de la base de datos, datos del sistema operativo, etc., y luego normaliza y almacena los datos recopilados.
 Capa de visualización de datos: Ubicada en la segunda capa, es una interfaz de visualización web, que muestra principalmente los datos obtenidos por la capa de recopilación de datos de manera unificada. El método de visualización puede ser un gráfico, un gráfico de barras, un estado circular, etc., mostrando gráficamente los datos , Puede ayudar al personal de operación y mantenimiento a comprender el estado operativo y la tendencia operativa del host o la red dentro de un período de tiempo, y servir como base para que el personal de operación y mantenimiento solucione o resuelva problemas.
 Capa de extracción de datos: Ubicada en la tercera capa, es principalmente para normalizar y filtrar los datos obtenidos de la capa de recolección de datos, y extraer los datos requeridos al módulo de alarma de monitoreo, esta parte es el punto de conexión de los módulos de monitoreo y alarma.
 Capa de configuración de reglas de alarma: ubicada en la cuarta capa, se utiliza principalmente para establecer reglas de alarma, umbrales de alarma, configuraciones de contactos de alarma y configuraciones de modo de alarma en función de los datos obtenidos en la tercera capa.
 Capa de generación de eventos de alarma: ubicada en la quinta capa, registra principalmente los eventos de alarma en tiempo real, guarda los resultados de la alarma en la base de datos para la llamada y forma el informe de análisis de los resultados de la alarma para calcular la tasa de fallas y la tendencia de fallas dentro de un período de tiempo .
 Capa de gestión de visualización de usuarios: ubicada en el nivel superior, es una interfaz de visualización web, que muestra principalmente estadísticas de monitoreo y resultados de fallas de alarma de manera unificada, y realiza una administración de múltiples usuarios y autoridades, y realiza un usuario unificado y un control de autoridad unificado.

En estas 6 capas, la función se divide en tres módulos, a saber, módulo de recopilación de datos, módulo de extracción de datos y módulo de alarma de monitoreo. Las funciones de cada módulo son las siguientes:
 Módulo de recopilación de datos: Este módulo completa principalmente los conceptos básicos Recolección de datos y visualización gráfica. Hay muchas formas de recopilar datos, que se pueden implementar mediante SNMP, mediante módulos de agente o mediante scripts personalizados. Las herramientas de recopilación de datos más utilizadas son Cacti, Ganglia, etc.
 Módulo de extracción de datos: esta plantilla completa principalmente el filtrado y la recopilación de datos, y extrae los datos requeridos del módulo de recopilación de datos al módulo de alarma de monitoreo. La extracción de datos se puede lograr a través de la interfaz proporcionada por el módulo de recopilación de datos o un script personalizado.
 Módulo de alarma de supervisión: este módulo completa principalmente la configuración de los scripts de supervisión, las reglas de alarma, la configuración del umbral de alarma, la configuración de los contactos de alarma, etc., y muestra de forma centralizada y los registros históricos de los resultados de la alarma. Las herramientas comunes de monitoreo y alarma incluyen Nagios, Centreon, etc.
Después de comprender las ideas generales de diseño de la plataforma de monitoreo de operación y mantenimiento, a continuación se describe en detalle cómo implementar un sistema de monitoreo de operación y mantenimiento tan inteligente a través del software.
La siguiente figura es un diagrama de topología de implementación de una plataforma de monitoreo de operación y mantenimiento formada de acuerdo con la idea de diseño de la figura anterior. Se puede ver en la figura que hay tres componentes principales, a saber, el módulo de recolección de datos, el módulo de alarma de monitoreo y el módulo de extracción de datos. Entre ellos, los datos El módulo de extracción se utiliza para la comunicación de datos entre los otros dos módulos, y el módulo de recopilación de datos puede estar compuesto por uno o más servidores de recopilación de datos, cada servidor de recopilación de datos puede recopilar directamente varios indicadores de datos del grupo de servidores y el formato de datos está estandarizado , Y finalmente almacenar los datos en el servidor de recolección de datos. El módulo de alarma de monitoreo obtiene los datos requeridos del servidor de recolección de datos a través del módulo de extracción de datos, y luego establece el umbral de alarma, contacto de alarma, etc., y finalmente realiza la alarma en tiempo real. El modo de alarma admite alarma por SMS de teléfono móvil, alarma por correo electrónico, etc. Además, el modo de alarma también se puede ampliar a través de complementos o scripts personalizados. De esta forma, básicamente se realiza un conjunto completo de plataforma de monitorización y alarma.
Charla de seguimiento

3. Selección de la plataforma de supervisión del funcionamiento y el mantenimiento de la empresa

1. Elección de Zabbix
como plataforma de monitoreo para pequeñas y medianas empresas Zabbix es una plataforma integral de monitoreo de operación y mantenimiento que integra recolección de datos, visualización de datos, extracción de datos, configuración de alarmas de monitoreo y visualización de usuarios.
Zabbix aprende rápidamente y tiene funciones poderosas. Es un software de monitoreo que se puede usar rápidamente. Puede satisfacer las necesidades de monitoreo y alarma de pequeñas y medianas empresas (con menos de 500 servidores). Por lo tanto, es la plataforma preferida para el monitoreo de operación y mantenimiento de pequeñas y medianas empresas.
Sin embargo, cuando Zabbix monitorea una gran cantidad de servidores, ocurrirán muchos problemas, como datos de monitoreo inexactos, tiempos de espera de alarma, etc. Esto se debe a que Zabbix tiene requisitos de rendimiento de servidor más altos. Cuando el número de servidores monitoreados excede los 500, el rendimiento de monitoreo Una fuerte disminución, en este momento, se requiere una implementación de monitoreo distribuido, y el rendimiento del servidor de monitoreo debe mejorarse.
En términos de seguridad, si el agente del cliente Zabbix falla, los datos recopilados se perderán. Al mismo tiempo, Zabbix Server también es un solo punto, y puede ser necesario hacer HA para Zabbix Server para garantizar la seguridad de los datos y la alta disponibilidad de monitoreo.

2. La elección del
software de monitoreo de código abierto Ganglia + Centreon combinado aplicación + desarrollo secundario es una estrategia básica para que las grandes empresas de Internet construyan una plataforma de monitoreo. Para el monitoreo complejo de servidores masivos y sistemas multiservicio, ningún software puede completarlo de forma independiente. Todas las necesidades de monitoreo de las empresas, por lo tanto, la aplicación combinada de múltiples software de monitoreo de código abierto + desarrollo secundario es la dirección final de la plataforma de monitoreo.
Se recomienda Ganglia porque el software cliente de ganglia ocupa recursos de servicio muy bajos, y hay muchos complementos de extensión, y la extensión de monitoreo también es muy fácil. Al mismo tiempo, combinado con la plataforma de monitoreo web profesional centreon, puede realizar la recolección de datos, visualización de datos, extracción de datos y alarmas de monitoreo. La perfecta coordinación de configuración, visualización de usuario, etc., por lo que recomendamos la combinación ganglia + centreon para monitorizar servidores masivos.

Cuatro, hablar sobre la evolución de nuestra plataforma de monitoreo de operación y mantenimiento.

Esta es una experiencia y un resumen, basado en la evolución de nuestra plataforma de monitoreo a lo largo de los años, resumí las ideas y estrategias necesarias para la construcción de la plataforma de monitoreo en diferentes etapas, diferentes números de máquinas.

1, la cantidad de máquinas es inferior a 100 etapas
durante este período debido a la pequeña cantidad de máquinas, por lo tanto, la necesidad de monitoreo también es muy simple, se utiliza principalmente para fines de monitoreo, puede notar el problema y resolver problemas, localizar rápidamente, resumir aproximadamente, esta fase de monitoreo Las características de la plataforma son las siguientes:
(1), implementación simple, fácil de usar
(2), operación estable, sin fallas
(3), alarmas, en
base a las características y requisitos anteriores en forma de correos electrónicos, mensajes de texto, etc. , puede utilizar el código abierto más popular El software de monitoreo Nagios, Cacti, Zabbix, Ganglia y así sucesivamente. Hay muchos documentos de productos de código abierto populares, que se pueden usar rápidamente, y hay mucha experiencia en predecesores, y los problemas se pueden resolver fácilmente.
Al principio, elegimos nagios porque este software fue el primero en ser popular. Más tarde, debido al inconveniente de agregar hosts y servicios, cambiamos a zabbix. En esta etapa, zabbix debería ser la mejor opción.

2. En
esta etapa, la cantidad de máquinas es de 200 a 1000. Debido al aumento en la cantidad de máquinas, los requisitos de monitoreo también se han complicado. Sin embargo, se utiliza principalmente para notificaciones, alarmas, detección de problemas y evitar que vuelvan a ocurrir los mismos problemas. Características, principalmente realizamos los siguientes trabajos en la plataforma de monitoreo durante este período:
(1) Clasificación del contenido de monitoreo: Dado que hay muchas máquinas a monitorear, el contenido de monitoreo también aumenta, por lo que clasificamos el monitoreo de acuerdo con diferentes propósitos, principalmente Dividido en datos de monitoreo básico del sistema, datos de monitoreo de red y datos de monitoreo comercial.
(2) Monitoreo de cobertura total: Todas las máquinas están incluidas en el monitoreo, incluyendo principalmente el monitoreo de software y el monitoreo de hardware. El monitoreo de hardware monitorea principalmente el rendimiento y las fallas del hardware. El monitoreo de software se suma a los diversos datos de monitoreo básicos mencionados en el primer paso. También agrega monitoreo de lógica empresarial para cubrir el proceso empresarial tanto como sea posible, reducir y eliminar problemas duplicados a través de una gran cantidad de monitoreo personalizado y garantizar el funcionamiento estable del negocio.
(3) Múltiples métodos de alarma para garantizar que no haya omisiones: clasifique todos los monitoreos de acuerdo con su importancia y urgencia, y use correo electrónico, WeChat, SMS, teléfono y otros niveles diferentes para notificar, cada monitoreo corresponde a un diferente Personas, asegúrese de que cada monitoreo sea manejado por alguien y use la notificación continua para servicios importantes, y siempre notifique si no se procesa.
La dificultad en esta etapa es el procesamiento de la información de alarma. A medida que se necesitan monitorear más y más máquinas y servicios, la información de alarma se ha disparado. Es común recibir miles de correos electrónicos de alarma todos los días. Aparecen demasiados correos electrónicos, de hecho, pierde el significado de advertencia, porque nos es imposible revisar todos los correos electrónicos. Entre tantos correos electrónicos de advertencia, muchos son advertencias innecesarias. Por ejemplo, si la carga del sistema aumenta ocasionalmente, se envía una alarma. Correo, esto es completamente innecesario.
Por lo tanto, en esta etapa, la tarea principal es configurar y optimizar la estrategia de monitoreo y advertencia para minimizar los correos electrónicos de advertencia innecesarios. Por ejemplo, para monitorear la carga del sistema, puede elegir cuántas veces la carga excede el umbral durante varias veces consecutivas y luego cuánto tiempo dura antes de la operación de advertencia , A través de la optimización de la estrategia de alarma, la información de alarma se reduce considerablemente, hasta decenas de mensajes por día, para que no se pierda ninguna información de alarma.

3. En la etapa
en que el número de máquinas supera las 1.000, debido al continuo crecimiento del negocio, la demanda de servidores está aumentando. Cuando nuestros servidores superan las 1.000, la situación de monitorización ha cambiado, o hay muchos problemas extraños en la monitorización, principalmente Algunas de las siguientes:
(1) La alarma no es oportuna.
Cuando nuestros servidores superan los 1000, nuestro zabbix suena a menudo. A veces, los datos de monitoreo no se pueden mostrar a tiempo y, a veces, la alarma se retrasa, especialmente el retraso de la alarma, esto es lo más Algo terrible, el negocio en línea no puede fallar 7 * 24 horas. Aunque se monitorea una anormalidad, se ha enviado a través del sistema de monitoreo una o varias horas después. ¿Cuál es el punto de monitoreo? La puntualidad es el sistema de monitoreo El primer requisito es que este sea un problema que debe resolverse.
Cómo resolver este problema, además de optimizar el monitoreo, como la implementación de proxy distribuido, habilitar el modo activo de zabbix, pero también expandir y optimizar la recopilación de datos, abandonamos zabbix para la recopilación de datos básicos y usamos ganglia , Y parte de los datos comerciales todavía se implementan con zabbix. Al compartir la carga de los datos recopilados, la carga de zabbix se reduce considerablemente y la precisión y puntualidad de la recopilación de datos vuelven a la normalidad.
(2) Hay un solo punto de falla en el sistema de alarma.
Debido a la gran cantidad de servidores, los datos recopilados también han crecido rápidamente. Una vez, el servidor de monitoreo se cayó repentinamente inesperadamente. Ya era una hora más tarde cuando el sistema se restauró y se inició. La operación y el mantenimiento se vuelven ciegos, qué cosa terrible.
Desde que se produjo la interrupción del sistema de monitoreo, hemos implementado una implementación distribuida y de alta disponibilidad del servidor de monitoreo para evitar un solo punto de falla. Al mismo tiempo, los datos monitoreados serán respaldados de forma remota. Cuando el servidor de monitoreo falla, automáticamente cambiará a monitoreo en espera. En el sistema, y ​​los datos de monitoreo se guardan y sincronizan automáticamente.
(3) El sistema de monitoreo de demanda de alarma no puede cumplir
Con el aumento del negocio, los clientes se han vuelto más exigentes con la estabilidad empresarial. Para garantizar el funcionamiento estable del sistema empresarial, se proponen requisitos de supervisión de la lógica empresarial. La supervisión de la lógica empresarial consiste en supervisar la lógica operativa del sistema empresarial. Cuando falla la lógica operativa empresarial , También necesita ser alertado. Obviamente, no hay herramientas y códigos prefabricados para el monitoreo de la lógica empresarial. Solo podemos desarrollarnos de acuerdo con la lógica empresarial. Al mejorar la interfaz de la lógica empresarial, reportar datos, etc., hemos realizado un número de veces en zabbix Desarrollo para cumplir con el seguimiento de la lógica empresarial.
Finalmente, la plataforma de monitoreo de operación y mantenimiento es una parte indispensable del trabajo de operación y mantenimiento. Cómo construir una plataforma de monitoreo de operación y mantenimiento adecuada es diferente para cada empresa, y los puntos débiles que enfrenta cada operación y mantenimiento también son diferentes, pero, No importa qué necesidades o cuántas, siempre están cambiando. Con varios datos de monitoreo en la máquina, la operación y el mantenimiento pueden hacer muchas cosas.

Supongo que te gusta

Origin blog.51cto.com/11110720/2540824
Recomendado
Clasificación