Monitorización En OpenSolaris

2,020 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,020
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Monitorización En OpenSolaris

  1. 1. Monitorización en OpenSolaris Víctor M. Fernández Comunidad OpenSolaris Hispano http://vfernandezg.blogspot.com vfernandezg@gmail.com
  2. 2. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  3. 3. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  4. 4. Un poco de historia OpenSolaris nace en Junio de 2005 ● TM Base de desarrollo de Solaris 11 (Nevada) ● ● Licencia CDDL de código abierto aprobada por la OSI (Open Source Initiative) ● Creación del portal opensolaris.org (proyectos: http://www.opensolaris.org/os/projects comunidades: http://www.opensolaris.org/os/communities) Creación de grupos de usuarios locales ● ● La innovación y el conocimiento están en marcha
  5. 5. Un poco de historia - Licencia CDDL
  6. 6. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  7. 7. Que es OpenSolaris? Proyecto de código abierto patrocinado ● inicialmente por Sun Microsystems Esfuerzo por unir a las comunidades de ● desarrolladores de cualquier organización de tipo Open Source Cualquiera puede contribuir en el código de ● OpenSolaris y mejorar la tecnología de las distribuciones -> OpenGrok
  8. 8. Distribuciones Binarias SolarisTM 10 5/08 ● ● SXCE Build 91 (Hypervisor xVM <- Xen) Solaris Express Community Edition ● SXDE 1/08 (xVM, SAMP, CIFS + NetBeans 6, Sun Studio 12 y DLight) Solaris Express Developer Edition ● Nexenta (Solaris kernel + Entorno usuario / paquetes estilo Ubuntu) Polaris (PowerPC) ● ● Belenix, SchilliX y Damm Small (Live CD) ● marTux (Live DVD - Sparc)
  9. 9. Distribuciones Binarias - INDIANA Producto final de usuario ● ● Binario compilado por la comunidad ● Live CD/DVD, con posibilidad de instalación ● Actualización via repositorios online ● Nuevo instalador gráfico (Caiman) ● Sistema de paquetes al estilo apt ● (IPS: Image Packaging System) ● Distribution Constructor Toolkit ● (Contruye tu propia distribucion) ● 100% redistribuíble... GPLv3?
  10. 10. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  11. 11. Negocio
  12. 12. Tecnologías Gestión de la Capacidad: ● ✔ LOCAL: Ordenes del sistema: ➢ vmstat, iostat, mpstat, sar y prstat ➢ Extensiones del DTRACE Toolkit ✔ REMOTA: dim_STAT (GPL) ➢ Gestión a través de agentes ➢ Sistemas gestionados: OpenSolaris/Linux ✔ REMOTA: Cacti (GPL) ➢ Gestión, a través de SNMP v1/2/3 ➢ Sistemas OpenSolaris/Linux/Windows...
  13. 13. Tecnologías Gestión de la Disponibilidad: ● ✔ LOCAL y REMOTA: WebMIN (BSD) ➢ Gestión a través de conectores ✔ REMOTA: Nagios (GPL) ➢ Gestión a través de conectores y agentes ➢ Orientado a medir y evaluar el servicio ● Gestión de la Configuración: ✔ Completa: OneCMDB (GPL) ➢ Inventario de todos los activos IT ➢ Relacciones y vinculos entre los CI
  14. 14. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  15. 15. Gestión de la Capacidad Ordenes del sistema: ● ✔ vmstat => consumo Memoria y Swap ✔ iostat => consumo acceso a Discos ✔ mpstat => consumo global CPU ✔ sar => conjunto de las anteriores, planificado segun el gestor de tareas cron: # crontab -l sys 0 * * * 0-6 /usr/lib/sa/sa1 20,40 8-17 * * 1-5 /usr/lib/sa/sa1 5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A prstat => consumo CPU y estado / proceso ✔
  16. 16. Gestión de la Capacidad Extensiones del DTRACE Toolkit ● cpuwalk.d - Identifica si un proceso esta corriendo en ✔ multiples CPUs de forma concurrente o no. ✔ iotop: Similar al conocido top, mostrando la utilización de los discos, por distintos procesos del sistema ✔ diskhits: Muestra la carga del sistema, similar a uptime ✔ xvmstat: Versión mejorada de vmstat, que muestra la memoria libre y uso del área de swap ✔ tcpstat.d: Estadisticas del uso de la pila TCP ✔ udpstat.d: Estadisticas del uso de la pila UDP ✔ httpdstat.d: Estadisticas de peticiones GET, POST, HEAD y TRACE recibidas por Apache
  17. 17. Gestión de la Capacidad - dim_STAT Arquitectura Web Bicapa ●
  18. 18. Gestión de la Capacidad - dim_STAT # gzip -d dim_STAT-v81-sol86.tar.gz (Server) # tar -xvf dim_STAT-v81-sol86.tar # ./INSTALL.sh # ls -ltr /etc/rc2.d/S* /etc/rc2.d/S99dimstat -> /apps/ADMIN/dim_STAT-Server # cd /apps/httpd/bin # ./htpasswd -c /apps/httpd/etc/.htpasswd vfernandezg # cat > /apps/httpd/home/cgi-bin/.htaccess AuthName quot;Welcome to dim_STAT Hostquot; AuthType Basic AuthUserFile /apps/httpd/etc/.htpasswd require valid-user # cp .htaccess /apps/httpd/home/docs
  19. 19. Gestión de la Capacidad - dim_STAT # cd /apps/ADMIN/ (Server) # ./dim_STAT-Server start ============[ dim_STAT-Server: start ]============ Starting... Starting mysqld daemon with databases from /apps/mysql/data Done. Starting HTTP server from: /apps/httpd Done. =========[ dim_STAT-Server: start -- done. ]======== # netstat -an|grep -i listen *.22 *.* 0 0 49152 0 LISTEN *.3306 *.* 0 0 49152 0 LISTEN *.80 *.* 0 0 49152 0 LISTEN
  20. 20. Gestión de la Capacidad - dim_STAT # pkgadd -d STATsrv-Sol86.pkg (Agente) # ls -ltr /etc/rc2.d/S* /etc/rc2.d/S99stat-srv -> /etc/STATsrv/STAT-service # cd /etc/STATsrv # vi access access 10.73.130.71 # /etc/STATsrv/STAT-service start Start STAT-service... port: 5000 access log: /etc/STATsrv/log/access.log # netstat -an|grep -i listen *.22 *.* 0 0 49152 0 LISTEN *.5000 *.* 0 0 49152 0 LISTEN
  21. 21. Gestión de la Capacidad - dim_STAT
  22. 22. Gestión de la Capacidad - dim_STAT Identificar los sistemas gestionados ✔ ● ● Arrancar el agente de cada uno de ellos ● Declararlos en el lado del Servidor
  23. 23. Gestión de la Capacidad - dim_STAT ✔
  24. 24. Gestión de la Capacidad - dim_STAT ✔
  25. 25. Gestión de la Capacidad - dim_STAT Dos métodos de monitorización: ✔ ● ✔ Sistemas por separado (CPU, RAM, Zonas...) ✔ Sistemas de forma conjunta (Discos, Red...)
  26. 26. Gestión de la Capacidad - dim_STAT ✔
  27. 27. Gestión de la Capacidad - dim_STAT ✔
  28. 28. Gestión de la Capacidad - dim_STAT ✔
  29. 29. Gestión de la Capacidad - dim_STAT ✔
  30. 30. Gestión de la Capacidad - Cacti (Agente) Monitorización en base a protocolos de la pila UDP ● ● Necesario en los sistemas a gestionar, un agente SNMP v1, 2 y 3. (www.sunfreeware.com) # gzip -d netsnmp-5.4.1.1-sol10-x86-local.gz # pkgadd -d netsnmp-5.4.1.1-sol10-x86-local (http://www.blastwave.org/) # pkgadd -d http://www.blastwave.org/pkg_get.pkg # vi /opt/csw/etc/pkg-get.conf url=http://blastwave.network.com/csw/unstable # /opt/csw/bin/pkg-get -i wget # /opt/csw/bin/pkg-get -i netsnmp
  31. 31. Gestión de la Capacidad - Cacti (Agente) # /opt/csw/sbin/snmpd -c /opt/csw/etc/snmpd.conf # ps -fea|grep snmp 1806 /opt/csw/sbin/snmpd -c /opt/csw/etc/snmpd.conf # netstat -an UDP: IPv4 Local Address Remote Address State -------------------- -------------------- ---------- *.* Unbound *.161 Idle # ./snmpwalk -v 1 -c public 10.73.130.71 .1.3.6.1.2.1.2.2 .1.2 IF-MIB::ifDescr.1 = STRING: lo0 IF-MIB::ifDescr.2 = STRING: pcn0
  32. 32. Gestión de la Capacidad - Cacti (Server) Necesitamos un entorno de tipo SAMP, es decir un ● Servidor Web de tipo Apache, con plugging de Php y a su vez este último con el modulo de Mysql. # gzip -d cacti-0.8.7b.tar.gz # cd /var/apache2/2.2/htdocs/ # tar -xvf cacti-0.8.7b.tar # /usr/mysql/5.0/bin/mysqladmin -u root -p create cacti # /usr/mysql/5.0/bin/mysql cacti < cacti.sql # /usr/mysql/5.0/bin/mysql -u root -p mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword'; mysql> flush privileges;
  33. 33. Gestión de la Capacidad - Cacti (Server) Una vez alojado el producto, configuramos la ● conexión a la BBDD en cuestión: # vi cacti/include/config.php $database_type = quot;mysqlquot;; $database_default = quot;cactiquot;; $database_hostname = quot;localhostquot;; $database_username = quot;cactiuserquot;; $database_password = quot;somepasswordquot;; $database_port = quot;3306quot;; # chown -R webservd:webservd cacti/rra/ cacti/log/ # crontab -l * * * * * php /var/../htdocs/cacti/poller.php > /dev/null 2>&1
  34. 34. Gestión de la Capacidad - Cacti
  35. 35. Gestión de la Capacidad - Cacti
  36. 36. Gestión de la Capacidad - Cacti
  37. 37. Gestión de la Capacidad - Cacti
  38. 38. Gestión de la Capacidad - Cacti
  39. 39. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  40. 40. Gestión de la Disponibilidad - WebMIN # pkg install SUNWwebmin <= ¡ IPS ! ✔ # webminsetup *********************************************************************** Webmin has been installed and started successfully. Use your web browser to go to http://opensolaris:10000/ and login with the name and password you entered previously. # svcadm enable webmin <= ¡ SMF ! # svcs webmin STATE STIME FMRI online 11:42:19 svc:/application/management/webmin:default # netstat -an|grep -i listen *.22 *.* 0 0 49152 0 LISTEN *.10000 *.* 0 0 49152 0 LISTEN
  41. 41. Gestión de la Disponibilidad - WebMIN
  42. 42. Gestión de la Disponibilidad - WebMIN Monitorización
  43. 43. Gestión de la Disponibilidad - WebMIN
  44. 44. Gestión de la Disponibilidad - WebMIN Monitorización
  45. 45. Gestión de la Disponibilidad - WebMIN
  46. 46. Gestión de la Disponibilidad - WebMIN
  47. 47. Gestión de la Disponibilidad - WebMIN
  48. 48. Gestión de la Disponibilidad - WebMIN
  49. 49. Gestión de la Disponibilidad - WebMIN
  50. 50. Gestión de la Disponibilidad - Nagios (http://www.blastwave.org/) ✔ # /opt/csw/bin/pkg-get -i nagios # /opt/csw/bin/pkg-get -i nagiosp # svcs cswnagios <= ¡ SMF ! STATE STIME FMRI disabled 21:05:39 svc:/application/cswnagios:default # ./check_ssh -H opensolaris SSH OK - Sun_SSH_1.2 (protocol 2.0) # cat > /opt/csw/nagios/sbin/.htaccess AuthName quot;Nagios Accessquot; AuthType Basic AuthUserFile /opt/csw/nagios/etc/htpasswd.users require valid-user
  51. 51. Gestión de la Disponibilidad - Nagios # cd /opt/csw/apache/bin ✔ # ls /opt/csw/nagios/etc hosts.cfg hostgroups.cfg contacts.cfg contactgroups.cfg commands.cfg services.cfg resource.cfg cgi.cfg nagios.cfg # cat /opt/csw/apache/conf/httpd.conf ScriptAlias /nagios/cgi-bin/ quot;/opt/csw/nagios/sbin/quot; Alias /nagios quot;/opt/csw/nagios/sharequot; <Directory quot;/opt/csw/nagios/sbin/quot;> AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all </Directory>
  52. 52. Gestión de la Disponibilidad - Nagios # ./htpasswd -c /opt/csw/nagios/etc/htpasswd.users ✔ admin # /opt/csw/apache/bin/apachectl start # netstat -an|grep -i listen *.22 *.* 0 0 49152 0 LISTEN *.443 *.* 0 0 49152 0 LISTEN *.80 *.* 0 0 49152 0 LISTEN # svcadm enable cswnagios # svcs cswnagios STATE STIME FMRI online 23:44:40 svc:/application/cswnagios:default # ps -fea|grep nagios 3985 /opt/csw/../nagios -d /opt/csw/nagios/etc/nagios.cfg
  53. 53. Gestión de la Disponibilidad - Nagios ✔
  54. 54. Gestión de la Disponibilidad - Nagios ✔
  55. 55. Gestión de la Disponibilidad - Nagios ✔
  56. 56. Gestión de la Disponibilidad - Nagios ✔
  57. 57. Gestión de la Disponibilidad - Nagios ✔
  58. 58. Gestión de la Disponibilidad - Nagios ✔
  59. 59. Gestión de la Disponibilidad - Nagios ✔
  60. 60. Gestión de la Disponibilidad - Nagios ✔
  61. 61. Gestión de la Disponibilidad - Nagios ✔
  62. 62. Gestión de la Disponibilidad - Nagios ✔
  63. 63. Gestión de la Disponibilidad - Nagios ✔
  64. 64. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  65. 65. Gestión de la Configuración-OneCMDB Arquitectura Web Tricapa ● Presentación Lógica Datos
  66. 66. Gestión de la Configuración-OneCMDB Problematica: ● ✔ Unicamente disponible bajo Linux / Windows ● Solución: ✔ Zonas de tipo BrandZ <= ¡ Virtualización ! # zonecfg -z zonelx zonecfg:zonelx> create -t SUNWlx zonecfg:zonelx> set zonepath=/opt/zones zonecfg:zonelx> add net zonecfg:zonelx:net> set address=10.73.130.73/24 zonecfg:zonelx:net> set physical=pcn0 zonecfg:zonelx:net> end zonecfg:zonelx> commit zonecfg:zonelx> exit
  67. 67. Gestión de la Configuración-OneCMDB # zoneadm -z zonelx install -d /export/home/un38134/centos_fs_image.tar.bz2 # zoneadm -z zonelx boot # zlogin zonelx [Connected to zone 'zonelx' pts/3] # uname -a Linux zonelx 2.4.21 BrandZ fake linux i686 i386 GNU/Linux # zfs list <= ¡ ZFS ! NAME USED AVAIL REFER MOUNTPOINT rpool/ROOT/opensolaris/opt/zones 1,58G 520M 1,58G /opt/zones # zoneadm list -cv 0 global running / native shared 1 zonelx running /opt/zones lx share
  68. 68. Gestión de la Configuración-OneCMDB # zlogin zonelx [Connected to zone 'zonelx' pts/3] # cd /opt/onecmdb # tar -zxvf onecmdb-1.4.0-Beta-linux.i386.tar.gz # cd /opt/onecmdb/bin # ./onecmdb.sh start Using CATALINA_BASE: /opt/onecmdb/tomcat Using CATALINA_HOME: /opt/onecmdb/tomcat Using CATALINA_TMPDIR: /opt/onecmdb/tomcat/temp Using JRE_HOME: /opt/onecmdb/jre ---------------------------------------------------------------------- To open the OneCMDB Web GUI, point your browser to http://localhost:8080
  69. 69. Gestión de la Configuración-OneCMDB DESIGNER
  70. 70. Gestión de la Configuración-OneCMDB SERVICIO SaaS: CRM
  71. 71. Gestión de la Configuración-OneCMDB COMPAÑIA (Contrato)
  72. 72. Gestión de la Configuración-OneCMDB CONTACTO
  73. 73. Gestión de la Configuración-OneCMDB “CI” HARDWARE: SERVICIO - CRM
  74. 74. Gestión de la Configuración-OneCMDB “CI” SOFTWARE SISTEMA: SERVICIO - CRM
  75. 75. Gestión de la Configuración-OneCMDB “CI-1” SOFTWARE BASE: SERVICIO - CRM
  76. 76. Gestión de la Configuración-OneCMDB CI-3 CI-2
  77. 77. Gestión de la Configuración-OneCMDB USER
  78. 78. Gestión de la Configuración-OneCMDB
  79. 79. Agenda Historia ● Que es OpenSolaris? ● Negocio – Tecnologías ● Gestión de la Capacidad ● Gestión de la Disponibilidad ● Gestión de la Configuración ● Recursos e información ●
  80. 80. Recursos e información - ¡ Unete ! Portal internacional opensolaris.org ● => (http://opensolaris.org) kit de inicio OpenSolaris (KIOPS) ● => (http://get.opensolaris.org/) Portal OpenSolaris Hispano ● => (http://es.opensolaris.org) Lista de distribución OpenSolaris Hispano ● (http://mail.opensolaris.org/mailman/listinfo/ug-sposug) Canal IRC OpenSolaris Hispano ● => (irc://irc.freenode.net/opensolaris-es) OpenSolaris Day 08 y más... ●
  81. 81. Gracias ! Víctor M. Fernández Comunidad OpenSolaris Hispano http://vfernandezg.blogspot.com vfernandezg@gmail.com

×