Monitorizacion de AWS CloudWatch con Zabbix

From Zabbix-ES
Jump to navigation Jump to search

cloudwatch_wrapper

Repositorio para realizar consultas a Cloudwatch vía API REST utilizando AWS-SDK + NodeJS
El objetivo es que mediante una llamada HTTP podamos extraer datos de CloudWatch sin la necesidad de instalar paqueteria adicional en nuestro servidor de Zabbix.
Zbx cw img009.png
Nota: Ver el proyecto completo y actualizado en GITHUB

Instalación de Docker-Compose

# curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# chmod 755 /usr/local/bin/docker-compose
# docker-compose --version

AWS-SDK Credentials

El acceso se realiza via el archivo de credenciales.
# cat /root/.aws/credentials
[default]
aws_access_key_id = [ACCESS_KEY]
aws_secret_access_key = [SECRET_KEY]

[pro]
aws_access_key_id = [ACCESS_KEY]
aws_secret_access_key = [SECRET_KEY]

[pre]
aws_access_key_id = [ACCESS_KEY]
aws_secret_access_key = [SECRET_KEY]

[dev]
aws_access_key_id = [ACCESS_KEY]
aws_secret_access_key = [SECRET_KEY]


Compilar y arrancar el contenedor

# docker-compose build
# docker-compose up -d


Parar el contenedor

# docker-compose down


Generar clave RSA 256

# ssh-keygen -t rsa -b 4096 -m PEM -f config/jwtRS256.key


Usuarios y Password

Usr admin
Psw zabbix

Zabbix Demo Template

Template Macros

{$BASICTOKEN}  - Token Basic para poder conectarnos a la API
{$REGION}      - Region de AWS
{$API_SERVER}  - IP y puerto en que escucha la API. Ej. http://10.1.2.100:3000

LLD macros

{#ACCOUNT}    - Tipo de cuenta a la que estamos conectados.
{#TOKEN}      - Bearer token para poder conectarnos a la API y recolectar métricas.
{#TTL}        - TTL del Bearer token.

Hosts Macros

{$REDISDBNAME} - ElastiCache DBName solo pare los ejemplos de monitorizacion de ElastiCache.

Vídeo

Zbx cw CloudWatch.gif

Imagenes

Zabbix Latest Data
Login
Help
API Help
Get Bearer Token
Verify Bearer Token
List Metrics
Get Metrics