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"
}
}
Attribut | Description |
---|---|
TempFolder | Chemin de stockage des données temporaires. Il peut être relatif ou absolu |
DataFolder | Chemin 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}}"
}
}
Attribut | Description |
---|---|
StorageConnectionString | Chaîne de connexion du compte de stockage Azure |
ContainerName | Nom 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