En los últimos años, los servicios basados en la nube se están posicionando como la solución definitiva empresarial para el aprovisionamiento de una estructura computacional segura y de un coste inferior a una on premise. Aún estando en la nube, la monitorización diaria de estos servicios sigue siendo clave para la estabilidad y el buen funcionamiento de la estructura.
En el caso de Oracle Cloud Infrastructure (OCI) nos ofrece una serie de herramientas para poder llevar a cabo esto. En concreto, se puede monitorizar de forma pasiva o activa una serie de métricas de vital importancia para la actividad de negocio.
De forma predeterminada, las métricas que suelen abarcar son, por mencionar las más importantes, la CPU, memoria, lectura/escritura en disco en las instancias de computación, envío de paquetes y estado de sesiones en las instancias de networking.
Oracle, por su parte, nos ofrece un servicio de notificación bastante completo en el caso de que las métricas sobrepasen un límite previamente definido.
Para sacar un mayor provecho, Oracle ofrece dentro de su CLI (command line interface) una serie de end-points que junto con la sintaxis de Monitoring Query Language (MQL) podremos integrar nuestra propia herramienta de monitorización dando un valor añadido, ya se que puede adaptar e integrar a las necesidades actuales para la monitorización diaria.
¿Cómo construir un comando para la monitorización de un parámetro?
Como ejemplo, vamos a mostrar cómo construir un comando para la monitorización de un parámetro sencillo como el del estado de una instancia compute.
En la consola de OCI dentro de la instancia que queremos monitorizar, vamos al apartado de métricas, seleccionamos en Metric NameSpace: oci_compute_infrastructure_health, en la gráfica de health status hacemos clic en Options y damos a Copy Query (MQL) tal como se ve en la figura de abajo.
Esto nos habrá copiado un texto como el siguiente:
instance_status[5m]{resourceId = "ocid1.instance.oc1.eu-frankfurt-1..o7a"}.mean()
Dentro de la estructura del comando de OCI usamos el parámetro monitoring y metric-data summarize-metrics-data.
La construcción completa sería la siguiente:
El resultado en una salida JSON parametrizada de tal forma que podemos sacar la información que nos interese:
En este caso, la variable “value” indica 0.0 que indica que la instancia está disponible.
Con esto se ve cómo podemos monitorizar el estado de una instancia de compute, pero las posibilidades son bastante amplias. De hecho, casi cualquier servicio en la nube de Oracle nos ofrece la posibilidad de ser monitorizado a través del CLI tales como balanceadores de carga, tuneles IPSEC, Fast Connect , Autonomus Database etc.
Integración con Zabbix/Grafana
Para que estos datos nos sean útiles, es decir, puedan ser representados de una forma cómoda y monitorizarlos, podemos integrar estos datos en cualquier plataforma de monitorización, en nuestro caso utilizaremos Zabbix.
Zabbix de forma nativa puede procesar comandos y filtrar los resultados. En nuestro caso, nos interesa quedarnos solo con el estatus del balanceador si es OK o ERROR, para eso Zabbix nos ofrece una forma rápida de filtrar datos estructurados en archivos JSON tal como aparece abajo:
Una vez vinculado el estado del balanceador al dato y eligiendo un intervalo de consulta, tendremos incorporado el valor para poder crear desencadenadores de alertas para que nos avise en el caso de que la instancia del balanceador no esté disponible.
Este caso que hemos visto puede extenderse a todas las instancias que tengamos en el OCI de Oracle, creado una plataforma única, rápida y accesible para revisar el estado de nuestra infraestructura en OCI.
En el caso de que queramos aumentar nuestra experiencia visual, podemos beneficiarnos de Grafana, una herramienta de visualización de datos muy integrada hoy en día en este campo.
Existen Plugin de Grafana que nos permiten conectarnos directamente a las métricas de cualquier instancia OCI, y poder visualizar series temporales.
Gracias a las facilidades que proporciona Oracle a través de CLI y su integración con otras herramientas, podemos administrar las métricas de nuestra infraestructura de forma sencilla y fiable.
Los aplicativos y componentes físicos que corren en la capa del cliente son de vital importancia para la continuidad del negocio y con este tipo de herramientas se garantiza la disponibilidad, y predecir o evitar posibles escenarios que lleven a una indisponibilidad del servicio.
Blogs Relacionados:
> ¿Es seguro tu entorno Oracle OCI Cloud?
> Cloud de Oracle: 10 razones para mover a OCI
> ¿Oracle Cloud vs Azure? El fin de una rivalidad
> Maximiza tu ahorro con Oracle Cloud y Oracle Support Rewards
> Beneficios soluciones Cloud: Caso de éxito con OCI
> 4 beneficios de la nueva Región Oracle Cloud en Madrid
> Patterson elige Oracle OCI para transicionar a Cloud