GNU/Linux >> Tutoriales Linux >  >> Cent OS

Tutorial del panel Grafana Prometheus

Introducción

Prometheus es un software de monitoreo de eventos de código abierto para aplicaciones distribuidas de gran volumen. Cuenta con métricas y alertas en tiempo real, consultas flexibles, un modelo de extracción HTTP y es una buena opción para monitorear clústeres de Kubernetes.

Si bien Prometheus es una aplicación independiente, su uso con un panel de visualización ayuda a mantener una mejor visión general de un clúster de Kubernetes. Una opción popular para este escenario es Grafana, un software de visualización de código abierto, que admite Prometheus como fuente de datos lista para usar.

Este tutorial le mostrará cómo instalar Grafana en su clúster de Kubernetes, conectarlo a Prometheus y organizar los datos en paneles.

Requisitos previos

  • Clúster de Kubernetes
  • herramienta de línea de comandos kubectl instalada
  • Prometheus instalado y configurado

Instalar Grafana

Para instalar Grafana en un clúster de Kubernetes, cree y aplique una serie de yaml archivos.

1. Comienza creando un ConfigMap en un archivo titulado grafana-datasource-config.yaml :

nano grafana-datasource-config.yaml

El archivo consta de las siguientes declaraciones:

apiVersion: v1 
kind: ConfigMap 
metadata:
 name: grafana-datasources
 namespace: default 
data: 
  prometheus.yaml: |- 
    { 
        "apiVersion": 1, 
        "datasources": [ 
            { 
               "access":"proxy", 
                "editable": true, 
                "name": "prometheus", 
                "orgId": 1, 
                "type": "prometheus", 
                "url": "http://prometheus-service.monitoring.svc:9090", 
                "version": 1 
            } 
        ] 
    }

2. Ajuste el contenido del archivo para que se ajuste a sus necesidades especificando el espacio de nombres en el que desea instalar Grafana.

3. Guarde y salga del archivo.

4. Aplique cambios a su clúster usando kubectl:

kubectl create -f grafana-datasource-config.yaml

El resultado confirma la creación del ConfigMap:


5. A continuación, cree un yaml archivo para la implementación de Grafana:

nano deployment.yaml

El archivo contiene la configuración de implementación de Grafana:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      name: grafana
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:latest
        ports:
        - name: grafana
          containerPort: 3000
        resources:
          limits:
            memory: "1Gi"
            cpu: "1000m"
          requests: 
            memory: 500M
            cpu: "500m"
        volumeMounts:
          - mountPath: /var/lib/grafana
            name: grafana-storage
          - mountPath: /etc/grafana/provisioning/datasources
            name: grafana-datasources
            readOnly: false
      volumes:
        - name: grafana-storage
          emptyDir: {}
        - name: grafana-datasources
          configMap:
              defaultMode: 420
              name: grafana-datasources

6. Guarde el archivo y luego aplíquelo al clúster:

kubectl create -f deployment.yaml

El resultado confirma la creación de la implementación:


7. Por último, crea el service.yaml archivo para configurar el servicio Grafana:

nano service.yaml

El archivo consta de las siguientes declaraciones:

apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: default
  annotations:
      prometheus.io/scrape: 'true'
      prometheus.io/port:   '3000'
spec:
  selector: 
    app: grafana
  type: NodePort  
  ports:
    - port: 3000
      targetPort: 3000
      nodePort: 32000

8. Ajuste el archivo a las necesidades de su clúster, luego guárdelo y aplíquelo:

kubectl create -f service.yaml

El resultado confirma que el servicio se creó correctamente:


9. Use el comando kubectl port-forward para reenviar el servicio de Grafana al puerto 3000 :

kubectl port-forward svc/grafana 3000


10. Ahora abra un navegador y vaya a http://localhost:3000/ .

11. Aparece la pantalla de inicio de sesión de Grafana, que le solicita su nombre de usuario y contraseña. Escriba admin en ambos campos y haga clic en Iniciar sesión .


12. Grafana le pide que establezca una nueva contraseña, después de lo cual se muestra la página de inicio.

Agregar Prometheus como fuente de datos de Grafana

Para comenzar a trabajar con Prometheus en Grafana, agregue Prometheus como fuente de datos.

1. En la barra lateral de la izquierda, pase el cursor sobre el icono de la rueda dentada para mostrar el submenú de configuración.

2. Haga clic en Fuentes de datos .


2. Se abre una página de configuración. Haga clic en Añadir fuente de datos. botón.


3. Seleccione Prometheus como tipo de fuente de datos haciendo clic en Seleccionar botón a la derecha.


4. Se abre la página de configuración de Prometheus. Aquí especifica el nombre de la fuente, la URL y el puerto para el servicio de Prometheus, y el tipo de acceso (el acceso al servidor es la opción predeterminada).


5. Una vez que haya terminado, desplácese hacia abajo hasta la parte inferior de la página y haga clic en Guardar y probar botón.

Grafana prueba la conexión con Prometheus y termina de agregar la fuente de datos.

Importar estadísticas de Prometheus como un tablero en Grafana

Grafana es compatible con Prometheus desde el primer momento y puede acceder fácilmente al panel de Prometheus prediseñado.

1. Vuelva a navegar a las Fuentes de datos y selecciona Prometheus .

2. Abra la Configuración menú desplegable.

3. Luego haga clic en Paneles de control .


4. Aparece una lista de paneles disponibles. Importe el tablero que desee haciendo clic en Importar botón a la derecha del nombre del tablero.


5. Para acceder al panel, pase el cursor sobre el icono de cuatro cuadrados en la barra lateral izquierda para revelar los Paneles. menú.

6. Haga clic en Administrar .

7. Seleccione el Prometeo tablero que desea administrar de la lista.

Estadísticas de su servidor Prometheus

El tablero de Prometheus consta de varios gráficos de estadísticas individuales que se describen a continuación.

Gráficos de estadísticas individuales

Después de seleccionar las Estadísticas de Prometheus panel en la Administración del panel página, las estadísticas aparecen organizadas en paneles.

La primera fila consta de los siguientes paneles:

  • Tiempo de actividad :cuánto tiempo ha pasado desde que se inició el servidor Prometheus
  • Serie de memoria de almacenamiento local :El número de series que Prometheus tiene actualmente en la memoria
  • Longitud de la cola de almacenamiento interno :Cuanto menor sea este número, mejor. El mensaje "Vacío" significa que el número de cola es cero.

Las muestras ingeridas El panel proporciona información sobre la cantidad de mensajes de muestra que Prometheus ingirió a razón de 5 minutos.

Métricas de raspado de Prometheus

Métricas de scraping Los paneles se encuentran justo debajo del panel Muestras ingeridas.

  • Los objetivos raspados El panel muestra la frecuencia de raspar el objetivo, es decir, Prometheus, medido en los últimos cinco minutos, por serie de tiempo en el vector de rango.
  • La duración de raspado El panel muestra la duración de las raspaduras, medida durante el mismo período de cinco minutos.

Duración de las evaluaciones

La Duración de la evaluación de la regla El panel que se encuentra debajo de los paneles de métricas de Scrape proporciona información sobre la duración de todas las evaluaciones para ejecutar.

Crear un nuevo panel

Para crear un nuevo panel de Grafana:

1. Navegue a los Paneles de control y haga clic en Nuevo panel botón.


2. Aparece una pantalla donde puede agregar nuevos paneles y filas vacíos.


3. Aparece una nueva pantalla con un solo panel ficticio.

Personalizar el panel con el editor de consultas de Prometheus

Para editar un panel Grafana específico:

1. Haga clic en el título del panel para abrir un menú desplegable.

2. En el menú, haga clic en Editar .


3. Aparece la ventana de edición. Personaliza los paneles introduciendo nuevas consultas o modificando las actuales. La consulta se realiza utilizando el lenguaje de consulta de Prometheus.


4. Las siguientes métricas no aparecen en el panel de Prometheus prefabricado de Grafana, pero son útiles para monitorear Prometheus:

  • prometheus_local_storage_memory_chunks – Supervisa los fragmentos de memoria que Prometheus almacena en la memoria.
  • prometheus_local_storage_memory_series – Supervisa las series de memoria que Prometheus almacena en la memoria.
  • prometheus_local_storage_ingested_samples_total – Mide la tasa de ingestión de las muestras.
  • prometheus_target_interval_length_seconds – Mide la cantidad de tiempo entre raspaduras objetivo.
  • prometheus_local_storage_chunk_ops_total – Supervisa la tasa por segundo de todas las operaciones de fragmentos de almacenamiento de Prometheus.

Usar paneles y complementos prediseñados

Grafana ofrece una gran selección de paneles y complementos prefabricados disponibles para descargar en su sitio web. Para instalar un tablero prediseñado:

1. Descarga el json del complemento archivo.

2. Haga clic en Importar y sigue las instrucciones para subir el archivo a Grafana.


3. Para instalar complementos, inicie sesión en el pod de Grafana en el clúster mediante kubectl exec .

kubectl exec -it [grafana-pod] -- [shell]


4. Ahora usa el grafana-cli herramienta de línea de comandos para instalar el complemento:

grafana-cli plugins install grafana-worldmap-panel


El complemento se instala en el directorio de complementos de Grafana. La ubicación predeterminada es /var/lib/grafana/plugins . Una vez que el complemento se instala correctamente, está disponible automáticamente en Grafana.


Cent OS
  1. Migración de CentOS 8 a Rocky Linux 8:un tutorial paso a paso

  2. Tutorial de solución de problemas de Nagios

  3. Cómo instalar Web2py en CentOS 7

  4. CentOS WebPanel – Monitoreo de Servicios

  5. Tutorial de comando cURL con ejemplos

Cómo instalar Prometheus y node_exporter en CentOS 7

Tutorial del comando mktemp de Linux para principiantes (5 ejemplos)

Instalar y configurar el servidor FreeIPA en CentOS 8

Cómo instalar Grafana en CentOS 8

Cómo instalar Prometheus en CentOS 8

Utilizando Grafana y Prometheus Kubernetes Cluster Monitoring