Mettre à jour le firmware ExtraHop via l'API REST

Vous pouvez automatiser les mises à niveau du micrologiciel de vos appareils ExtraHop via l'API REST ExtraHop. Ce guide fournit des instructions pour effectuer une mise à niveau via l' explorateur d'API REST, une commande cURL et un script Python.

Remarque :Si votre appareil est connecté à ExtraHop Cloud Services, vous pouvez simplifier le processus de mise à niveau en consultant les versions de firmware disponibles et en téléchargeant le firmware directement sur le système depuis ExtraHop Cloud Services. Pour plus d'informations, voir Mettez à niveau le firmware ExtraHop via l'API REST avec ExtraHop Cloud Services.

Bien que le processus de mise à niveau du microprogramme soit similaire sur tous les appareils ExtraHop, certains appareils comportent des considérations ou étapes supplémentaires que vous devez prendre en compte avant d'installer le microprogramme dans votre environnement. Si vous avez besoin d' aide pour votre mise à niveau, contactez le support ExtraHop.

Tous les appareils doivent répondre aux exigences suivantes :

  • La version du microprogramme doit être compatible avec le modèle de votre appareil.
  • La version du microprogramme de votre appliance doit être prise en charge par la version de mise à niveau.
  • Les appareils de commande doivent exécuter un microprogramme supérieur ou égal à celui des appareils connectés.
  • Les appliances Discover doivent exécuter un microprogramme supérieur ou égal à celui des appliances Explore and Trace connectées.

Si votre déploiement inclut uniquement un sonde, passez au Explorateur d'API, cURL ou Python instructions de mise à niveau.

Si votre déploiement inclut des types d'appareils supplémentaires, vous devez résoudre les dépendances suivantes avant de suivre les instructions de mise à niveau.

Si votre déploiement inclut... Tâches préalables à la mise Ordre de mise à niveau
Appareils de commande Réservez une fenêtre de maintenance d'une heure pour les appareils Command gérant 50 000 appareils ou plus.
  • Appareil de commande
  • Découvrez les appareils
  • Toutes les appliances Explore (nœuds de gestion, puis nœuds de données)
  • Appareils Trace
Découvrez les appareils Voir Mise à niveau des magasins de disques ExtraHop.
Appareils Trace Aucune

Mettez à niveau le firmware ExtraHop via l'explorateur d'API REST

Téléchargez le microprogramme et mettez à niveau l'appliance

  1. Cliquez POST/extrahop/firmware/téléchargement/url.
  2. Cliquez Essayez-le.
  3. Dans le champ body, spécifiez les champs suivants :

    URL_du microprogramme: URL à partir de laquelle le fichier .tar du microprogramme peut être téléchargé.

    mettre à niveau: Indique s'il convient de mettre à niveau l'appliance une fois le téléchargement du microprogramme terminé. Définissez ce champ sur true.

    Le champ body doit ressembler à l'exemple de texte suivant :

    {
      "upgrade": true,
      "firmware_url": "https://example.extrahop.com/eda/8.7.1.tar"
    }

  4. Cliquez Envoyer une demande.
    Dans les en-têtes de réponse, notez la valeur située après la dernière barre oblique location en-tête. Vous aurez besoin de cette valeur pour suivre la progression de la tâche de mise à niveau. Par exemple, l'ID de tâche dans l'exemple suivant est ebbdbc9e-7113-448c-ab9b-cc0ec2307702
    /api/v1/jobs/ebbdbc9e-7113-448c-ab9b-cc0ec2307702

Surveillez la progression de la tâche de mise à niveau

  1. Cliquez Emplois.
  2. Cliquez GET /jobs/ {id}.
  3. Dans le champ id, saisissez la valeur que vous avez copiée depuis location en-tête de la tâche précédente.
  4. Cliquez Envoyer une demande.
  5. Dans le corps de la réponse, consultez les informations relatives à la tâche.
    Le status le champ est DONE lorsque le travail est terminé.

Mettre à jour le firmware ExtraHop avec cURL

Vous pouvez mettre à jour le microprogramme d'une appliance à l'aide de la commande cURL.

Before you begin

  • L'outil cURL doit être installé sur votre machine.
  • Le fichier .tar du microprogramme du système doit être téléchargé sur votre machine.
  1. Ouvrez une application de terminal.
  2. Téléchargez le microprogramme et mettez à niveau l'appliance.

    Exécutez la commande suivante, où YOUR_KEY est la clé API de votre compte utilisateur, HOSTNAME est le nom d'hôte de votre appliance ExtraHop, et FIRMWARE_URL est l'URL à partir de laquelle le fichier .tar du microprogramme peut être téléchargé :

    curl -v -X POST https://HOSTNAME/api/v1/extrahop/firmware/download/url -H "Authorization: ExtraHop apikey=YOUR_KEY" -H "Content-Type: application/json" -d "{ \"upgrade\": true, \"firmware_url\": \"FIRMWARE_URL\"}"

    Dans la sortie de commande, notez l'ID de la tâche dans l'en-tête Location. Par exemple, l'ID de tâche dans l'exemple suivant est ebbdbc9e-7113-448c-ab9b-cc0ec2307702:

    < Location: /api/v1/jobs/ebbdbc9e-7113-448c-ab9b-cc0ec2307702
  3. Surveillez la progression de la tâche de mise à niveau.
    Exécutez la commande suivante, où YOUR_KEY est la clé API de votre compte utilisateur HOSTNAME est le nom d'hôte de votre appliance, et JOB_ID est l'identifiant que vous avez enregistré à l' étape précédente :
    curl -v -X GET https://HOSTNAME/api/v1/jobs/JOB_ID -H "Authorization: ExtraHop apikey=API_KEY"

    La commande affiche un objet contenant des informations sur la tâche de mise à niveau. La mise à niveau est terminée lorsque le status le champ est DONE. Si la mise à niveau n'est pas terminée, attendez quelques minutes et réexécutez la commande.

Récupérez et exécutez l'exemple de script Python

Le référentiel GitHub d'ExtraHop contient un exemple de script Python qui met à niveau plusieurs appareils en lisant les URL, les clés d'API et les chemins de fichiers du microprogramme à partir d'un fichier CSV.

Important :L'exemple de script python s'authentifie auprès de la sonde ou de la console via une clé API, qui n'est pas compatible avec l' API REST Reveal (x) 360. Pour exécuter ce script avec Reveal (x) 360, vous devez modifier le script pour vous authentifier à l'aide de jetons d'API. Consultez les py_rx360_auth.py script dans le référentiel GitHub d'ExtraHop pour un exemple d'authentification à l'aide de jetons d'API.
Remarque :Le script ne désactive pas automatiquement l'ingestion d'enregistrements pour les magasins de disques ExtraHop. Vous devez désactiver manuellement l' ingestion d'enregistrements avant d'exécuter le script pour un magasin de disques ExtraHop.
  1. Accédez au Référentiel GitHub d'exemples de code ExtraHop et téléchargez le contenu du répertoire upgrade_system sur votre machine locale.
  2. Dans un éditeur de texte, ouvrez systems.csv archivez et remplacez les valeurs d' exemple par les noms d'hôte et les clés d'API de vos appliances.
  3. Exécutez le upgrade_system_url.py script.
    Les arguments suivants sont facultatifs :
    --max-threads {int}
    Spécifie le nombre maximum de threads simultanés. La valeur par défaut est 2.
    --wait {float}
    Spécifie le nombre de minutes à attendre avant de vérifier la progression d'une tâche de mise à niveau. La valeur par défaut est 0,5.

    Par exemple, la commande suivante met à niveau un maximum de 3 appliances à la fois :

    python3 upgrade_system_url.py --max-threads 3
    Remarque :Si le script renvoie un message d'erreur indiquant que la vérification du certificat SSL a échoué, assurez-vous que un certificat fiable a été ajouté à votre sonde ou à votre console. Vous pouvez également ajouter le verify=False option permettant de contourner la vérification des certificats. Cependant, cette méthode n'est pas sûre et n'est pas recommandée. Le code suivant envoie une requête HTTP GET sans vérification du certificat :
    requests.get(url, headers=headers, verify=False)

Mise à niveau des magasins de disques ExtraHop

Tâches préalables à la mise

Avant de mettre à niveau un espace de stockage des enregistrements ExtraHop, vous devez arrêter l'ingestion d'enregistrements. Vous pouvez arrêter l' acquisition d'enregistrements pour tous les nœuds d'un cluster à partir d'un seul nœud.

Remarque :Le message Could not determine ingest status on some nodes et Error peut apparaître sur la page Gestion des données du cluster dans les paramètres d'administration des nœuds mis à niveau jusqu'à ce que tous les nœuds du cluster soient mis à niveau. Ces erreurs sont attendues et peuvent être ignorées.
  1. Ouvrez une application de terminal.
  2. Exécutez la commande suivante, où YOUR_KEY est l'API de votre compte utilisateur, et HOSTNAME est le nom d'hôte de votre espace de stockage des enregistrements ExtraHop :
    curl -X PATCH "https://HOST/api/v1/extrahop/cluster" -H "accept: application/json" -H "Authorization: ExtraHop apikey=YOUR_KEY" -H "Content-Type: application/json" -d "{ \"ingest_enabled\": false}"

Tâches post-mise à niveau

Après avoir mis à niveau tous les nœuds du cluster d'espace de stockage des enregistrements, activez l' ingestion d'enregistrements.

  1. Ouvrez une application de terminal.
  2. Exécutez la commande suivante, où YOUR_KEY est l'API de votre compte utilisateur, et HOSTNAME est le nom d'hôte de votre espace de stockage des enregistrements ExtraHop :
    curl -X PATCH "https://HOST/api/v1/extrahop/cluster" -H "accept: application/json" -H "Authorization: ExtraHop apikey=YOUR_KEY" -H "Content-Type: application/json" -d "{ \"ingest_enabled\": true}"
Last modified 2024-03-20