Configurer un agent auto-hébergé

Configurer un agent auto-hébergé

Méthodes de configuration

La configuration d’un agent se fait via deux manières:

  • Via la ligne de commande.

La commande doit être au format suivant:

Pour windows Grapes.Agent.exe config --clé1 valeur1 --clé2 valeur2

Pour linux

dotnet Grapes.Agent.dll config --clé1 valeur1 --clé2 valeur2

Note: La ligne de commande ne permet pas de gérer toutes les options de configuration.

  • Via Le fichier de configuration

Le fichier de configuration est éditable par un simple éditeur de texte. Il est au format Json.

Le fichier s’appelle config.json et se trouve dans le répertoire “config” de l’installation.

Note: L’‘agent doit être démarré après une modification du fichier de configuration.

Options de configuration

Stockage de données

Stockage géré par Grapes

"DatasetStorage": {
  "Mode": "GrapesStorage",
  "Configuration": {
    "TempFolder": "../_temp"
  }
}

Il s’agit du mode de stockage par défaut.

Stockage dans un système de fichiers

"DatasetStorage": {
  "Mode": "FileSystem",
  "Configuration": {
    "TempFolder": "../_temp"
  },
  "FileSystem": {
    "DataFolder": "../data"
  }
}
AttributDescription
TempFolderChemin de stockage des données temporaires. Il peut être relatif ou absolu
DataFolderChemin de stockage des jeux de données. Il peut être relatif ou absolu

Stockage dans un compte de stockage Azure

"DatasetStorage": {
  "Mode": "AzureStorage",
  "Configuration": {
    "TempFolder": "../_temp"
  },
  "AzureStorage": {
    "StorageConnectionString": "{{Votre chaîne de connexion ici}}}",
    "ContainerName": "{{Le nom du conteneur de données}}"
  }
}
AttributDescription
StorageConnectionStringChaîne de connexion du compte de stockage Azure
ContainerNameNom du conteneur de données

Si vous avez besoin d’un mode de stockage différent n’hésitez pas à contacter le support

Logs

Les logs de l’agent s’appuient sur la librairie [Serilog] (https://github.com/serilog/serilog).

Par défaut, deux sorties sont définies au niveau des logs:

  • Console
  • Fichier (dans le répertoire logs)

Il est possible de changer cette configuration en éditant le fichier config.json et en ajoutant cette section:

"Serilog": {
  "MinimumLevel": {
    "Default": "Info",
    "Override": {
      "Microsoft": "Warning"
    }
  },
  "WriteTo": [
    {
      "Name": "File",
      "Args": {
        "path": "../logs/log-.txt",
        "rollingInterval": "Day",
        "restrictedToMinimumLevel": "Debug"
      }
    },
    {
      "Name": "Console",
      "Args": {
        "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console",
        "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {NewLine}{Exception}",
        "restrictedToMinimumLevel": "Information"
      }
    }
  ]

Note: Si vous avez besoin d’utiliser d’autres types de sorties de logs, n’hésitez pas à contacter le support

Parallélisation

A partir de la version 1.07

Par défaut, le nombre d’opérations simultanées exécutées par un agent n’est pas limité. L’agent utilise le nombre de threads que fournit le planificateur sous-jacent.

Par opération on entend l’export d’une table par exemple. En effet, l’agent grapes ne peut exécuter qu’une tâche à la fois (par exemple export d’un jeu de données) mais il peut paralléliser l’exécution de certaines sous-opérations.

Il est toutefois possible d’agir sur le degré de parallélisation des opérations de l’agent.

"Workers": {
  "DefaultMaxDegreeOfParallelism": -1
}

La valeur du paramètre peut être:

  • -1 : C’est la valeur par défaut.
  • >0 : Un nombre d’opérations simultanées fixe