Entradas

Mostrando entradas de junio, 2017

Effective monitoring & alerting.

Imagen
Es un libro imprescindible en toda biblioteca de ingenieros en sistemas, sin, necesariamente, estar involucrado en áreas de monitoreo. El abordaje de los temas que se tratan son desde las anécdota que el autor nos regala, ya con el cual avanzamos progresivamente en un modelo holístico, un diseño rico en variaciones y soluciones para conseguir el aprovechamiento de la información presentada.
No es trivial ni aburrido, como yo mismo pensaba, el involucrarse con estas tareas, al contrario, es lúdico por la exigencia del dominio de algunas disciplinas que hasta el momento no había explotado (estadística, por ejemplo). 
Lo rico de éstos textos es lo agnóstico ante cualquier tecnología, dependiendo ésta de cada lector por sus preferencias, además, contando con una idea clara de qué tipo de herramientas podemos acercarnos y las pruebas que deben de pasar.

Si desean leerlo, les comparto una liga para su utilización. Aunque lo ideal es que lo compren en físico para leerlo lejos de una pantall…

Patrones en AWK

Una de las funciones más poderosas de AWK es la búsqueda de patrones en archivos de texto, como logs; posteriormente accionar sobre esas coincidencias nos abre posibilidades que no tendríamos en caso de hacerlo a golpe de teclazos.

La estructura es muy sencilla:

awk '/expresion/ {acciones}' input

Bien, ahora que conocemos la estructura elemental, hagamos un ejercicio rápido.

awk script

#!/usr/bin/awk

/[0-9+]/ {print "Esta linea contiene digitos"}
/^$/ {print "Esta linea esta en blanco"}
/[a-zA-Z]+/ {print "Esta linea contiene caracteres"}


Entrada

AWK is a programming language designed for text processing and typically used as a data extraction and reporting tool. It is a standard feature of most Unix-like operating systems.

The AWK language is a data-driven scripting language consisting of a set of actions to be taken against streams of textual data – either run directly on files or used as part of a pipeline – for purposes of extracting or transforming…

Branching (condicional).

Solo es posible realizar este tipo de test cuando se realiza una substitución exitosa.

[address]t[label]

Si no se especifica una etiqueta, cuando se cumpla la condición será enviado al final del script.

Escenario

Queremos hacer el remplazo de un carácter en todas las líneas. Una vez que se realice, pasamos a la siguiente.

La letra más utilizada en el alfabeto es la 'a'. Para efectos de demostración emplearemos el control de flujo (branch) en la substitución de ésta letra por XXX.

Entrada

Consult Section 3.1 in Owner and Operator
Guide for a description of the tape drivers
available on your system.
blank
Look in the Owner and Operator Guide shipped with your system.
blank
Two manuals are provided and including the Owner and
Operator Guide and the User Guide.
blank
The Owner and Operator Guide is shipped with your system.

Sed script

:again
   s/a/XXX/
   t again

Salida

[lyonn@mictlan 6]$ sed -f branching.sed multiline.txt
Consult Section 3.1 in Owner XXXnd OperXXXtor
Guide for XXX description o…

Architecting for scale

Imagen
Actualmente es difícil encontrar un arquitecto de soluciones que lleve a cabo su trabajo pensando en los inevitables fallos. Las grandes empresas nos han acostumbrado a la disponibilidad de sus aplicaciones en todo momento, siendo noticia cuando sale de operación. ¿Por qué solo las grandes empresas le dan esta importancia?.
Al final de la cadena comercial, una aplicación disponible se traduce en ingresos. Desde la confianza por parte del usuario para realizar transacciones en el sitio o como un self-service. Romper esta cadena tiene consecuencias que pocos saben o quieren enterarse, especialmente económicas.
Con este libro, pude darle forma a los años de trabajo con grandes y medianas empresas, en donde satisfacer las necesidades de las áreas comerciales es un dolor de cabeza, puesto que como ingenieros (por el tiempo encima) nos enfocamos en mitigar, y no en solucionar, los problemas derivados de los fallos.
Este libro permite concebir, desde el punto de vista administrativo e inge…