Integración de métricas de AWS CloudFront en Zabbix

Publicado el 14 agosto 2017 por Dbigcloud @dbigcloud

Esta semana he subdio un nuevo script al repositorio de DBigCloud en Github para la integración de métricas de CloudFront con en un servidor de monitorización Zabbix, de esta forma podemos crear nuestra propias alarmas, reportes e incluso disponer del historíco de datos en dicho entorno.

Semanas atrás os hable de cómo integrar las métricas de CloudWatch en Zabbix, haciendo uso de la API de de AWS y la libreria Boto3, estas integraciones soy muy sencillas, es recomendable echarle un vistazo al post para saber cómo crear las monitorizaciones.

Para utilizar el script solo habría que invocarlo pasando los parámetros que deseemos extraer de CloudFront, la lista de parámetros es la siguiente:

  • namespace  # e.g. 'AWS/CloudFront' -> El nombre del servicio de AWS CloudFront.
  • metricname # e.g. Requests -> El nombre de la metrica.
  • dimname # e.g. DistributionId -> El identificador que vamos a usar en dimvalue, por ejemplo: el nombre, el ID...
  • dimvalue # e.g. Distribution ID XXXXXXXX -> El Identificador de la distribución de CloudFront
  • statistic # [ Sum, Maximum, Minimum, SampleCount, Average ] -> El tipo de estadistica que deseamos.

Mi consejo, para saber que parámetros debemos pasar es revisar las métricas en CloudFront donde os aparecerán los datos que necesitáis, para usarlo debéis:

    1. Descargar los dos scripts cloudfront_metrics.py y cloudwatch_metrics.sh.
    2. Copiar los dos scripts a la ruta en la que tengáis los external script de Zabbix, por defecto: /usr/lib/zabbix/externalscripts/
    3. Crear un Item de tipo external script, añadiendo en el campo key el script junto con sus parámetros, por ejemplo para monitorizar las peticiones de CloudFront en DBigCloud uso los siguientes parámetros:
      cloudwatch_metrics.sh["AWS/CloudFront", "Requests", "DistributionId", "XXXXXXXXXXX", "Sum"]

Con esto ya comenzaríamos a recoger las estadisticas de las peticiones que mi distribución de CloudFront, por ejemplo he creado una gráfica en la que voy viendo la las peticiones que tengo por cada cinco minutos.

Espero que os sea de utilizad dicho script, recordad que tenéis el blog de AWS en el que podéis estar al día con las novedades sobre CloudFront.


Compártelo: