

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Implementación de Prometheus con Helm
<a name="deploy-prometheus"></a>

Como alternativa al uso de Amazon Managed Service para Prometheus, puede implementar Prometheus en su clúster con Helm. Si ya tiene instalado Helm, puede comprobar su versión con el comando `helm version`. Helm es un administrador de paquetes para los clústeres de Kubernetes. Para obtener más información sobre Helm y sobre cómo instalarlo, consulte [Implementación de aplicaciones en Amazon EKS con Helm](helm.md).

Después de configurar Helm para su clúster de Amazon EKS, puede utilizarlo para implementar Prometheus con los pasos que se describen a continuación.

1. Cree un espacio de nombres para Prometheus.

   ```
   kubectl create namespace prometheus
   ```

1. Agregue el repositorio de gráficos de `prometheus-community`.

   ```
   helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
   ```

1. Implemente Prometheus.

   ```
   helm upgrade -i prometheus prometheus-community/prometheus \
       --namespace prometheus \
       --set alertmanager.persistence.storageClass="gp2" \
       --set server.persistentVolume.storageClass="gp2"
   ```
**nota**  
Si recibe el error `Error: failed to download "stable/prometheus" (hint: running helm repo update may help)` al ejecutar este comando, ejecute `helm repo update prometheus-community` y, a continuación, vuelva a ejecutar el comando del Paso 2.

   Si recibe el error `Error: rendered manifests contain a resource that already exists`, ejecute `helm uninstall your-release-name -n namespace ` y, a continuación, vuelva a ejecutar el comando del Paso 3.

1. Compruebe que todos los pods en el espacio de nombres de `prometheus` se encuentran en estado `READY`.

   ```
   kubectl get pods -n prometheus
   ```

   Un ejemplo de salida sería el siguiente.

   ```
   NAME                                             READY   STATUS    RESTARTS   AGE
   prometheus-alertmanager-59b4c8c744-r7bgp         1/2     Running   0          48s
   prometheus-kube-state-metrics-7cfd87cf99-jkz2f   1/1     Running   0          48s
   prometheus-node-exporter-jcjqz                   1/1     Running   0          48s
   prometheus-node-exporter-jxv2h                   1/1     Running   0          48s
   prometheus-node-exporter-vbdks                   1/1     Running   0          48s
   prometheus-pushgateway-76c444b68c-82tnw          1/1     Running   0          48s
   prometheus-server-775957f748-mmht9               1/2     Running   0          48s
   ```

1. Utilice `kubectl` para el enrutamiento del puerto de la consola de Prometheus a su equipo local.

   ```
   kubectl --namespace=prometheus port-forward deploy/prometheus-server 9090
   ```

1. Apunte un navegador web a `http://localhost:9090` para ver la consola de Prometheus.

1. Elija una métrica del menú **- insert metric at cursor (- insertar métrica en el cursor)** y elija **Execute (Ejecutar)**. Elija la pestaña **Graph (Gráfico)** para mostrar la métrica con el paso del tiempo. La siguiente imagen muestra `container_memory_usage_bytes` a lo largo del tiempo.  
![\[Métricas de Prometheus\]](http://docs.aws.amazon.com/es_es/eks/latest/userguide/images/prometheus-metric.png)

1. En la barra de navegación superior, elija **Status (Estado)** y **Targets (Destinos)**.  
![\[Consola de Prometheus\]](http://docs.aws.amazon.com/es_es/eks/latest/userguide/images/prometheus.png)

   Se muestran todos los puntos de enlace de Kubernetes que están conectados a Prometheus mediante detección de servicios.