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 les règles définissant la manière dont les données doivent être traitées.

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

Valeurs possibles :
yaml - YAML ;
xml - XML ;
json - JSON.

Comportement du paramètre :
- obligatoire
source string Chaîne sérialisée contenant les données de configuration.

Comportement du paramètre :
- obligatoire
rules object Règles définissant la manière dont les objets nouveaux et existants doivent être importés.

Les utilisateurs de type Admin peuvent importer uniquement les objets pour lesquels ils disposent d'une autorisation en lecture-écriture, ainsi que les cartes. Par exemple, un hôte et ses entités (éléments, déclencheurs, graphiques, etc.) ne peuvent être importés que si le groupe d'utilisateurs de l'utilisateur dispose d'une autorisation sur le groupe d'hôtes auquel l'hôte importé appartiendra. Les images et les types de média ne peuvent pas être importés par les utilisateurs de type Admin.

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

Comportement du paramètre :
- obligatoire

Si aucune règle n'est fournie, 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 définissant la manière d'importer les règles LLD.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouvelles règles LLD seront créées ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les règles LLD existantes seront mises à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les règles LLD absentes des données importées seront supprimées de la base de données ; valeur par défaut : false.
graphs object Règles définissant la manière d'importer les graphiques.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux graphiques seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les graphiques existants seront mis à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les graphiques absents des données importées seront supprimés de la base de données ; valeur par défaut : false.
host_groups object Règles définissant la manière d'importer les groupes d'hôtes.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux groupes d'hôtes seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les groupes d'hôtes existants seront mis à jour ; valeur par défaut : false.
template_groups object Règles définissant la manière d'importer les groupes de modèles.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux groupes de modèles seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les groupes de modèles existants seront mis à jour ; valeur par défaut : false.
hosts object Règles définissant la manière d'importer les hôtes.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux hôtes seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les hôtes existants seront mis à jour ; valeur par défaut : false.
httptests object Règles définissant la manière d'importer les scénarios web.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux scénarios web seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les scénarios web existants seront mis à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les scénarios web absents des données importées seront supprimés de la base de données ; valeur par défaut : false.
images object Règles définissant la manière d'importer les images.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouvelles images seront créées ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les images existantes seront mises à jour ; valeur par défaut : false.
items object Règles définissant la manière d'importer les éléments.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux éléments seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les éléments existants seront mis à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les éléments absents des données importées seront supprimés de la base de données ; valeur par défaut : false.
maps object Règles définissant la manière d'importer les cartes.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouvelles cartes seront créées ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les cartes existantes seront mises à jour ; valeur par défaut : false.
mediaTypes object Règles définissant la manière d'importer les types de média.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux types de média seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les types de média existants seront mis à jour ; valeur par défaut : false.
templateLinkage object Règles définissant la manière d'importer les liaisons de modèles.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, les modèles qui ne sont pas liés à l'hôte ou au modèle en cours d'importation, mais qui sont présents dans les données importées, seront liés ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les modèles liés à l'hôte ou au modèle en cours d'importation, mais absents des données importées, seront dissociés sans supprimer les entités (éléments, déclencheurs, etc.) héritées des modèles dissociés ; valeur par défaut : false.
templates object Règles définissant la manière d'importer les modèles.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux modèles seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les modèles existants seront mis à jour ; valeur par défaut : false.
templateDashboards object Règles définissant la manière d'importer les tableaux de bord de modèles.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux tableaux de bord de modèles seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les tableaux de bord de modèles existants seront mis à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les tableaux de bord de modèles absents des données importées seront supprimés de la base de données ; valeur par défaut : false.
triggers object Règles définissant la manière d'importer les déclencheurs.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouveaux déclencheurs seront créés ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les déclencheurs existants seront mis à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les déclencheurs absents des données importées seront supprimés de la base de données ; valeur par défaut : false.
valueMaps object Règles définissant la manière d'importer les correspondances de valeurs d'hôte ou de modèle.

Paramètres pris en charge :
createMissing - (boolean) si défini sur true, de nouvelles correspondances de valeurs seront créées ; valeur par défaut : false ;
updateExisting - (boolean) si défini sur true, les correspondances de valeurs existantes seront mises à jour ; valeur par défaut : false ;
deleteMissing - (boolean) si défini sur true, les correspondances de valeurs absentes des données importées seront supprimées de la base de données ; valeur par défaut : false.

Valeurs retournées

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

Exemples

Importation d’un modèle

Importez la configuration du modèle contenue dans la chaîne XML. Si des éléments ou des déclencheurs dans la chaîne XML sont manquants, 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>8.0</version><template_groups><template_group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></template_group></template_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>&lt;dt&gt;Server uptime: (.*)&lt;\/dt&gt;</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)&gt;2</expression><name>CPU load too high on {HOST.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"
    },
    "id": 1
}

Réponse :

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

Source

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