Cette page liste les outils que vous pouvez utiliser pour surveiller votre instance AlloyDB Omni.
Outils de surveillance
Le tableau suivant liste les outils que vous pouvez choisir et installer pour surveiller votre instance AlloyDB Omni :
| À | Utiliser | Description |
|---|---|---|
| Surveiller les performances et la disponibilité | Datadog | Surveillez les performances, la disponibilité et l'état de votre instance AlloyDB Omni. |
| Exporter des données d'observabilité depuis votre instance | Postgres Exporter | Exporter les résultats des requêtes d'observabilité Pour installer Postgres Exporter |
| Récupérer les données d'observabilité dans un format lisible | Prometheus | Système de surveillance permettant de renvoyer les données d'observabilité dans un format lisible. Pour installer Prometheus |
| Afficher des données dans un tableau de bord | Grafana | Créez un tableau de bord pour afficher les métriques. Pour installer Grafana |
| Récupérer les données de performances pour l'analyse | Rapports instantanés sur les performances | Récupérez les données sur les performances pour identifier la cause des problèmes de performances. |
Installer l'exportateur Postgres
Postgres Exporter est un outil qui exporte les requêtes d'observabilité dans un format que Prometheus, un système de surveillance, peut lire. L'exportateur est fourni avec de nombreuses requêtes standards intégrées. Vous pouvez ajouter des requêtes et des règles supplémentaires en fonction de vos besoins. Vous pouvez également configurer d'autres options de sécurité, telles que SSL et l'authentification des utilisateurs. Pour cet exemple, seules les options de configuration de base sont utilisées.
Installer
Créez un répertoire pour Postgres Exporter.
sudo mkdir /opt/postgres_exportersudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exportercd /opt/postgres_exporterTéléchargez l'exportateur Postgres.
wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
Extrayez l'exportateur Postgres.
tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
Copiez Postgres Exporter dans le répertoire que vous avez créé.
cd postgres_exporter-0.15.0.linux-amd64sudo cp postgres_exporter /usr/local/binCréez un fichier
.envapproprié pour Postgres Exporter.cd /opt/postgres_exportersudo vi postgres_exporter.envAjoutez des sources de données à
/opt/postgres_exporter/postgres_exporter.envpour surveiller une ou plusieurs bases de données.Pour surveiller une seule base de données, ajoutez la ligne suivante :
DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/DATABASE_NAME?sslmode=disable"Pour surveiller toutes les bases de données, ajoutez la ligne suivante :
DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/?sslmode=disable"Remplacez les variables suivantes :
USERNAME: nom d'utilisateur pour se connecter à la base de données.PASSWORD: mot de passe du compte utilisateur.POSTGRES_IP_ADDRESS: adresse IP de l'instance AlloyDB Omni.PORT: port sur lequel la base de données est hébergée.DATABASE_NAME: nom de la base de données.
Ajoutez les informations suivantes à
/etc/systemd/system/postgres_exporter.servicepour que Postgres Exporter survive aux redémarrages.[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.targetRemplacez la variable suivante :
POSTGRES_EXPORTER_PORT: port sur lequel l'exportateur Postgres est hébergé. Nous vous recommandons d'utiliser le port9187.
Rechargez l'exportateur Postgres.
sudo systemctl daemon-reload
Démarrez l'exportateur Postgres.
sudo systemctl start postgres_exportersudo systemctl enable postgres_exportersudo systemctl status postgres_exporter
L'exportateur Postgres devrait maintenant être disponible à l'URL suivante :
http://POSTGRES_EXPORTER_HOST_IP_ADDRESS:POSTGRES_EXPORTER_PORT/metrics
Remplacez les variables suivantes :
POSTGRES_EXPORTER_HOST_IP_ADDRESS: adresse IP de votre machine.POSTGRES_EXPORTER_PORT: port que vous avez utilisé à l'étape 7.
Prometheus
Prometheus est un système de surveillance qui peut être utilisé pour interroger Postgres Exporter et renvoyer les données d'observabilité dans un format lisible.
Installer
Créez un utilisateur
prometheus.sudo groupadd --system prometheussudo useradd -s /sbin/nologin --system -g prometheus prometheusCréez des répertoires pour Prometheus.
sudo mkdir /etc/prometheussudo mkdir /var/lib/prometheusTéléchargez Prometheus.
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
Extrayez Prometheus.
sudo tar xvf prometheus*.tar.gzcd prometheus*/sudo mv prometheus /usr/local/binsudo mv promtool /usr/local/binDéfinissez l'utilisateur
prometheuscomme propriétaire de Prometheus.sudo chown prometheus:prometheus /usr/local/bin/prometheussudo chown prometheus:prometheus /usr/local/bin/promtoolDéplacez les fichiers de configuration vers l'emplacement approprié.
sudo mv consoles /etc/prometheussudo mv console_libraries /etc/prometheussudo mv prometheus.yml /etc/prometheusDéfinissez l'utilisateur
prometheuscomme propriétaire des répertoires Prometheus.sudo chown prometheus:prometheus /etc/prometheussudo chown prometheus:prometheus /etc/prometheus/*sudo chown -R prometheus:prometheus /etc/prometheus/consolessudo chown -R prometheus:prometheus /etc/prometheus/console_librariessudo chown -R prometheus:prometheus /var/lib/prometheusAjoutez les informations suivantes à
/etc/prometheus/prometheus.ymlpour que Prometheus puisse interroger Postgres Exporter.global: scrape_interval: 15s scrape_configs: - job_name: postgres static_configs: - targets: ['POSTGRES_EXPORTER_MACHINE_IP_ADDRESS:9187']Ajoutez les informations suivantes à
/etc/systemd/system/prometheus.servicepour que Prometheus survive aux redémarrages.[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.targetRechargez Prometheus.
sudo systemctl daemon-reload
Démarrez Prometheus.
sudo systemctl start prometheussudo systemctl enable prometheussudo systemctl status prometheus
Prometheus devrait maintenant être disponible à l'URL suivante :
http://PROMETHEUS_HOST_IP_ADDRESS:9090
Remplacez la variable suivante :
PROMETHEUS_HOST_IP_ADDRESS: adresse IP de votre machine.
Grafana
Grafana est un outil de création de tableaux de bord qui expose les métriques Prometheus à un utilisateur final via un tableau de bord. Plusieurs tableaux de bord standards sont disponibles pour Postgres Exporter. Cet exemple d'observabilité utilise ces tableaux de bord.
Grafana est disponible via les dépôts apt et yum habituels, que nous utilisons pour installer ce produit.
Installer
Installez Grafana.
Pour les systèmes Ubuntu et Debian, exécutez les commandes suivantes :
sudo apt-get updatesudo apt-get install grafanaPour les systèmes RHEL, CentOS ou Rocky Linux, procédez comme suit :
Importez la clé GPG.
wget -q -O gpg.key https://rpm.grafana.com/gpg.keysudo rpm --import gpg.keyCréez le fichier
/etc/yum.repos.d/grafana.repoavec le contenu suivant :[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.crtInstallez Grafana.
sudo dnf install grafana
Actualisez Grafana.
sudo systemctl daemon-reload
Démarrez Grafana.
sudo systemctl start grafana-serversudo systemctl enable grafana-serversudo systemctl status grafana-server
Grafana devrait maintenant être disponible à l'URL suivante :
http://GRAFANA_HOST_IP_ADDRESS:9090
Remplacez la variable suivante :
GRAFANA_HOST_IP_ADDRESS: adresse IP de votre machine.
Charger un tableau de bord
Pour obtenir des instructions générales sur la configuration et l'utilisation de Grafana, consultez Configurer Grafana. De nombreux tableaux de bord publics sont disponibles, mais nous vous recommandons le tableau de bord des statistiques PostgreSQL.
Pour charger un tableau de bord, procédez comme suit :
Configurez Grafana.
Ouvrez la console Grafana à l'aide de l'adresse URL de la section Install (Installer) de Grafana. Le nom d'utilisateur et le mot de passe par défaut sont
admin.Modifiez le mot de passe par défaut.
Si la source de données Prometheus n'est pas ajoutée, accédez à Accueil > Sources de données.
Cliquez sur Ajouter une source de données.
Sélectionnez Prometheus.
Dans le champ URL du serveur Prometheus, saisissez l'URL de la section Install (Installer) de Prometheus.
Modifiez les paramètres de configuration suivants :
- Type Prometheus : sélectionnez Prometheus.
- Version de Prometheus : sélectionnez > 2.5.x.
Cliquez sur Enregistrer et tester.
Créez un tableau de bord.
Accédez à Accueil > Tableaux de bord.
Cliquez sur New (Nouveau).
Sélectionnez Nouveau tableau de bord.
Cliquez sur Importer un tableau de bord.
Saisissez l'URL suivante : https://grafana.com/grafana/dashboards/13494-postgresql-statistics/.
Cliquez sur Charger.
Redéfinissez le Nom du tableau de bord sur
PRODUCT_NAME PostgreSQL statistics.Remplacez
PRODUCT_NAMEpar le nom de votre produit.Sélectionnez votre source de données dans le champ Prometheus.
Cliquez sur Importer.
Rapports sur l'instantané des performances
Les rapports sur les instantanés des performances sont un outil AlloyDB Omni intégré qui capture et analyse les données de performances pour vous aider à identifier la cause des problèmes de performances. Cet outil complète les autres fonctionnalités d'observabilité d'AlloyDB Omni, comme les insights système, les insights sur les requêtes et l'explorateur de métriques, qui fournissent des métriques en temps réel sur votre instance.
Pour en savoir plus, consultez Optimiser les performances de la base de données en comparant les instantanés de performances.