24.6 C
Colombia
domingo, julio 6, 2025

Cómo aprovechamos a Splunk para resolver desafíos de purple reales


Mayo es el mes de observabilidad, el momento perfecto para aprender sobre Splunk y la observabilidad. Obtenga más información en nuestro último episodio de “¿Qué hay de nuevo en Cisco U.?” (¡Desplácese hasta el last del weblog para ver ahora!)


Como parte del equipo de operaciones de infraestructura de Cisco, proporcionamos los laboratorios interactivos que los usuarios ejecutan en Cisco U. y lo usan en cursos dirigidos por teacher a través de Cisco y Cisco Studying Companions. Actualmente ejecutamos dos centros de datos que contienen los sistemas de entrega para todos esos laboratorios, y entregamos miles de laboratorios diariamente.

Nuestro objetivo es entregar un entorno de laboratorio confiable y eficiente a cada estudiante. Mucho está sucediendo detrás de escena para que esto suceda, incluido el monitoreo. Una forma importante de rastrear la salud de nuestra infraestructura es analizando los registros.

Al elegir infraestructura y herramientas, nuestra filosofía es “comer nuestra propia comida para perros” (o “beber nuestro propio champán”, si lo prefiere). Eso significa que usamos productos Cisco en todas partes posibles. Routers Cisco, Switches, Servidores, Registrador de Community Cisco Prime, Cisco Umbrella para DNS Administration, Cisco Id Companies Engine para autenticación y autorización. Obtienes la imagen.

Utilizamos un software program de terceros para algunos de nuestro análisis de registro para rastrear la entrega de laboratorio. Nuestros sistemas de entrega de laboratorio (LDS) se desarrollan internamente y utilizan mensajes de registro que son completamente exclusivos para ellos. Comenzamos a usar Elasticsearch hace varios años, con casi cero experiencia previa, y me llevó muchos meses poner en funcionamiento nuestro sistema.

¡Entonces Cisco compró Splunk, y Splunk de repente fue nuestro champán! Fue entonces cuando hicimos la llamada para migrar a Splunk.

El dinero también jugó un papel. Nuestro interno en Cisco había comenzado a ofrecer Splunk Enterprise como servicio (EAAS) a un precio mucho más bajo que nuestras instancias de la nube de Elasticsearch de origen externamente. Con Elasticsearch, tuvimos que arquitectar y administrar todas las máquinas virtuales que conformaron una pila elástica completa, pero el uso de Splunk EaaS nos ahorró mucho tiempo. (Por cierto, cualquiera puede desarrollarse en Splunk Enterprise durante seis meses free of charge registrándose en Splunk> Dev.) Sin embargo, comenzamos con una capacitación previa limitada.

Tuvimos varios meses para la transición, por lo que aprender a Splunk fue nuestro primer objetivo. No nos centramos en el caso de uso único. En cambio, enviamos todos nuestros registros, no solo nuestros registros SUD, a Splunk. Configuramos enrutadores, interruptores, ISE, ASAS, servidores Linux, Balancers de carga (NGINX), servidores net (Ruby on Rails) y más. (Consulte el Apéndice para obtener más detalles sobre cómo obtuvimos los datos en Splunk Enterprise).

Básicamente estábamos recolectando un fregadero de la cocina y usándolos para aprender más sobre Splunk. Necesitábamos habilidades de desarrollo básicas como usar el Lenguaje de procesamiento de búsqueda de Splunk (SPL)construyendo alarmas y creando paneles. (Consulte los recursos para una lista de los recursos de aprendizaje en los que confiamos).

Monitoreo de equipos de purple

Utilizamos SNMP para monitorear nuestros dispositivos de purple, pero aún tenemos muchos sistemas de la period Configurar y todos los dispositivos por mano. Las configuraciones están por todas partes. Y el antiguo sistema de interfaz de usuario del sistema NMS es torpe. Con Splunk, construimos un sistema alternativo y más actualizado con configuraciones de registro directas en los dispositivos. Utilizamos el Splunk Join para Syslog (SC4S) como preprocesador para los registros de estilo syslog. (Consulte el Apéndice para obtener más detalles sobre SC4S).

Una vez que nuestros registros de enrutadores y conmutadores llegaron a Splunk Enterprise, comenzamos a aprender y experimentar con el lenguaje de procesamiento de búsqueda de Splunk. Estábamos en funcionamiento después de dominar algunas reglas y funciones básicas de sintaxis. El apéndice enumera cada función SPL que necesitábamos para completar los proyectos descritos en este weblog.

Rápidamente aprendimos a construir alertas; Esto fue intuitivo y requirió poca capacitación. Inmediatamente recibimos una alerta sobre una fuente de alimentación. Alguien en el laboratorio había desconectado el cable de alimentación accidentalmente. El tiempo entre recibir registros iniciales en Splunk y tener una alarma de trabajo fue muy corto.

Ataques a nuestros sistemas de orientación pública

Durante el verano, tuvimos una disaster sospechosa en la interfaz net para nuestro sistema de programación. Después de un tiempo tedioso estudiando registros, encontramos un gran ataque de guión de kiddie contra el equilibrador de carga (el lado público de nuestro planificador). Resolvimos el problema inmediato al agregar algunas conexiones a los sistemas internos del equilibrador de carga.

Luego investigamos más cargando registros de Nginx archivados desde el equilibrador de carga a Splunk. Esto fue notablemente fácil con el Reense Common (ver Apéndice). Usando esos registros, construimos un tablero easy, que reveló que los ataques de Script-Kiddie a pequeña escala estaban ocurriendo todo el tiempo, por lo que decidimos usar Splunk para cerrar de manera proactiva a estos malos actores. Masteramos usando el comando valioso estadísticas en SPL y configuramos algunas alertas nuevas. Hoy, tenemos un sistema de alerta que detecta todos los ataques y una respuesta rápida para bloquear las fuentes.

Automatización fuera de management

Observamos nuestros registros de ISE y volvimos a nuestras nuevas habilidades SPL y tablero para ayudarnos a ensamblar rápidamente cuadros de éxitos y fallas de inicio de sesión. Inmediatamente notamos un patrón sospechoso de fallas de inicio de sesión por una cuenta de usuario en specific que fue utilizada por la automatización de copias de seguridad para nuestros dispositivos de purple. Un poco de excavación reveló que la automatización estaba mal configurada. Con un easy ajuste a las configuraciones, el ruido había desaparecido.

Slip-ups humanos

Como parte de nuestra gestión de centros de datos, utilizamos Netbox, una base de datos diseñada específicamente para la documentación de purple. Netbox tiene docenas de tipos de objetos para cosas como dispositivos de {hardware}, máquinas virtuales y componentes de purple como VLAN, y mantiene un cambio de cambio para cada objeto en la base de datos. En la interfaz de usuario de Netbox, puede ver estos registros de cambio y hacer algunas búsquedas simples, pero queríamos más información sobre cómo se cambiaba la base de datos. Splunk ingirió felizmente los datos formatados en JSON de Netbox, con algunos metadatos de identificación agregados.

Construimos un tablero que muestra los tipos de cambios y quién está haciendo los cambios. También establecemos una alarma para que se apague si se produjeron muchos cambios rápidamente. En unas pocas semanas, la alarma había sonado. Vimos un montón de deleciones, así que fuimos a buscar una explicación. Descubrimos que un trabajador temporal había eliminado algunos dispositivos y los reemplazó. Una verificación cuidadosa reveló reemplazos incompletos (algunas interfaces y direcciones IP se habían dejado). Después de una palabra con el trabajador, los dispositivos se actualizaron correctamente. Y el monitoreo continúa.

Reemplazo de elasticsearch

Después de haber aprendido bastantes habilidades básicas de Splunk, estábamos listos para trabajar para reemplazar Elasticsearch para nuestro monitoreo y estadísticas de entrega de laboratorio.

Primero, necesitábamos obtener los datos, por lo que configuramos el reenvío Common de Splunk para monitorear los registros específicos de la aplicación en todas las partes de nuestro sistema de entrega. Elegimos los valores de SourCeType personalizados para los registros y luego tuvimos que desarrollar extracciones de campo para obtener los datos que estábamos buscando. ¡El tiempo de aprendizaje para este paso fue muy corto! Las extracciones básicas de campo Splunk son solo expresiones regulares aplicadas a eventos basados ​​en el tipo de fuente, fuente o host dado. Las expresiones de campo se evalúan en el momento de la búsqueda. La GUI Splunk Enterprise proporciona una herramienta útil para desarrollar esas expresiones regulares. También utilizamos regex101.com para desarrollar y probar las expresiones regulares. Construimos extracciones que nos ayudaron a rastrear eventos y clasificarlos en función de los identificadores de laboratorio y de los estudiantes.

A veces encontramos problemas relacionados con la disponibilidad de equipos. Supongamos que un usuario de Cisco U. inicia un laboratorio que requiere un conjunto specific de equipos (por ejemplo, un conjunto de interruptores Nexus para la capacitación relacionada con DC), y no hay equipo disponible. En ese caso, reciben un mensaje que cube: “Lo siento, vuelve más tarde” y recibimos un mensaje de registro. En Splunk, creamos una alarma para rastrear cuando esto sucede para poder investigar de manera proactiva. También podemos usar estos datos para la planificación de la capacidad.

Necesitábamos enriquecer nuestros registros con más detalles sobre los laboratorios (como el título y la descripción del laboratorio) y más información sobre los estudiantes que lanzan esos laboratorios (número de reserva, por ejemplo). Rápidamente aprendimos a usar tablas de búsqueda. Solo tuvimos que proporcionar algunos archivos CSV con datos de laboratorio e información de reserva. De hecho, la tabla de búsqueda de reservas se actualiza dinámicamente en Splunk utilizando un informe programado que busca en los registros de nuevas reservas y las agrega a la tabla de búsqueda CSV. Con las búsquedas en su lugar, construimos todos los paneles que necesitábamos reemplazar desde Elasticsearch y más. Construir paneles que se vinculen entre sí y vincular a los informes fue particularmente fácil. Nuestros paneles están mucho más integrados ahora y permiten leer a la perfección las estadísticas de laboratorio.

Como resultado de nuestro enfoque, tenemos algunos paneles nuevos útiles para monitorear nuestros sistemas, y reemplazamos a Elasticsearch, reduciendo nuestros costos. Atrapamos y resolvimos varios problemas mientras aprendemos a Splunk.

Pero apenas hemos arañado la superficie. Por ejemplo, nuestro análisis de registro de ISE podría aumentar mucho más al usar la aplicación Splunk y el complemento de Cisco Id Companies, que se cubre en el tutorial de Cisco U. “Monitoreo de management de acceso a la purple utilizando el motor de servicios de identidad de Cisco y Splunk. ” También estamos considerando implementar nuestra propia instancia de Splunk Enterprise para obtener un mayor management sobre cómo y dónde se almacenan los registros.

Esperamos continuar el viaje de aprendizaje.


Recursos de aprendizaje Splunk

Confiamos en tres recursos principales para aprender Splunk:

  • Splunk’s Capacitación en línea free of chargeespecialmente estos siete cursos cortos:
    • Introducción a Splunk
    • Usando campos
    • Programación de informes y alertas
    • Buscar debajo del capó
    • Introducción a objetos de conocimiento
    • Introducción a los paneles
    • Obtener datos en Splunk
  • Documentación de Splunkespecialmente estas tres áreas:
  • Cisco U.
  • Búsqueda
    • Las búsquedas en Web a menudo lo llevarán a respuestas sobre Splunk’s Comunidad tableros, o puedes ir directamente allí. También encontramos información útil en blogs u otros sitios de ayuda.

Netbox: https://github.com/netboxcommunity/netbox y https://netboxlabs.com

Elasticsearch: https://github.com/elastic/elasticsearch y https://www.elastic.co

Apéndice

Obtener datos en: los metadatos son importantes

Todo comienza en la fuente. Splunk almacena registros como eventos y establece campos de metadatos para cada evento: tiempo, fuente, SourceType y Host. La arquitectura de Splunk permite que las búsquedas con campos de metadatos sean rápidos. Metadatos debe vienen de la fuente. Asegúrese de verificar que los metadatos correctos lleguen de todas sus fuentes.

Obtener datos en: Splunk Common Reenseer

El Splunk Common Reense se puede instalar en Linux, Home windows y otras plataformas estándar. Configuramos algunos sistemas a mano y usamos Ansible para el resto. Estábamos monitoreando los archivos de registro existentes para muchos sistemas, por lo que las configuraciones predeterminadas eran suficientes. Utilizamos Sourcetys personalizados para nuestros SUD, por lo que configurarlos correctamente fue la clave para construir extracciones de campo para registros SUD.

Obtener datos en: Splunk Join para syslog

SC4S está diseñado especialmente Software program libre de Splunk Eso recopila datos de syslog y los reenvía a Splunk con metadatos agregados. El software program subyacente es syslog-ng, pero SC4S tiene su propio paradigma de configuración. Configuramos un SC4S por centro de datos (y agregamos un espera en frío utilizando mantenido). Para nosotros, la configuración de SC4 se configuró adecuadamente fue una parte no trivial del proyecto. Si necesita usar SC4, permita que se configure un tiempo para configurarlo y jugar para obtener la configuración correcta.

Buscando con lenguaje de procesamiento de búsqueda de Splunk

La siguiente es una lista completa de funciones SPL que utilizamos:

  • evaluación
  • campos
  • arriba
  • estadísticas
  • rebautizar
  • timechart
  • mesa
  • añadir
  • desactivar
  • buscar
  • Inputlookup
  • iplocation
  • geostats

Permisos, permisos, permisos

Cada objeto creado en Splunk tiene un conjunto de permisos asignados: cada informe, alarma, extracción de campo y tabla de búsqueda, and so on. Tenga cuidado al configurarlos; Pueden tropezarte. Por ejemplo, puede construir un tablero con permisos que permitan a otros usuarios verlo, pero los paneles generalmente dependen de muchos otros objetos como índices, extracciones de campo e informes. Si los permisos para esos objetos no están configurados correctamente, sus usuarios verán muchos paneles vacíos. Es un dolor, pero los detalles son importantes aquí.

Sumérgete en Splunk, Observabilidad y más este mes en Cisco U. Obtenga más información

Matricularse en Cisco U. | Unirse alPink de aprendizaje de Cisco hoy free of charge.

Siga a Cisco Studying & Certificaciones

incógnita|Trapos| Fb|LinkedIn|Instagram|YouTube

Usar #Ciscou y#Ciscocertpara unirse a la conversación.

Compartir:



Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles