Advertising:

Monitorizacion de AWS CloudWatch con Zabbix

From Zabbix-ES
Revision as of 15:25, 25 July 2020 by Unknown user (talk) (Created page with "https://github.com/mobarrio/cloudwatch_wrapper =cloudwatch_wrapper= Repositorio para realizar consultas a Cloudwatch via API REST utilizando AWS-SDK + NodeJS El objetivo es...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

https://github.com/mobarrio/cloudwatch_wrapper

cloudwatch_wrapper

Repositorio para realizar consultas a Cloudwatch via 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 adisional en nuestro servidor de Zabbix.

![Esquema de conexion](https://i.imgur.com/APbQZ7e.png)

Instalacion de Docker-Compose

```

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

```

    1. AWS-SDK Credentials

`El acceso se realiza via el archivo de credenciales.`

```

  1. 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] ```


    1. Compilar y arrancar el contenedor

```

  1. docker-compose build
  2. docker-compose up -d

```


    1. Parar el contenedor

```

  1. docker-compose down


```

    1. Generar clave RSA 256

```

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

```


    1. Usuarios y Password

``` Usr admin Psw zabbix ```

    1. Zabbix Demo Template
  1. 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 ```

  1. LLD macros

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

  1. Hosts Macros

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

    1. Video

![CloudWatch](https://user-images.githubusercontent.com/1693682/88439546-cb5c3000-ce0b-11ea-88ad-36d5fd3c7e7b.gif)

    1. Imagenes

![Zabbix Latest Data](https://i.imgur.com/Ocp3AJI.png)

![Login](https://imgur.com/cPtpBKH.png) ![Help](https://imgur.com/2lvcW1w.png) ![API Help](https://imgur.com/rui2PkF.png) ![Get Bearer Token](https://imgur.com/FqaasZb.png) ![Verify Bearer Token](https://imgur.com/JE8INef.png) ![List Metrics](https://imgur.com/49YD4Wa.png) ![Get Metrics](https://imgur.com/vB573t7.png)