es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conectándose a la base de datos desde prometheus_exporter

Para recopilar métricas de Postgres en Prometheus, se utiliza el exportador de Postgres. No se utiliza la contenerización, todo se hace de forma nativa. Las métricas de hardware se recopilan en un Prometheus a través de un trabajo. Para recopilar métricas de la base de datos, necesito conectar el exportador de Prometheus a la base de datos. Dime cómo configurar la conexión a la base de datos. El exportador de Postgres no tiene archivos de configuración. ¿Es posible hacer esto a través de variables de entorno?

prometheus.yml:

scrape_configs:
– job_name: postgresql
static_configs:
– targets: [‘xx.xx.xx.xx:9187’]
labels:
alias: postgres

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible configurar la conexión a la base de datos a través de variables de entorno. Aquí tienes un ejemplo de cómo hacerlo:

    1. Crea un nuevo usuario con los permisos necesarios para acceder a las métricas:
      CREATE USER prometheus WITH PASSWORD 'contraseña';
      GRANT SELECT ON ALL TABLES IN SCHEMA public TO prometheus;
      
    2. Agrega las variables de entorno necesarias al comando postgres_exporter:
      postgres_exporter --pg.user=prometheus --pg.password=contraseña --pg.host=localhost --pg.port=5432
      

      Aquí estamos especificando el nombre de usuario, contraseña, host y puerto de la base de datos a la que queremos conectarnos.

    3. Actualiza el archivo prometheus.yml para incluir el nuevo trabajo y sus objetivos:

      scrape_configs:
       - job_name: postgresql
         static_configs:
           - targets: ['xx.xx.xx.xx:9187']
             labels:
               alias: postgres
       - job_name: postgresql-metrics
         static_configs:
           - targets: ['localhost:9187']
             labels:
               alias: postgres-metrics
      

      Aquí hemos agregado un nuevo trabajo llamado “postgresql-metrics” que recopila métricas desde la instancia local de postgres_exporter. También le hemos asignado un alias diferente (“postgres-metrics”) para distinguirlo del trabajo principal de postgresql.

    4. Reinicia prometheus para aplicar los cambios.

      systemctl restart prometheus
      

    Ten en cuenta que es posible que debas ajustar algunos de estos pasos según tu configuración y requisitos específicos. Además, recuerda que exponer métricas de base de datos puede representar un riesgo de seguridad, así que asegúrate de proteger la conexión y limitar el acceso tanto como sea posible.

Comments are closed.