Créer des alarmes et un tableau de bord de surveillance OCI personnalisées PostgreSQL à l'aide des instances de conteneur

Présentation

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 dé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. Bien 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 de surveillance

  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 de Docker sont incluses dans le référentiel.

    Note : Les instructions de création et de poussée de l'image Docker sont déjà disponibles dans README.md du référentiel de projet.

Tâche 2 : Créer un groupe dynamique

Les groupes dynamiques permettent à votre machine virtuelle de conteneur d'accéder aux services OCI tels que le service de surveillance pour OCI, le service de chambre forte pour OCI et le registre OCI sans utiliser de données d'identification codées en dur et sans stocker les données d'identification dans votre image.

Utilisez les informations suivantes :

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

Tâche 3 : Configurer le réseau (VCN et la passerelle de service)

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

Règles de la 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 Objet
Entrant bloc CIDR de sous-réseau privé TCP 5,432 Accès à PostgreSQL
Trafic sortant 0.0.0.0/0 Tous Tous 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 données d'identification de base de données.

  1. Créez une chambre forte et ajoutez une clé secrète contenant le mot de passe PostgreSQL.

  2. Enregistrez l'OCID de la clé secrète de la chambre forte.

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

Tâche 5 : Définir les politiques d'Oracle Cloud Infrastructure Identity and Access Management

Joindre ces politiques 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 : Lancer les instances de conteneur

Allez à la console OCI, naviguez jusqu'à Services de développement, Artefact de conteneur, Instances de conteneur, Créer une instance et entrez les informations suivantes :

Note : L'accès est accordé sans données d'identification au moyen du groupe dynamique OCI IAM.

Image

Tâche 7 : Vérifier les journaux dans la console OCI

Allez à la console OCI, naviguez jusqu'à Services de développement, Artefact de conteneur, Instances de conteneur, sélectionnez votre instance et cliquez sur l'onglet Conteneurs pour inspecter les journaux et le statut d'exécution.

Tâche 8 : Voir les mesures dans l'explorateur de mesures

Allez à la console OCI, naviguez jusqu'à Observabilité et gestion, Explorateur de mesures et entrez les informations suivantes :

Exemple d'interrogation :

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

Tâche 9 : Configurer un sujet et des abonnements d'avis OCI

  1. Allez à la console OCI, naviguez jusqu'à Intégration d'applications et cliquez sur Avis.

  2. Créer un sujet. Par exemple PostgresCustomMonitoringAlerts.

  3. Ajouter des abonnements (courriel, webhook, etc.).

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

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

Image

Image

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

  1. Allez à la console OCI, naviguez jusqu'à Observabilité et gestion et cliquez sur Tableaux de bord.

  2. Cliquez sur Nouveau tableau de bord.

  3. Ajoutez des widgets à l'aide du graphique de mesure ou du générateur d'interrogations.

  4. Entrez 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 graphique, les filtres et l'intervalle de temps.

Image

Table sommaire

Composant Objet
Groupe dynamique Permet à OCI d'accéder à la machine virtuelle du conteneur
Service de chambre forte pour OCI Stockage sécurisé des données d'identification de base de données
Service de registre pour OCI Référentiel d'images Docker d'hôte
Agent de surveillance Collecte les mesures PostgreSQL personnalisées
Alarmes Alertes de décalage, créneaux horaires, données manquantes
MV conteneur Exécute l'outil de surveillance basé sur Java
Tableau de bord Visualise les mesures en temps réel

Architecture sans serveur et résiliente

Dépannage et problèmes

Remerciements

Ressources d'apprentissage supplémentaires

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

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