UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur Linux
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Comment collecter les données d'utilisation de DU avec le magasin d'objets intégré au cluster (Ceph)

Collectez les données d'utilisation de Document Understanding à partir du stockage d'objets Ceph dans Automation Suite.

Cette section explique comment collecter les données d'utilisation de Document Understanding (DU) lors de l'utilisation du magasin d'objets intégré au cluster (Ceph).

Procédez comme suit :

  1. Avant d'exécuter le script du collecteur DU, assurez-vous de mettre à jour les valeurs suivantes :

    • <REGISTRY> :
      • Utilisez localhost:30071 pour les déploiements hors ligne.
      • Utilisez registry.uipath.com pour les déploiements en ligne.
      • Utilisez l'URL de votre registre externe pour les registres privés.
    • <TAG>: Ouvrez versions.json et localisez la balise d'image sf-k8-utils-rhel . Utilisez cette balise pour remplacer <TAG> dans le script.
  2. Exécutez le script du collecteur d’utilisation DU après avoir mis à jour les valeurs, comme suit :

    NAMESPACE="rook-ceph"
    POD_NAME="du-usage-collector"
    SECRET_NAME="ceph-object-store-secret"
    LOCAL_TAR="du-usage.tar.gz"
    MOUNTED_SECRET_PATH="/rook-secret"
    TARGET_PATH="aistorage/org-00000000-0000-0000-0000-000000000001/tenant-00000000-0000-0000-0000-000000000001"
    BUCKET_NAME="ai-storage"
    IMAGE="<REGISTRY>/uipath/sf-k8-utils-rhel:<TAG>"
    
    echo "[*] Removing pod $POD_NAME in namespace $NAMESPACE..."
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE" --ignore-not-found=true
    
    echo "[*] Creating pod $POD_NAME in namespace $NAMESPACE..."
    kubectl apply -n "$NAMESPACE" -f - <<EOF
    apiVersion: v1
    kind: Pod
    metadata:
      name: $POD_NAME
      namespace: $NAMESPACE
    spec:
      restartPolicy: Never
      containers:
      - name: sleep
        image: $IMAGE
        command: ["bash", "-c", "echo 'Main container started, sleeping...'; sleep 3600"]
        volumeMounts:
        - name: output
          mountPath: /output
      initContainers:
      - name: du-usage-collector
        image: $IMAGE
        command: ["/bin/bash", "-c"]
        args:
          - |
            set -euo pipefail
            echo "[*] Extracting Ceph secret values..."
            ACCESS_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_ACCESSKEY)
            SECRET_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_SECRETKEY)
            HOST=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_INTERNAL_SERVICE)
            PORT=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_PORT)
            export AWS_ACCESS_KEY_ID=\$ACCESS_KEY
            export AWS_SECRET_ACCESS_KEY=\$SECRET_KEY
            echo "[*] Syncing from s3://$BUCKET_NAME/$TARGET_PATH ..."
            mkdir -p /tmp/download
            s3cmd sync s3://$BUCKET_NAME/$TARGET_PATH/ /tmp/download/ \
              --host=\$HOST:\$PORT --host-bucket= --no-ssl --no-check-certificate
            echo "[*] Creating archive..."
            mkdir -p /output
            tar -czf /output/du-usage.tar.gz -C /tmp/download .
            echo "[✔] Archive ready at /output/du-usage.tar.gz"
        volumeMounts:
        - name: rook-secret
          mountPath: $MOUNTED_SECRET_PATH
          readOnly: true
        - name: output
          mountPath: /output
      volumes:
      - name: rook-secret
        secret:
          secretName: $SECRET_NAME
          optional: false
      - name: output
        emptyDir: {}
    EOF
    
    echo "[*] Waiting for pod to be Running..."
    for i in {1..30}; do
      phase=$(kubectl get pod "$POD_NAME" -n "$NAMESPACE" -o jsonpath="{.status.phase}")
      if [[ "$phase" == "Running" ]]; then
        echo "Pod is Running."
        break
      fi
      echo "[$i] Still waiting..."
      sleep 5
    done
    
    echo -e "\nArchive will be saved as: $LOCAL_TAR\n\n"
    echo "[*] Copying archive from pod to local..."
    kubectl cp "$NAMESPACE/$POD_NAME:/output/du-usage.tar.gz" "$LOCAL_TAR"
    NAMESPACE="rook-ceph"
    POD_NAME="du-usage-collector"
    SECRET_NAME="ceph-object-store-secret"
    LOCAL_TAR="du-usage.tar.gz"
    MOUNTED_SECRET_PATH="/rook-secret"
    TARGET_PATH="aistorage/org-00000000-0000-0000-0000-000000000001/tenant-00000000-0000-0000-0000-000000000001"
    BUCKET_NAME="ai-storage"
    IMAGE="<REGISTRY>/uipath/sf-k8-utils-rhel:<TAG>"
    
    echo "[*] Removing pod $POD_NAME in namespace $NAMESPACE..."
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE" --ignore-not-found=true
    
    echo "[*] Creating pod $POD_NAME in namespace $NAMESPACE..."
    kubectl apply -n "$NAMESPACE" -f - <<EOF
    apiVersion: v1
    kind: Pod
    metadata:
      name: $POD_NAME
      namespace: $NAMESPACE
    spec:
      restartPolicy: Never
      containers:
      - name: sleep
        image: $IMAGE
        command: ["bash", "-c", "echo 'Main container started, sleeping...'; sleep 3600"]
        volumeMounts:
        - name: output
          mountPath: /output
      initContainers:
      - name: du-usage-collector
        image: $IMAGE
        command: ["/bin/bash", "-c"]
        args:
          - |
            set -euo pipefail
            echo "[*] Extracting Ceph secret values..."
            ACCESS_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_ACCESSKEY)
            SECRET_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_SECRETKEY)
            HOST=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_INTERNAL_SERVICE)
            PORT=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_PORT)
            export AWS_ACCESS_KEY_ID=\$ACCESS_KEY
            export AWS_SECRET_ACCESS_KEY=\$SECRET_KEY
            echo "[*] Syncing from s3://$BUCKET_NAME/$TARGET_PATH ..."
            mkdir -p /tmp/download
            s3cmd sync s3://$BUCKET_NAME/$TARGET_PATH/ /tmp/download/ \
              --host=\$HOST:\$PORT --host-bucket= --no-ssl --no-check-certificate
            echo "[*] Creating archive..."
            mkdir -p /output
            tar -czf /output/du-usage.tar.gz -C /tmp/download .
            echo "[✔] Archive ready at /output/du-usage.tar.gz"
        volumeMounts:
        - name: rook-secret
          mountPath: $MOUNTED_SECRET_PATH
          readOnly: true
        - name: output
          mountPath: /output
      volumes:
      - name: rook-secret
        secret:
          secretName: $SECRET_NAME
          optional: false
      - name: output
        emptyDir: {}
    EOF
    
    echo "[*] Waiting for pod to be Running..."
    for i in {1..30}; do
      phase=$(kubectl get pod "$POD_NAME" -n "$NAMESPACE" -o jsonpath="{.status.phase}")
      if [[ "$phase" == "Running" ]]; then
        echo "Pod is Running."
        break
      fi
      echo "[$i] Still waiting..."
      sleep 5
    done
    
    echo -e "\nArchive will be saved as: $LOCAL_TAR\n\n"
    echo "[*] Copying archive from pod to local..."
    kubectl cp "$NAMESPACE/$POD_NAME:/output/du-usage.tar.gz" "$LOCAL_TAR"
    
  3. Après avoir récupéré l'archive, supprimez le pod :

    kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
    

Le fichier du-usage.tar.gz contient les données d'utilisation de DU.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour