configuration.import

Description

boolean configuration.import(object parameters)

Cette méthode permet d'importer les données de configuration sous forme de chaîne sérialisée.

Cette méthode est disponible pour les utilisateurs de tout type. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôle utilisateur. Voir Rôles utilisateur pour plus d'informations.

Paramètres

(object) Paramètres contenant les données à importer et règles de traitement des données.

Paramètre Type Description
format
(obligatoire)
string Format de la chaîne sérialisée.

Valeurs possibles :
yaml - YAML;
xml - XML;
json - JSON.
source
(obligatoire)
string Chaîne sérialisée contenant les données de configuration.
rules
(obligatoire)
object Règles sur la façon dont les objets nouveaux et existants doivent être importés.

Le paramètre rules est décrit en détail dans le tableau ci-dessous.

Si aucune règle n'est donnée, la configuration ne sera pas mise à jour.

L'objet rules prend en charge les paramètres suivants.

Paramètre Type Description
discoveryRules object Règles sur la façon d'importer les règles LLD.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouvelles règles LLD seront créées ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les règles LLD existantes seront mises à jour; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, Les règles LLD non présentes dans les données importées seront supprimées de la base de données ; par défaut: false.
graphs object Règles sur la façon d'importer des graphiques.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux graphiques seront créés ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les graphiques existants seront mis à jour ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les graphiques non présents dans les données importées seront supprimés de la base de données ; par défaut: false.
groups object Règles sur l'importation des groupes d'hôtes.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux groupes d'hôtes seront créés ; par défaut : false ;
updateExisting - (boolean) Si initialisé à true, les groupes d'hôtes existants seront mis à jour ; par défaut: false.
hosts object Règles sur la façon d'importer des hôtes.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux hôtes seront créés ; par défaut : false;
updateExisting - (boolean) Si initialisé à true, les hôtes existants seront mis à jour ; par défaut: false.
httptests object Règles sur la façon d'importer des scénarios Web.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux scenarios web seront créés ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les scenarios web existants seront mis à jour ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les scenarios web non présents dans les données importées seront supprimés de la base de données ; par défaut: false.
images object Règles sur la façon d'importer des images.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouvelles images seront créées ; par défaut : false;
updateExisting - (boolean) Si initialisé à true, les images existantes seront mises à jour ; par défaut: false.
items object Règles sur la façon d'importer des éléments.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux éléments seront créés ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les éléments existants seront mis à jour ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les éléments non présents dans les données importées seront supprimés de la base de données ; par défaut: false.
maps object Règles sur la façon d'importer des cartes.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouvelles cartes seront créées ; par défaut : false;
updateExisting - (boolean) Si initialisé à true, les cartes existantes seront mises à jour ; par défaut: false.
mediaTypes object Règles sur la façon d'importer des types de médias.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux types de médias seront créés ; par défaut : false;
updateExisting - (boolean) Si initialisé à true, les types de médias existants seront mis à jour ; par défaut: false.
templateLinkage object Règles sur la façon d'importer les liens de modèles.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux liens entre modèles et hôtes seront créés ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les liens non présents dans les données importées seront supprimés de la base de données ; par défaut: false.
templates object Règles sur l'importation des modèles.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux modèles seront créés ; par défaut : false ;
updateExisting - (boolean) Si initialisé à true, les modèles existants seront mis à jour ; par défaut: false.
templateDashboards object Règles sur la façon d'importer des tableaux de bord des modèles.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux tableaux de bord seront créés ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les tableaux de bord existants seront mis à jour ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les tableaux de bord non présents dans les données importées seront supprimés de la base de données ; par défaut: false.
triggers object Règles sur la façon d'importer des déclencheurs.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouveaux déclencheurs seront créés ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les déclencheurs existants seront mis à jour ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les déclencheurs non présents dans les données importées seront supprimés de la base de données ; par défaut: false.
valueMaps object Règles sur la façon d'importer des tables de correspondance.

Paramètres pris en charge :
createMissing - (boolean) Si initialisé à true, les nouvelles tables de correspondance seront créées ; par défaut: false ;
updateExisting - (boolean) Si initialisé à true, les tables de correspondance existantes seront mises à jour ; par défaut: false ;
deleteMissing - (boolean) Si initialisé à true, les tables de correspondance non présentes dans les données importées seront supprimées de la base de données ; par défaut: false.

Valeurs retournées

(boolean) Retourne true si l'import est réussi.

Exemples

Importation d'un modèle

Importe la configuration d'un modèle contenue dans la chaîne XML. S'il manque des éléments ou des déclencheurs dans la chaîne XML, ils seront supprimés de la base de données et tout le reste restera inchangé.

Requête :

{
           "jsonrpc": "2.0",
           "method": "configuration.import",
           "params": {
               "format": "xml",
               "rules": {
                   "templates": {
                       "createMissing": true,
                       "updateExisting": true
                   },
                   "items": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "triggers": {
                       "createMissing": true,
                       "updateExisting": true,
                       "deleteMissing": true
                   },
                   "valueMaps": {
                       "createMissing": true,
                       "updateExisting": false
                   }
               },
               "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<zabbix_export><version>6.0</version><date>2023-01-01T12:00:00Z</date><groups><group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></group></groups><templates><template><uuid>5aef0444a82a4d8cb7a95dc4c0c85330</uuid><template>New template</template><name>New template</name><groups><group><name>Templates</name></group></groups><items><item><uuid>7f1e6f1e48aa4a128e5b6a958a5d11c3</uuid><name>Zabbix agent ping</name><key>agent.ping</key></item><item><uuid>77ba228662be4570830aa3c503fcdc03</uuid><name>Apache server uptime</name><type>DEPENDENT</type><key>apache.server.uptime</key><delay>0</delay><trends>0</trends><value_type>TEXT</value_type><preprocessing><step><type>REGEX</type><parameters><parameter><dt>Server uptime: (.*)</dt></parameter><parameter>\\1</parameter></parameters></step></preprocessing><master_item><key>web.page.get[127.0.0.1/server-status]</key></master_item></item><item><uuid>6805d4c39a624a8bab2cc8ab63df1ab3</uuid><name>CPU load</name><key>system.cpu.load</key><value_type>FLOAT</value_type><triggers><trigger><uuid>ab4c2526c2bc42e48a633082255ebcb3</uuid><expression>avg(/New template/system.cpu.load,3m)>2</expression><name>CPU load too high on 'New host' for 3 minutes</name><priority>WARNING</priority></trigger></triggers></item><item><uuid>590efe5731254f089265c76ff9320726</uuid><name>Apache server status</name><key>web.page.get[127.0.0.1/server-status]</key><trends>0</trends><value_type>TEXT</value_type></item></items><valuemaps><valuemap><uuid>8fd5814c45d44a00a15ac6eaae1f3946</uuid><name>Zabbix agent ping</name><mappings><mapping><value>1</value><newvalue>Available</newvalue></mapping><mapping><value>0</value><newvalue>Not available</newvalue></mapping></mappings></valuemap></valuemaps></template></templates></zabbix_export>\n"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

{
           "jsonrpc": "2.0",
           "result": true,
           "id": 1
       }

Source

CConfiguration::import() dans ui/include/classes/api/services/CConfiguration.php.