Advertising:
Monitorizacion de AWS CloudWatch con Zabbix
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.
Nota: Ver el proyecto completo y actualizado en GITHUB Nota: Ver imágenes disponibles en Docker hub DOCKERHUB
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 Resumido
Video con la instalación completa / Full installation
EmbedVideo was given an illegal value for the alignment parameter "Youtube Channel". Valid values are "left", "center", or "right".
Imagenes
Habilitar el modo DEBUG
Editamos el environment via el fichero env.js
NOTA: El fichero env.js tiene que existir en el mismo path donde esta el docker-compose.yml
# vi env.js process.env.LOG_LEVEL="debug"; <- Activa el Debug de Cloudwatch-Wrapper // process.env.DEBUG="express:*"; <- Mas nivel de Debug en las llamadas via express
Mapeamos en env.js dentro del docker
# vi docker-compose.yml version: '3' services: wrapper: image: mobarrio/cloudwatch_wrapper:latest container_name: cloudwatch_wrapper ports: - "3000:3000" environment: - NODE_ENV=production - CRED=pro volumes: - ~/.aws/credentials:/root/.aws/credentials:ro - ./env.js:/usr/src/app/env.js <- Mapear el fichero env.js dentro del docker.
Iniciamos el docker con consola
# docker-compose up