Création d'alarmes et d'un tableau de bord de surveillance OCI personnalisés PostgreSQL à l'aide d'instances de conteneur

Introduction

Ce tutoriel fournit des instructions étape par étape pour déployer une solution de surveillance personnalisée pour PostgreSQL à l'aide d'une application Java basée sur Docker sur Oracle Cloud Infrastructure (OCI). Nous allons montrer comment créer des alertes et des tableaux de bord personnalisés pour les emplacements de réplication inactifs et le décalage de réplication dans OCI à l'aide d'un conteneur basé sur une machine virtuelle. Alors que la configuration actuelle se concentre sur la surveillance du décalage de réplication PostgreSQL et des emplacements de réplication inactifs, la conception est flexible et peut être facilement étendue pour suivre des mesures de base de données supplémentaires en modifiant le code de l'application.

Objectifs

Tâche 1 : télécharger et configurer le service Monitoring

  1. Téléchargez le fichier Postgres-monitoring-services.zip à partir d'ici : Postgres-monitoring-services.zip.

  2. Décompressez et suivez les instructions du fichier README.md pour créer et exécuter l'application.

  3. Les instructions de création et de déploiement Docker sont incluses dans le référentiel.

    Remarque : les instructions de création et de propagation de l'image Docker sont déjà disponibles dans le fichier README.md du référentiel de projets.

Tâche 2 : créer un groupe dynamique

Les groupes dynamiques permettent à votre machine virtuelle de conteneur d'accéder aux services OCI tels qu'OCI Monitoring, OCI Vault et OCI Registry sans utiliser d'informations d'identification codées en dur et sans stocker d'informations d'identification dans votre image.

Utilisez les informations suivantes :

Remarque : compartment.id est l'OCID de compartiment dans lequel l'instance de conteneur sera créée.

Tâche 3 : configuration du réseau (VCN et passerelle de service)

Pour garantir une communication transparente, placez la machine virtuelle de conteneur dans le même sous-réseau privé que le système de base de données PostgreSQL. Activez l'accès aux services OCI à l'aide d'une passerelle de service.

Règles de liste de sécurité :

Assurez-vous que les règles suivantes sont ajoutées à la liste de sécurité de votre sous-réseau privé, si elles ne sont pas déjà présentes.

Type CIDR source Protocole Port Description
Entrant CIDR du sous-réseau de privé TCP 5 432 Accès PostgreSQL
Sortant 0.0.0.0/0 Toutes Toutes Accéder aux services OCI

Tâche 4 : utiliser OCI Vault pour le stockage sécurisé des mots de passe

Utilisez OCI Vault pour le stockage sécurisé des mots de passe afin d'éviter le codage en dur des informations d'identification de base de données.

  1. Créez un coffre et ajoutez un secret contenant le mot de passe PostgreSQL.

  2. Enregistrez l'OCID de clé secrète de coffre.

  3. Réutilisez la clé secrète si elle existe déjà.

Tâche 5 : définition des stratégies Oracle Cloud Infrastructure Identity and Access Management

Attachez ces stratégies OCI IAM.

Allow dynamic-group psql_monitoring_with_container_vm_dg to read vaults in compartment <your-compartment-id>
Allow dynamic-group psql_monitoring_with_container_vm_dg to read secret-bundles in compartment <your-compartment-id>
Allow dynamic-group psql_monitoring_with_container_vm_dg to use metrics in compartment <your-compartment-id>
Allow dynamic-group psql_monitoring_with_container_vm_dg to read repos in compartment <your-tenancy-id>

Tâche 6 : lancement des instances de conteneur

Accédez à la console OCI, accédez à Services de développeur, à Artefact de conteneur, à Instances de conteneur, à Créer une instance et entrez les informations suivantes :

Remarque : l'accès est accordé sans informations d'identification via le groupe dynamique OCI IAM.

image

Tâche 7 : vérification des journaux dans la console OCI

Accédez à la console OCI, accédez à Services de développeur, à Artefact de conteneur, à Instances de conteneur, sélectionnez votre instance, puis cliquez sur l'onglet Conteneurs pour inspecter les journaux et le statut d'exécution.

Tâche 8 : visualisation des mesures dans l'explorateur de mesures

Accédez à la console OCI, accédez à Observation & gestion, Explorateur de mesures et entrez les informations suivantes :

Exemple de requête :

replication_lag_metric[1m]{DBSystemId = "<your-db-system-ocid>"}.mean()

Tâche 9 : configurer un sujet et des abonnements OCI Notifications

  1. Accédez à la console OCI, accédez à Intégration d'application et cliquez sur Notifications.

  2. Créez un sujet. Par exemple, PostgresCustomMonitoringAlerts.

  3. Ajoutez des abonnements (e-mail, webhook, etc.).

  4. Liez cette rubrique à vos alarmes pour des alertes en temps réel.

Tâche 10 : configuration des alarmes de surveillance OCI pour les mesures clés

image

image

Tâche 11 : Créer un tableau de bord personnalisé

  1. Accédez à la console OCI, accédez à Observation & gestion et cliquez sur Tableaux de bord.

  2. Cliquez sur Nouveau tableau de bord.

  3. Ajoutez des widgets à l'aide du graphique de mesures ou du générateur de requêtes.

  4. Saisissez les informations suivantes .

    • Espace de noms : entrez postgres_monitor_with_container_vm.
    • Mesures : sélectionnez replication_lag_metric et inactive_slot_metric.
  5. Personnalisez les types de graphiques, les filtres et la période.

image

Table récapitulative

Composant Description
Groupe dynamique Accorde à OCI un accès à la machine virtuelle de conteneur
OCI Vault Stockage sécurisé des informations d'identification de base de données
OCI Registry Référentiel d'images Docker hôte
Surveillance de l'agent Collecte des mesures PostgreSQL personnalisées
Alarmes Alertes de décalage, créneaux, données manquantes
Machine virtuelle de conteneur Exécute l'outil de surveillance Java
Dashboard Visualise les mesures en temps réel

Points forts de l'architecture sans serveur et résiliente

Dépannage et problèmes

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.