Cómo utilizar Python para crear software de operación y mantenimiento de equipos
La máquina de trampolín jumpserver desarrollada por Python
La máquina de trampolín jumpserver es un sistema de máquina de trampolín (máquina bastión) de código abierto escrito en Python, que realiza las funciones que debe tener una máquina de trampolín . La gestión se basa en el protocolo ssh y el cliente no necesita instalar ningún agente.
Las empresas se utilizan principalmente para resolver: gestión de seguridad visual
Características: código completamente abierto, autorizado GPL
Escrito en Python, marco de desarrollo Django, fácil de desarrollar nuevamente
Me di cuenta de las funciones básicas de la máquina trampolín: autenticación, autorización y auditoría. Integrado con Ansible, comandos por lotes, etc. Poderoso.
El punto popular es monitorear quién ha realizado qué operaciones en el servidor, etc. Reproducción de vídeo, búsqueda de comandos, seguimiento en tiempo real, carga y descarga por lotes, etc.
Tercero: sistema de monitoreo distribuido Magedu desarrollado en Python
Tomando la perspectiva de operación y mantenimiento automatizados como punto de partida, automatiza funciones, monitorea alarmas, ajusta el rendimiento y combina saltstack para lograr una gestión de configuración automatizada, etc. El contenido se ha analizado exhaustivamente en profundidad.
Las empresas se utilizan principalmente para resolver: monitorización automatizada de servicios comunes del sistema, aplicaciones, equipos de red, etc. El monitoreo distribuido puede monitorear más servidores y luego se puede resumir el monitoreo regional. La monitorización de Zabbix se combina con scripts de monitorización personalizados de Python.
Discusión sobre los requisitos del sistema de monitoreo:
¿Supervisar servicios comunes del sistema, aplicaciones, equipos de red, etc.? ¿Se pueden monitorear varios servicios diferentes en un host? ¿Pueden ser diferentes los intervalos de monitoreo de diferentes servicios? ¿Pueden ser diferentes los intervalos de monitoreo y los umbrales de alarma del mismo servicio en diferentes hosts? ¿Nivel de alarma? Visualización de datos, ¿cómo hacer una interfaz de usuario sencilla y bonita? ¿Cómo lograr que una sola máquina admita más de 5000 requisitos de monitoreo de máquinas? ¿Qué método de comunicación se utilizará? ¿Activo o pasivo?
Cuarto: CMDB de Magedu desarrollado en Python
El desarrollo de cmdb debe incluir tres partes: recopilación de datos de hardware, API y administración de páginas.
Las empresas se utilizan principalmente para resolver: funciones de proyecto, recopilación de datos de hardware, API y gestión de páginas. Activos estadísticos, como la ubicación de almacenamiento del servidor, cuentas en el servidor, etc.
El proceso de ejecución del servicio es el siguiente: el cliente del servidor recopila datos de hardware y luego envía la información del hardware a la API. La API es responsable de guardar los datos obtenidos en la base de datos y en segundo plano. El programa de gestión es responsable de configurar la información del servidor y su visualización.
Quinto: Sistema de programación de tareas desarrollado en Python
El módulo multiprocesamiento del sistema de programación de tareas Python no solo admite múltiples procesos, sino que el submódulo de administradores también admite la distribución de múltiples procesos. a varias máquinas.
Las empresas se utilizan principalmente para resolver: comprensión popular y gestión por lotes de tareas programadas en crontab. Principio: los usuarios configuran tareas a través de la página web y las transmiten al cliente en el servidor del sistema de programación de tareas. El cliente recopila datos y los envía al servidor. El servidor programa el servidor del clúster back-end para realizar las tareas programadas. contenido específico de la tarea.
Un proceso de servicio puede servir como programador, distribuyendo tareas a múltiples procesos en muchas otras máquinas, confiando en la comunicación de red. Pensando en esto, me preguntaba si podría usar este módulo para implementar un sistema simple de programación de trabajos.
Sexto: sistema de proceso de operación y mantenimiento de Python
La plataforma de flujo de trabajo de programación y monitoreo escrita en lenguaje Python se utiliza internamente para crear, monitorear y ajustar canalizaciones de datos. Cualquier flujo de trabajo puede ejecutarse en esta plataforma escrita en Python.
Las empresas se utilizan principalmente para resolver: en términos simples, es el concepto de estandarizar las operaciones de operación y mantenimiento, agregar aprobación y operaciones paso a paso.
Es una herramienta que permite a los desarrolladores de flujos de trabajo crear, mantener y programar periódicamente flujos de trabajo en ejecución (es decir, gráficos acíclicos dirigidos o DAG) fácilmente. Estos flujos de trabajo incluyen casos de uso en múltiples departamentos, como almacenamiento de datos, análisis de crecimiento, envío de correo electrónico, pruebas A/B, etc.
Esta plataforma tiene la capacidad de interactuar con Hive, Presto, MySQL, HDFS, Postgres y S3, y proporciona ganchos para hacer que el sistema sea altamente escalable. Además de una interfaz de línea de comandos, la herramienta también proporciona una interfaz de usuario basada en web que le permite visualizar dependencias de canalizaciones, monitorear el progreso, activar tareas y más.
Un breve resumen