En esta página se enumeran las herramientas que puedes usar para monitorizar tu instancia de AlloyDB Omni.
Herramientas de monitorización
En la siguiente tabla se indican las herramientas que puede elegir e instalar para monitorizar su instancia de AlloyDB Omni:
Para | Uso | Descripción |
---|---|---|
Monitorizar el rendimiento y la disponibilidad | Datadog | Monitoriza el rendimiento, la disponibilidad y el estado de tu instancia de AlloyDB Omni. |
Exportar datos de observabilidad de tu instancia | Postgres Exporter | Exportar los resultados de las consultas de observabilidad. Para instalar Postgres Exporter |
Recuperar datos de observabilidad en un formato legible | Prometheus | Sistema de monitorización para devolver los datos de observabilidad en un formato legible. Para instalar Prometheus |
Mostrar datos en un panel de control | Grafana | Crea un panel de control para mostrar métricas. Para instalar Grafana |
Recuperar datos de rendimiento para analizarlos | Informes de resumen de rendimiento | Recuperar datos de rendimiento para identificar la causa de los problemas de rendimiento. |
Instalar Postgres Exporter
Postgres Exporter es una herramienta que exporta consultas de observabilidad en un formato que puede leer Prometheus, un sistema de monitorización. El exportador incluye muchas consultas estándar y puedes añadir consultas y reglas adicionales en función de tus necesidades. También se pueden configurar opciones de seguridad adicionales, como SSL y la autenticación de usuarios. En este ejemplo, solo se usan las opciones de configuración básicas.
Instalar
Crea un directorio para Postgres Exporter.
sudo mkdir /opt/postgres_exporter
sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
cd /opt/postgres_exporter
Descarga Postgres Exporter.
wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
Extrae Postgres Exporter.
tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
Copia Postgres Exporter en el directorio que has creado.
cd postgres_exporter-0.15.0.linux-amd64
sudo cp postgres_exporter /usr/local/bin
Crea un archivo
.env
adecuado para Postgres Exporter.cd /opt/postgres_exporter
sudo vi postgres_exporter.env
Añada fuentes de datos a
/opt/postgres_exporter/postgres_exporter.env
para monitorizar una o varias bases de datos.Para monitorizar una sola base de datos, añade la siguiente línea:
DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/DATABASE_NAME?sslmode=disable"
Para monitorizar todas las bases de datos, añade la siguiente línea:
DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/?sslmode=disable"
Sustituye las siguientes variables:
USERNAME
: nombre de usuario para iniciar sesión en la base de datos.PASSWORD
: contraseña de la cuenta de usuario.POSTGRES_IP_ADDRESS
: dirección IP de la instancia de AlloyDB Omni.PORT
: puerto en el que se aloja la base de datos.DATABASE_NAME
: nombre de la base de datos.
Añade la siguiente información a
/etc/systemd/system/postgres_exporter.service
para que Postgres Exporter sobreviva a los reinicios.[Unit] Description=Prometheus exporter for Postgresql Wants=network-online.target After=network-online.target [Service] User=postgres Group=postgres WorkingDirectory=/opt/postgres_exporter EnvironmentFile=/opt/postgres_exporter/postgres_exporter.env ExecStart=/usr/local/bin/postgres_exporter --web.listen-address=:POSTGRES_EXPORTER_PORT --web.telemetry-path=/metrics Restart=always [Install] WantedBy=multi-user.target
Sustituye la siguiente variable:
POSTGRES_EXPORTER_PORT
: Port Postgres Exporter está alojado en. Te recomendamos que uses el puerto9187
.
Vuelve a cargar Postgres Exporter.
sudo systemctl daemon-reload
Inicia Postgres Exporter.
sudo systemctl start postgres_exporter
sudo systemctl enable postgres_exporter
sudo systemctl status postgres_exporter
Postgres Exporter debería estar disponible en la siguiente URL:
http://POSTGRES_EXPORTER_HOST_IP_ADDRESS:POSTGRES_EXPORTER_PORT/metrics
Sustituye las siguientes variables:
POSTGRES_EXPORTER_HOST_IP_ADDRESS
: dirección IP de tu máquina.POSTGRES_EXPORTER_PORT
: puerto que has usado en el paso 7.
Prometheus
Prometheus es un sistema de monitorización que se puede usar para consultar Postgres Exporter y devolver los datos de observabilidad en un formato legible.
Instalar
Crea un
prometheus
.sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
Crea directorios para Prometheus.
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Descarga Prometheus.
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
Extrae Prometheus.
sudo tar xvf prometheus*.tar.gz
cd prometheus*/
sudo mv prometheus /usr/local/bin
sudo mv promtool /usr/local/bin
Asigna la propiedad de Prometheus al usuario
prometheus
.sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
Mueve los archivos de configuración a la ubicación correcta.
sudo mv consoles /etc/prometheus
sudo mv console_libraries /etc/prometheus
sudo mv prometheus.yml /etc/prometheus
Asigna la propiedad de los directorios de Prometheus al usuario
prometheus
.sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /etc/prometheus/*
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
sudo chown -R prometheus:prometheus /var/lib/prometheus
Añade la siguiente información a
/etc/prometheus/prometheus.yml
para que Prometheus pueda consultar Postgres Exporter.global: scrape_interval: 15s scrape_configs: - job_name: postgres static_configs: - targets: ['POSTGRES_EXPORTER_MACHINE_IP_ADDRESS:9187']
Añade la siguiente información a
/etc/systemd/system/prometheus.service
para que Prometheus sobreviva a los reinicios.[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
Vuelve a cargar Prometheus.
sudo systemctl daemon-reload
Inicia Prometheus.
sudo systemctl start prometheus
sudo systemctl enable prometheus
sudo systemctl status prometheus
Prometheus debería estar disponible en la siguiente URL:
http://PROMETHEUS_HOST_IP_ADDRESS:9090
Sustituye la siguiente variable:
PROMETHEUS_HOST_IP_ADDRESS
: dirección IP de tu máquina.
Grafana
Grafana es una herramienta de creación de paneles que muestra las métricas de Prometheus a los usuarios finales a través de un panel. Hay varios paneles estándar disponibles para Postgres Exporter y este ejemplo de observabilidad aprovecha esos paneles.
Grafana está disponible a través de repositorios apt
y yum
normales, que usamos para instalar este producto.
Instalar
Instala Grafana.
En los sistemas Ubuntu y Debian, ejecuta los siguientes comandos:
sudo apt-get update
sudo apt-get install grafana
En los sistemas RHEL, CentOS o Rocky Linux, sigue estos pasos:
Importa la clave GPG.
wget -q -O gpg.key https://rpm.grafana.com/gpg.key
sudo rpm --import gpg.key
Crea el archivo
/etc/yum.repos.d/grafana.repo
con el siguiente contenido:[grafana] name=grafana baseurl=https://rpm.grafana.com repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://rpm.grafana.com/gpg.key sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Instala Grafana.
sudo dnf install grafana
Vuelve a cargar Grafana.
sudo systemctl daemon-reload
Inicia Grafana.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server
Grafana debería estar disponible en la siguiente URL:
http://GRAFANA_HOST_IP_ADDRESS:9090
Sustituye la siguiente variable:
GRAFANA_HOST_IP_ADDRESS
: dirección IP de tu máquina.
Cargar un panel de control
Puedes consultar las instrucciones generales sobre cómo configurar y usar Grafana en el artículo Configurar Grafana. Hay muchos paneles públicos disponibles, pero te recomendamos el siguiente panel de estadísticas de PostgreSQL.
Para cargar un panel de control, sigue estos pasos:
Configura Grafana.
Abre la consola de Grafana con la dirección URL de la sección Instalar de Grafana. El nombre de usuario y la contraseña predeterminados son
admin
.Cambia la contraseña predeterminada.
Si la fuente de datos de Prometheus no se ha añadido, vaya a Inicio > Fuentes de datos.
Haz clic en Añadir fuente de datos.
Selecciona Prometheus.
En el campo URL del servidor de Prometheus, introduce la dirección URL de la sección Instalar de Prometheus.
Cambia los siguientes ajustes de configuración:
- Tipo de Prometheus: selecciona Prometheus.
- Versión de Prometheus: selecciona > 2.5.x.
Haz clic en Guardar y probar.
Crea un panel de control.
Ve a Casa > Paneles de control.
Haz clic en New (Nuevo).
Selecciona Nuevo panel de control.
Haz clic en Importar panel de control.
Introduce la siguiente URL: https://grafana.com/grafana/dashboards/13494-postgresql-statistics/.
Haz clic en Cargar.
Cambia el Nombre del panel de control a
PRODUCT_NAME PostgreSQL statistics
.Sustituye
PRODUCT_NAME
por el nombre de tu producto.Selecciona la fuente de datos en el campo Prometheus.
Haz clic en Importar.
Informes de resumen de rendimiento
Los informes de resumen de rendimiento son una herramienta integrada de AlloyDB Omni que registra y analiza datos de rendimiento para ayudarte a identificar la causa de los problemas de rendimiento. Esta herramienta complementa otras funciones de observabilidad de AlloyDB Omni, como Estadísticas del sistema, Estadísticas de consultas y el Explorador de métricas, que proporcionan métricas en tiempo real sobre tu instancia.
Para obtener más información, consulta Optimizar el rendimiento de la base de datos comparando capturas de rendimiento.