fbpx
Wikipedia

SystemTap

En informática, SystemTap (stap) es un lenguaje de script y herramienta para la instrumentación dinámica para sistemas operativos en producción basados en el núcleo Linux. Los administradores del sistema pueden usar SystemTap para extraer, filtrar y resumir datos para permitir el diagnóstico de problemas complejos de rendimiento o funcionales.

SystemTap
Información general
Tipo de programa aplicación informática
Licencia GNU General Public License
Información técnica
Programado en C++
Plataformas admitidas Linux
Versiones
Última versión estable 4.2
Enlaces
Sitio web oficial
Repositorio de código

SystemTap consiste en software libre y de código abierto e incluye contribuciones de Red Hat, IBM, Intel, Hitachi, Oracle y otros miembros de la comunidad.[1]

Historia

SystemTap debutó en 2005 en Red Hat Enterprise Linux 4 Update 2 como una vista previa de la tecnología.[2]

Después de cuatro años de desarrollo, SystemTap 1.0 se lanzó en 2009.[3]

A 2011, SystemTap es totalmente compatible con todas las distribuciones de Linux, incluyendo RHEL/CentOS 5[4]​ desde la actualización 2, SLES 10, [5]Fedora, Debian y Ubuntu.

Se agregaron puntos de rastreo en el CPython VM y JVM en SystemTap 1.2.[6]

Uso

Los archivos de SystemTap se escriben en el lenguaje de SystemTap[7]​ (se guardan como archivos .stp) y se ejecutan con la línea de comandos stap.[8]​ El sistema lleva a cabo una serie de pases de análisis en el script antes de permitir que se ejecute. Los scripts pueden ejecutarse con uno de los tres backends seleccionados por la opción --runtime=. El valor predeterminado es un módulo de kernel, que tiene la capacidad más completa para inspeccionar y manipular cualquier parte del sistema y, por lo tanto, requiere el mayor privilegio. Otro backend se basa en la biblioteca de análisis dinámico de programas DynInst para instrumentar los propios programas de espacio de usuario y requiere el menor privilegio. El backend más reciente[9]​ se basa en el byte-code eBPF, está limitado a las capacidades del intérprete del kernel de Linux y requiere un nivel de privilegio intermedio. En cada caso, el módulo se descarga cuando el script ha terminado de ejecutarse.

Los scripts generalmente se enfocan en eventos (como iniciar o finalizar un script), puntos de sondeo compilados como los "puntos de rastreo" de Linux, o la ejecución de funciones o sentencias en el kernel o espacio de usuario.

Algunos scripts de "modo de gurú" también pueden tener código C incrustado, que puede ejecutarse con la opción de línea de comandos -g . Sin embargo, se desaconseja el uso del modo guru, y cada versión de SystemTap incluye más puntos de prueba diseñados para eliminar la necesidad de scripts en modo guru. Se requiere el modo Guru para permitir que los scripts modifiquen el estado en el software instrumentado, como para aplicar algunos tipos de soluciones de seguridad de emergencia.

A partir de la versión 1.7 de SystemTap, el software implementa el nuevo grupo stapsys y el nivel de privilegio correspondiente.[10]

Ejemplos simples

La siguiente secuencia de comandos muestra todas las aplicaciones que configuran las opciones de socket TCP en el sistema, qué opciones se están configurando y si la opción se configuró con éxito o no:

# Show sockets setting options # Return enabled or disabled based on value of optval function getstatus(optval) { if ( optval == 1 ) return "enabling" else return "disabling" } probe begin { print ("\nChecking for apps setting socket options\n") } # Set a socket option probe tcp.setsockopt { status = getstatus(user_int($optval)) printf (" App '%s' (PID %d) is %s socket option %s... ", execname(), pid(), status, optstr) } # Check setting the socket option worked probe tcp.setsockopt.return { if ( ret == 0 ) printf ("success") else printf ("failed") printf ("\n") } probe end { print ("\nClosing down\n") } 

Muchos otros ejemplos se envían con SystemTap.[11]​ También hay ejemplos reales del uso de SystemTap en la página de War Stories.[12]

Importación de scripts desde otras tecnologías de rastreo.

SystemTap puede adjuntarse a los marcadores de DTrace cuando se compilan en una aplicación utilizando macros del archivo de encabezado sys/sdt.h

Véase también

Referencias

  1. «A SystemTap update». lwn.net. 
  2. «Product Documentation for Red Hat Enterprise Linux». Red Hat. 
  3. «Josh Stone - SystemTap release 1.0». 
  4. «Product Documentation». Red Hat. 
  5. 60951 (10 de octubre de 2006). «Optional update for SystemTap». Novell. 
  6. «Features/SystemtapStaticProbes - FedoraProject». Fedoraproject. 
  7. https://sourceware.org/systemtap/langref/
  8. Compare Romans, Robb (2009). «SystemTap Language Reference: A guide to the constructs and syntax used in SystemTap scripts» (PDF). Red Hat. Consultado el 19 de diciembre de 2010. «SystemTap [...] requires root privileges to actually run the kernel objects it builds using the sudo command, applied to the staprun program.[...] staprun is a part of the SystemTap package, dedicated to module loading and unloading and kernel-touser data transfer.» 
  9. Merey, Aaron (18 de octubre de 2017). «systemtap 3.2 release». Consultado el 18 de octubre de 2017. «The systemtap team announces release 3.2 [...] early experimental eBPF (extended Berkeley Packet Filter) backend [...]». 
  10. Eigler, Frank Ch. (1 de febrero de 2012). «systemtap 1.7 release». Consultado el 26 de marzo de 2013. «The systemtap team announces release 1.7 [...] The new group and privilege level "stapsys" has been added [...]». 
  11. . Archivado desde el original el 12 de marzo de 2016. Consultado el 24 de julio de 2019. 
  12. «WarStories - Systemtap Wiki». 

Enlaces externos

  • Página de inicio de SystemTap
  • SystemTap Wiki
  • Referencia del lenguaje SystemTap ( PDF )
  • Análisis del proyecto SystemTap por Ohloh
  • Seguimiento dinámico con DTrace y SystemTap
  • Tutorial de Systemtap Frank Ch. Eigler
  • Guía para principiantes de SystemTap Don Domingo, William Cohen
  • Resolución de problemas con Systemtap, 2006
  • Solución de problemas con SystemTap, Eugene Teo, presentado en la Cumbre de Red Hat 2007 ( scripts )
  • Seguimiento dinámico y análisis de rendimiento usando SystemTap, Joshua Stone, presentado en la 2008
  • El tutorial de SystemTap, Jim Keniston, presentado en la Linux Plumbers Conference 2008
  •   Datos: Q4050522

systemtap, informática, stap, lenguaje, script, herramienta, para, instrumentación, dinámica, para, sistemas, operativos, producción, basados, núcleo, linux, administradores, sistema, pueden, usar, para, extraer, filtrar, resumir, datos, para, permitir, diagnó. En informatica SystemTap stap es un lenguaje de script y herramienta para la instrumentacion dinamica para sistemas operativos en produccion basados en el nucleo Linux Los administradores del sistema pueden usar SystemTap para extraer filtrar y resumir datos para permitir el diagnostico de problemas complejos de rendimiento o funcionales SystemTapInformacion generalTipo de programaaplicacion informaticaLicenciaGNU General Public LicenseInformacion tecnicaProgramado enC Plataformas admitidasLinuxVersionesUltima version estable4 2EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata SystemTap consiste en software libre y de codigo abierto e incluye contribuciones de Red Hat IBM Intel Hitachi Oracle y otros miembros de la comunidad 1 Indice 1 Historia 2 Uso 3 Ejemplos simples 4 Importacion de scripts desde otras tecnologias de rastreo 5 Vease tambien 6 Referencias 7 Enlaces externosHistoria EditarSystemTap debuto en 2005 en Red Hat Enterprise Linux 4 Update 2 como una vista previa de la tecnologia 2 Despues de cuatro anos de desarrollo SystemTap 1 0 se lanzo en 2009 3 A 2011 SystemTap es totalmente compatible con todas las distribuciones de Linux incluyendo RHEL CentOS 5 4 desde la actualizacion 2 SLES 10 5 Fedora Debian y Ubuntu Se agregaron puntos de rastreo en el CPython VM y JVM en SystemTap 1 2 6 Uso EditarLos archivos de SystemTap se escriben en el lenguaje de SystemTap 7 se guardan como archivos stp y se ejecutan con la linea de comandos stap 8 El sistema lleva a cabo una serie de pases de analisis en el script antes de permitir que se ejecute Los scripts pueden ejecutarse con uno de los tres backends seleccionados por la opcion runtime El valor predeterminado es un modulo de kernel que tiene la capacidad mas completa para inspeccionar y manipular cualquier parte del sistema y por lo tanto requiere el mayor privilegio Otro backend se basa en la biblioteca de analisis dinamico de programas DynInst para instrumentar los propios programas de espacio de usuario y requiere el menor privilegio El backend mas reciente 9 se basa en el byte code eBPF esta limitado a las capacidades del interprete del kernel de Linux y requiere un nivel de privilegio intermedio En cada caso el modulo se descarga cuando el script ha terminado de ejecutarse Los scripts generalmente se enfocan en eventos como iniciar o finalizar un script puntos de sondeo compilados como los puntos de rastreo de Linux o la ejecucion de funciones o sentencias en el kernel o espacio de usuario Algunos scripts de modo de guru tambien pueden tener codigo C incrustado que puede ejecutarse con la opcion de linea de comandos g Sin embargo se desaconseja el uso del modo guru y cada version de SystemTap incluye mas puntos de prueba disenados para eliminar la necesidad de scripts en modo guru Se requiere el modo Guru para permitir que los scripts modifiquen el estado en el software instrumentado como para aplicar algunos tipos de soluciones de seguridad de emergencia A partir de la version 1 7 de SystemTap el software implementa el nuevo grupo stapsys y el nivel de privilegio correspondiente 10 Ejemplos simples EditarLa siguiente secuencia de comandos muestra todas las aplicaciones que configuran las opciones de socket TCP en el sistema que opciones se estan configurando y si la opcion se configuro con exito o no Show sockets setting options Return enabled or disabled based on value of optval function getstatus optval if optval 1 return enabling else return disabling probe begin print nChecking for apps setting socket options n Set a socket option probe tcp setsockopt status getstatus user int optval printf App s PID d is s socket option s execname pid status optstr Check setting the socket option worked probe tcp setsockopt return if ret 0 printf success else printf failed printf n probe end print nClosing down n Muchos otros ejemplos se envian con SystemTap 11 Tambien hay ejemplos reales del uso de SystemTap en la pagina de War Stories 12 Importacion de scripts desde otras tecnologias de rastreo EditarSystemTap puede adjuntarse a los marcadores de DTrace cuando se compilan en una aplicacion utilizando macros del archivo de encabezado sys sdt hVease tambien Editar Portal Software libre Contenido relacionado con Software libre Kernel maker DProbes LTTng strace ProbeVueReferencias Editar A SystemTap update lwn net Product Documentation for Red Hat Enterprise Linux Red Hat Josh Stone SystemTap release 1 0 Product Documentation Red Hat 60951 10 de octubre de 2006 Optional update for SystemTap Novell Features SystemtapStaticProbes FedoraProject Fedoraproject https sourceware org systemtap langref Compare Romans Robb 2009 SystemTap Language Reference A guide to the constructs and syntax used in SystemTap scripts PDF Red Hat Consultado el 19 de diciembre de 2010 SystemTap requires root privileges to actually run the kernel objects it builds using the sudo command applied to the staprun program staprun is a part of the SystemTap package dedicated to module loading and unloading and kernel touser data transfer Merey Aaron 18 de octubre de 2017 systemtap 3 2 release Consultado el 18 de octubre de 2017 The systemtap team announces release 3 2 early experimental eBPF extended Berkeley Packet Filter backend Eigler Frank Ch 1 de febrero de 2012 systemtap 1 7 release Consultado el 26 de marzo de 2013 The systemtap team announces release 1 7 The new group and privilege level stapsys has been added SystemTap Examples Archivado desde el original el 12 de marzo de 2016 Consultado el 24 de julio de 2019 WarStories Systemtap Wiki Enlaces externos EditarPagina de inicio de SystemTap SystemTap Wiki Referencia del lenguaje SystemTap PDF Analisis del proyecto SystemTap por Ohloh Seguimiento dinamico con DTrace y SystemTap Tutorial de Systemtap Frank Ch Eigler Guia para principiantes de SystemTap Don Domingo William Cohen Resolucion de problemas con Systemtap Ottawa Linux Symposium 2006 Solucion de problemas con SystemTap Eugene Teo presentado en la Cumbre de Red Hat 2007 scripts Seguimiento dinamico y analisis de rendimiento usando SystemTap Joshua Stone presentado en la Conferencia LinuxWorld 2008 El tutorial de SystemTap Jim Keniston presentado en la Linux Plumbers Conference 2008 Datos Q4050522 Obtenido de https es wikipedia org w index php title SystemTap amp oldid 129300326, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos