Antartec Blogs

Los blogs oficiales de Antartec

Mumble y Mumblr: Voz sobre IP para trabajo en equipo

Continuando con el artículo anterior sobre Etherpad, en esta ocasión me referiré a otra herramienta de apoyo a equipos distribuidos y que empezó con un propósito mas bien trivial.

Mumble es parte de un proyecto para facilitar conversaciones de audio entre personas conectadas a una misma sala en un servidor . El programa que instalan los usuarios recibe el nombre de Mumble, pero para ser utilizado depende de un servidor remoto denominado Mumblr (o mumble-server).

Captura de pantalla de Mumble

Captura de pantalla de Mumble

Una ventaja crucial

La principal ventaja de esta aplicación es que han sido optimizados para consumir poco ancho de banda. Esto se consigue con una configuración especial de cada usuario para que determine el rango de sonidos que transmitirá y el ruido que deberá eliminarse.

Una vez configurado Mumble, permite conectarse a cualquier servidor Mumblr. En algunos casos necesitarás una clave de acceso (que deberá ser proporcionada por el administrador del servicio). Una vez que te conectes a una sala podrás conversar con los demás vía audio, crear nuevas salas e inclusive grabar la conversación para una revisión posterior.

¿Para que me puede servir?

  • Mumble comenzó siendo usado por equipos en juegos multiusuario, para coordinar sus acciones en los juegos.
  • En la misma línea, Mumble se puede usar para coordinar reuniones de equipos distribuídos en varias partes del globo, en lugar de esperar tenerlos a todos en un mismo salón.
  • Otro uso posible es enseñanza: un profesor puede hablarle a sus alumnos vía una asesoría en Mumble en lugar de tener que tipear todo lo que diría en una sesión de chat.

¿Cómo lo pruebo?

Existen algunos proveedores gratuitos y de pago de servidores Mumblr. También puedes descargar Mumblr para desplegar tu propio servidor.


Entrada original

Etherpad Lite: herramienta imprescindible para notas colaborativas

En los últimos meses he venido haciendo uso de un par de herramientas que, aunque son sencillas de operar, son muy útiles al trabajar en equipos distribuidos geográficamente.

La primera de estas herramientas es Etherpad. Se trata de un software libre con el mismo objetivo que el desaparecido Google Wave: la interacción de múltiples personas sobre un mismo documento. Sin embargo, Etherpad centra su atención en compartir solo texto, no otras clases de contenidos multimedia. Es esa simplificación que lo hace sencillísimo de entender y usar.

Captura de pantalla de Etherpad

Captura de pantalla de Etherpad

Algunos usos prácticos

  • Toma de notas en un reunión, que luego pueden ser transferidas a un acta.
  • Brainstorming o lluvia de ideas sobre una propuesta o proyecto.
  • Coordinaciones asíncronas entre varias personas.

¿Cómo lo uso?

Hay algunos servidores públicos donde cualquier persona puede crea un Etherpad, modificarlo y permitir la edición de otras personas. Estos servicios no permiten crear Etherpads privados, con lo cual lo que escribas será totalmente público.

¿Y si quiero tener mi propio servicio Etherpad?

En ese caso la respuesta no es sencilla. Debes saber que existen dos versiones de Etherpad, la ‘original’ o inicialmente desarrollada, y que hace uso de varios programas de los cuales depende para brindar un servicio de alta disponibilidad.

También existe Etherpad Lite, un proyecto de una versión ligera y reciente de Etherpad, diseñada para hacerle la vida más fácil al administrador que tenga que instalarlo. Esta versión es la que sigue en desarrollo.


Entrada original

Cinco preguntas sobre software libre

¿Software libre = Software gratis?

NO. Software gratis son aquellos programas que te consigues gratuitamente (y de manera legal). Software libre es todo programa que cumple cuatro requisitos: que puedes usar libremente, que puedes ver cómo fue construido (su código fuente), que puedes copiar las veces que quieras y que puedes mejorar (o pedir que alguien lo adapte para ti).

Las empresas de software libre por lo general dejan que sus programas sean gratis, pero cobran por servicios añadidos (básicamente por la mano de obra que realiza la instalación del software, le da soporte técnico o construye mejoras especiales para ti).

¿Software libre = Linux?

NO. Linux es probablemente el software libre más fácil de reconocer, pero hay multitud de programas en software libre que puedes usar inclusive en tu Windows o Mac. Un lugar donde puedes comenzar a ver equivalentes a los programas que ya usas es Alternativas Libres http://www.freealts.com/ y programas de software libre que puedes llevar en un USB en http://portableapps.com/

¿Linux = Ubuntu?

NO. Ubuntu es una “distribución” o “sabor” de Linux. Imagina a Linux como una base, una mesa a la cual cada persona le coloca objetos encima para darle un uso en particular: la mesa más lo que colocas encima es una “distribución”. Ubuntu es la más popular, pero hay otros Linux para diversas necesidades: servidores, uso educativo, estudios de audio y video, e inclusive en celulares, como Android.

¿Hay virus en Linux?

NO (al menos no reconocidos). Lo que sucede es que los virus que existen en Windows (que son la gran mayoría) no pueden afectar automáticamente a un Linux porque son sistemas totalmente diferentes. Los “antivirus” en Linux en realidad sirven para detectar virus que podrían infectar tu Windows o por ejemplo tu USB.

¿Es complicado el software libre?

Flisol Perú 2012NO. Como cualquier cosa en la vida, todo necesita un cierto tiempo de aprendizaje y adaptación. Lo mismo pasa con los programas nuevos que usamos.

Un programa sencillo con el que puedes comenzar es Mozilla Firefox, un navegador de Internet http://mozilla.org/firefox , y si quieres aprender más sobre software libre puedes esperar al 28 de abril para buscar la sede más cercana a tu casa del FLISOL (Festival Latinoamericano de Instalación de Software Libre) http://flisol.pe


Entrada original

Como es usual en Antartec, seguimos explorando nuevas herramientas y soluciones para nuestros clientes. En los últimos meses pasamos una buena cantidad de tiempo construyendo una herramienta basada en Talend, un software ETL que resultó ser una importante ayuda a los procesos automatizados de inteligencia de negocios. En este artículo se describen nuestra percepción inicial de este producto y su aplicación práctica.

Definición de ETL

Para poder hablar de Talend primero tenemos que definir qué es un software ETL.

Extraer, transformar y cargar (Extract, Transform and Load en inglés, frecuentemente abreviado a ETL) es el conjunto de procesos que permite a las organizaciones mover datos desde múltiples orígenes y modificar su formato, para luego enviarlos en otra base de datos, datamart, o data warehouse para análisis posterior, o enviar los datos hacia otro sistema operacional para apoyar un proceso de negocio.

Talend

Talend Open Studio es una herramienta Open Source de integración y gestión de datos, así como integración de aplicaciones empresariales: en palabras simples una herramienta ETL.

Talend está basado en Java, requiere específicamente JDK 6 y por tanto puede ser ejecutado en Windows y Linux sin mayor dificultad, solo basta con descomprimir su ‘instalador’.

Niveles de Talend

Talend basa su diseño en 3 niveles:

  • Business Models (Modelos de Negocios): es nivel diseñado para modelar de manera teórica la aplicación, para lo cual se realizan diagramas de flujo básicos con actores de los procesos.
  • Job Designs (Diseño de Trabajos): el nivel mas interesante, en el cual se diseña el trabajo en sí, el código que será ejecutado.
  • Contexts (Contextos): el es nivel que contiene los contextos, los cuales pueden ser definidos como variables globales de ejecución del programa, como la carpeta donde se ejecutará la aplicación final o variables iniciales de entrada.

Pantallazo Talend 1

Job Designs

Es el nivel empleado con mayor frecuencia en Talend Open Studio. Formado por el conjunto de Jobs, o tareas a realizar. Cada Job inicialmente de una grilla (grid) en blanco, donde se arrastran elementos de una paleta ubicada en la parte derecha del diseñador.

En dicha paleta se encuentran varios elementos configurables, llamados Subjobs, los cuales se encargan de ejecutar tareas predeterminadas pero configurables como conexiones, consultas, código personalizado, etc.

Dichos Subjobs se encuentran separados en la paleta en diversas categorías: BI, Cloud, Custom Code, Data Quality, ETL, Orchestation, System, etcétera.

Algunos Subjobs que pueden resultar interesantes son:

  • Conexiones estandarizadas y personalizables a bases de datos, incluye soporte a gran cantidad de las bases de datos Open Source (MySQL, PostgreSQL, SLQLite) e incluso Sybase y Oracle.
  • Ejecutores de consultas y procedimientos almacenados en las mencionadas bases de datos.
  • Código Java personalizable.
  • Iteradores, repetidores de subtareas.
  • Inscripción de variables globales, muy usado para mantener una variable global, ya que los subjobs solo crean variables locales.
  • Extractores e insertores de datos de archivos (xml, properties), también configurables.
  • Conexión a FTP para envío y descarga de archivos.
  • Compresión de archivos.
  • Modificadores de carpetas (crear, eliminar, modificar).
  • Filtros de información.

Pantallazo Talend 2

Los mencionados y varios otros elementos más se unen mediante un flujo secuencial, guiado por flechas extraídas de cada uno de ellos (visibles haciendo click derecho) que hacen referencias a eventos de dos clases:

  • row: evento que transmite data del elemento al elemento apuntado.
  • trigger: conjunto de eventos, activados por posibles modos de ejecución.
    • OnSubjobOk: cuando el elemento ha sido ejecutado sin errores.
    • OnSubjobError: cuando el elemento ha tenido algún error en la ejecución.
    • otros eventos, dependiendo del tipo de Subjob.

Adicionalmente, un Job puede contener a uno o varios otros Jobs e invocarlos como parte de un nuevo flujo, ejecutando los Subjobs contenidos dentro de cada uno.

Finalmente, cada Job es exportable a un archivo comprimido en formato ZIP, que contiene el ejecutable: un archivo .jar llamado a partir de un archivo .bat (para Windows) o un archivo .sh (Linux).

En resumen, podemos decir que Talend es una herramienta versátil para el proceso de ETL, con un buen entorno de desarrollo visual y múltiples conexiones a bases de datos  sin embargo tiene una curva de aprendizaje un poco elevada y un par de bugs pendientes por resolver.

Más información


Entrada original

[SysAdmin] Herramientas de monitoreo en infraestructuras de TI

Definitivamente las herramientas de monitoreo nos facilitan la vida a los administradores de TI. Directamente nos permiten conocer el uso de los recursos en el tiempo, el estado de las aplicaciones o servicios, ver el estado actual de hardware y software entre otros. Indirectamente nos permite proyectar la adquisición de nuevos equipos o partes, prevenir futuros problemas, incluso solucionar problemas actuales.

Las herramientas de monitoreo cumplen objetivos generales como:

  • Alertar sobre problemas inminentes o actuales.
  • Tener una visión centralizada de los equipos, servicios, software, hardware, versiones.
  • Tener datos históricos de uso de recursos.
  • Mostrar gráficos, reportes, resúmenes que ayudan a sintetizar la información.

Estos objetivos permiten a los administradores de TI realizar tareas como:

  • Prevenir posible problemas futuros relacionados con falta de recursos por aumento de carga o uso.
  • Resolver problemas inminentes con avisos y alertas pertinentes antes que el problema sea alertado por los usuarios finales.
  • Estimar presupuestos para adquisiciones de software/hardware brindando datos históricos para sustentar la inversión.
  • Realizar mejoras y optimizaciones en el uso de los recursos.
  • Prevenir fallas de seguridad.
  • Reforzar los puntos débiles de la infraestructura, ya sea hardware, software o servicios.

En esta ocasión describiremos tres herramientas de monitoreo que cubren diferentes funcionalidades y permiten tener una vista integral de la infraestructura de TI.

Munin

Esta herramienta permite tener una recopilación gráfica de como ha evolucionado el uso de los recursos durante el tiempo.

Características

  • Cuenta con una interfaz web que muestra la evolución histórica del uso de recursos durante el tiempo.
  • Munin monitorea el uso de recurso de cada máquina, recursos como disco, red, uso de CPU, RAM, Carga (load).
  • También es capaz de monitorear indicadores de algunas aplicaciones como tamaño de cola de postfix, procesos de apache, consultas de mysql entre otras.
  • Genera gráficas por día, semana, mes y año de cada uno de los indicadores.
  • Muestra el mínimo, máximo, media y valor actual los indicadores en cada periodo de tiempo.
  • Es posible configurar umbrales de alerta para estado de advertencia y crítico.
  • El servidor corre sobre Linux, el agente corre sobre Linux y Windows (con algunas limitaciones).

Beneficios

  • Permite determinar con anticipación cuando un recurso estará sobre utilizado o será insuficiente. Por ejemplo permite anticipar la compra de discos duros antes que estos estén llenos.
  • Permite monitorear errores o generar mejoras. Por ejemplo permite detectar errores de red que pueden ser causados por la alta carga del servidor.
  • Permite medir cuantitativamente el crecimiento del uso de los recursos, de esta manera es posible sustentar compra de hardware o medir el crecimiento.

Nagios

El principal objetivo de esta herramienta es sensar el estado de aplicaciones mediante escaneo de puertos, ejecución de comandos o la ejecución de cualquier prueba que pueda determinar si un servicio está corriendo correctamente (peticiones http o consultas sql por ejemplo).

Características

  • Para establecer un sensor se siguen los siguientes pasos:
    • Determinar el servidor que va a ser sensado.
    • Determinar el tipo de sensor (HTTP, TCP, SMTP, SQL, etc).
    • Establecer los umbrales de alerta y crítico. (Por ejemplo tiempo de respuesta mayor a X segundos o más de Y correos en la cola de correo).
    • Establecer el tipo de alerta (normalmente correo) y el contacto (persona o servicio al que llega la alerta).
  • La herramienta cuenta con una interfaz web que muestra el estado de los diferentes servidores y servicios.
  • Los posibles estados son desconocido, correcto, advertencia y crítico.
  • Permite establecer diferentes niveles de alerta o escalamiento. Diferentes niveles de alerta pueden llegar a diferentes contactos.
  • Es posible establecer diferentes alertas según periodos de tiempo (horas laborales, días laborales, fines de semana, madrugada, etc)
  • Permite establecer modelos (templates) de tipos de servidores (servidores remotos o locales, servidores o desktops, servidores o equipos de red) o tipos de servicios (servicios críticos o no críticos, servicios locales o remotos, etc) según este modelo es posible establecer diferentes frecuencias de muestreo, contactos de alertas, umbral de falla, etc.
  • Una de las características que me parece más resaltante de Nagios es la facilidad para crear nuevos sensores y otros comandos. Es posible crear un sensor virtualmente para cualquier tipo de servicio. Además es posible crear un comando personalizado para el envío de alertas utilizando algún medio alternativo (VoIP, mensajería instantánea, etc).
  • El sensado puede ser de 3 tipos:
    • Activo, el servidor inicia la prueba, por ejemplo el servidor solicita una página http.
    • Remoto, el servidor inicia la prueba, pero esta se ejecuta un agente remoto. Por ejemplo ejecutar un comando remoto para saber cuantos procesos se están ejecutando en otro servidor.
    • Pasivo: el servidor nagios recibe el estado de otro servidor, en este caso no inicia la prueba y no tiene control de la frecuencia de ejecución.
  • Permite programar los tiempos de inoperatividad con anticipación para evitar el envío innecesario de alertas.

Beneficios

  • Permite tener un control exhaustivo del estado de los servicios de los diferentes servidores de manera centralizada.
  • Permite realizar pruebas sobre infinidad de servicios.
  • Permite ejecutar alertas según el tipo de evento.
  • Permite detectar los problemas antes que causen daños mayores.

OCSInventory

Este programa sencillo pero muy útil permite tener un inventario centralizado de software y hardware.

Características

  • Interfaz web que muestra el listado de servidores o computadoras. El listado puede ser ordenado por cualquier columna y es posible agregar o quitar columnas según la necesidad.
  • La interfaz web muestra el detalle de cada servidor incluyendo:
    • Hardware: CPU, RAM, red, placa madre, video, sonido, entre otros.
    • Software: Sistema operativo, programas instalados.
    • Versión de BIOS
    • Detalles de red o redes activas
  • Cuenta con una funcionalidad de búsqueda que permite filtrar datos como programas instalados, memoria RAM, redes, entre otros.
  • Permite agrupar los servidores por diferentes criterios (similar a la búsqueda).
  • El agente debe ser instalado y configurado en cada servidor o computadora a ser inventariada.
  • El instalador del agente se encuentra disponible para Windows y Linux.

Beneficios

  • Permite tener una vista centralizada de los servidores y computadores de escritorio.
  • Facilita la tarea de mantenimiento y renovación de hardware.
  • Facilita la detección de software no autorizado.
  • Facilita la prevención de ataques de seguridad brindando detalle de las versiones de los programas instalados en cada computador.

Listado de máquinas

Búsqueda por Software

¿Cuál usar?

En un ambiente de producción, el uso de todas estas herramientas es casi necesario. Son herramientas complementarias que además se pueden integrar entre sí. Por ejemplo, Munin y Nagios se pueden integrar para que el primero reporte al segundo en forma relativamente sencilla. La fortaleza del Munin es poder contar con reportes de uso de recursos en el tiempo, mientras que la de Nagios es la de reportar alertas no sólo respecto a recursos si no a disponibilidad de servicios (por su flexibilidad).

Enlaces


Entrada original

Antartec Blogs

El objetivo de estos blogs es dar a conocer los temas que abordamos como parte de nuestras actividades cotidianas en Antartec, así como constituirse en un medio que permita una mayor difusión de nuestros servicios, productos y soluciones.