PostgreSQL -Datenspeicher für Watson Discoveryüberwachen

Sie können die Überwachung des PostgreSQL -Datenspeichers aktivieren, um Aktualisierungen zu seiner Nutzung und seinem Status durch Watson Discoveryzu empfangen. Die Ereignisse können von der Prometheus -Überwachungssoftware oder einer beliebigen Anwendung, die Sie für die Überwachung verwenden, verarbeitet werden.

Berechtigungen, die Sie für diese Tasks benötigen:
Sie müssen Anmeldeberechtigungsnachweise für den Cluster haben.
Sie müssen den Namen des Projekts (den Namensbereich) für Ihre Implementierung haben, den Sie von Ihrem Clusteradministrator erhalten können.

PostgreSQL -Datenspeicher überwachen

Durch die Aktivierung der Überwachung für benutzerdefinierte Projekte zusätzlich zur Standardplattformüberwachung können Sie Ihre eigenen Projekte mit dem Red Hat® OpenShift® Container Platform-Überwachungsstack überwachen.

  1. Erstellen Sie eine Konfigurationszuordnung, die eine Liste der zu überwachenden Abfragen definiert.
    apiVersion: v1
    kind: ConfigMap
    metadata:
      labels:
        cnpg.io/reload: "true"
      name: {name-of-config-map}
    data:
      {name-of-query}: |
      ...
    Hierbei steht {name-of-config-map} für den Namen der Konfigurationszuordnung und {name-of-query} für den Namen der Abfrage gefolgt von einer Liste mit Abfragebeispiele.
    Die folgende Konfigurationszuordnung hat beispielsweise den Namen postgresql-wds-record-monitor und sucht nach Abfragen, die länger als 5 Minuten ausgeführt werden.
    apiVersion: v1
    kind: ConfigMap
    metadata:
      labels:
        cnpg.io/reload: "true"
      name: postgresql-wds-record-monitor
    data:
      custom-queries: |
        wd_long_running_query:
          primary: true
          query: "select datname,count(*) as count from pg_stat_activity where (now() - pg_stat_activity.query_start)> interval '5 minutes' group by datname"
          metrics:
            - datname:
                usage: "LABEL"
                description: "Name of the database"
            - count:
                usage: "GAUGE"
                description: "Number of queries that have been running for over 5 minutes"
  2. Korrigieren Sie die angepasste Ressource des Erkennungsservice, um die EDB-Überwachung mithilfe der im vorherigen Schritt definierten Konfigurationsübersicht zu aktivieren.
    oc patch wd wd --type=merge --patch '{"spec": {"postgres": {"monitoring": {\
    "customQueriesConfigMap": [{"key": "{name-of-query}", "name": "{name-of-config-map}"}]}}}}'
    Dieser Patch bewirkt, dass der Erkennungsoperator die neue Konfigurationszuordnung zu spec.monitoring.customQueriesConfigMap in der angepassten Ressource PostgreSQL hinzufügt.
  3. Erstellen Sie die Konfigurationszuordnung cluster-monitoring-config und setzen Sie enableUserWorkload unter data/config.yamlauf true . (Wenn die ConfigMap bereits vorhanden ist, wird sie mit diesem Befehl überschrieben.) Wenn der Parameter enableUserWorkload auf truegesetzt ist, wird die Überwachung für benutzerdefinierte Projekte in einem Cluster aktiviert.

    cat << EOF | oc apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
        enableUserWorkload: true
    EOF
  4. Setzen Sie openshift.io/user-monitoring für das IBM® Software Hub -Projekt (Namensbereich) auf true . Dies ermöglicht die Benutzerüberwachung, wenn die Netzrichtlinie erstellt wird.

    oc label namespace ${PROJECT_CPD_INST_OPERANDS} openshift.io/user-monitoring=true
  5. Erstellen Sie eine Netzrichtlinie, damit Prometheus die PodMonitor -Ressource im Namensbereich der Instanz überwachen kann. Dadurch kann das Projekt Verbindungen aus dem Überwachungsstack von Red Hat OpenShift Container Platform akzeptieren.

    cat << EOF | oc apply -f -
    kind: NetworkPolicy
    apiVersion: networking.k8s.io/v1
    metadata:
      name: wd-discovery-cn-postgres-prometheus
      namespace: ${PROJECT_CPD_INST_OPERANDS}
    spec:
      ingress:
      - from:
        - namespaceSelector:
           matchLabels:
             network.openshift.io/policy-group: monitoring
      podSelector:
        matchLabels:
          postgresql: wd-discovery-cn-postgres
      policyTypes:
      - Ingress
    EOF
  6. Erstellen Sie eine PodMonitor -Konfigurationszuordnung, um ein PodMonitor -Objekt zu erstellen, das die Pods PostgreSQL auf Metriken überwacht und für den Überwachungsstack von Red Hat OpenShift Container Platform verfügbar macht.

    cat << EOF | oc apply -f -
    apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: wd-discovery-cn-postgres-podmonitor
    spec:
      podMetricsEndpoints:
      - port: metrics
      selector:
        matchLabels:
          postgresql: wd-discovery-cn-postgres
    EOF
  7. Stellen Sie sicher, dass die PostgreSQL -Metriken aus Ihrem Überwachungsstack angezeigt werden. Eine Liste der vordefinierten Metriken, die von PostgreSQL bereitgestellt werden, sowie Informationen zum Definieren eigener Metriken finden Sie unter Überwachung in der Dokumentation zu EDB PostgreSQL für Kubernetes .