configuration.import
Descripción
boolean configuration.import(object parameters)
Este método permite importar datos de configuración desde una cadena serializada.
Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Consulte User roles para obtener más información.
Parámetros
(object) Parámetros que contienen los datos a importar y las reglas sobre cómo deben tratarse los datos.
| Parameter | Type | Description |
|---|---|---|
| format | string | Formato de la cadena serializada. Valores posibles: yaml - YAML;xml - XML;json - JSON.Comportamiento del parámetro: - required |
| source | string | Cadena serializada que contiene los datos de configuración. Comportamiento del parámetro: - required |
| rules | object | Reglas sobre cómo deben importarse los objetos nuevos y existentes. Los usuarios de tipo Admin solo pueden importar aquellos objetos para los que tengan permiso de lectura y escritura, así como los mapas. Por ejemplo, un host y sus entidades (items, triggers, gráficos, etc.) solo pueden importarse si el grupo de usuarios del usuario tiene permiso sobre el grupo de hosts al que pertenecerá el host importado. Las imágenes y los tipos de medios no pueden ser importados por usuarios de tipo Admin. El parámetro rules se describe en detalle en la tabla siguiente.Comportamiento del parámetro: - required |
| returnMissingObjects | boolean | Reglas sobre si el objeto de respuesta debe contener información acerca de los objetos faltantes; valor predeterminado: false. |
Si no se proporcionan reglas, la configuración no se actualizará.
El objeto rules admite los siguientes parámetros.
| Parameter | Type | Description |
|---|---|---|
| dashboards | object | Reglas sobre cómo importar dashboards. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos dashboards; valor predeterminado: false;updateExisting - (boolean) si se establece en true y un dashboard importable concreto está presente en el sistema, se actualizará por completo. Las páginas y los widgets se reescribirán por completo con los nuevos; valor predeterminado: false. |
| discoveryRules | object | Reglas sobre cómo importar reglas de LLD. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevas reglas de LLD; valor predeterminado: false;updateExisting - (boolean) si se establece en true, las reglas de LLD existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, las reglas de LLD que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
| global_regexes | object | Reglas sobre cómo importar expresiones regulares globales. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevas expresiones regulares globales; valor predeterminado: false;updateExisting - (boolean) si se establece en true, las expresiones regulares globales existentes se actualizarán, sobrescribiendo por completo sus subexpresiones; valor predeterminado: false. |
| graphs | object | Reglas sobre cómo importar gráficos. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos gráficos; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los gráficos existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los gráficos que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
| host_groups | object | Reglas sobre cómo importar grupos de hosts. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos grupos de hosts; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los grupos de hosts existentes se actualizarán; valor predeterminado: false. |
| hosts | object | Reglas sobre cómo importar hosts. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos hosts; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los hosts existentes se actualizarán; valor predeterminado: false. |
| httptests | object | Reglas sobre cómo importar escenarios web. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos escenarios web; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los escenarios web existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los escenarios web que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
| images | object | Reglas sobre cómo importar imágenes. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevas imágenes; valor predeterminado: false;updateExisting - (boolean) si se establece en true, las imágenes existentes se actualizarán; valor predeterminado: false. |
| items | object | Reglas sobre cómo importar items. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos items; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los items existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los items que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
| maps | object | Reglas sobre cómo importar mapas. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos mapas; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los mapas existentes se actualizarán; valor predeterminado: false. |
| mediaTypes | object | Reglas sobre cómo importar tipos de medios. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos tipos de medios; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los tipos de medios existentes se actualizarán; valor predeterminado: false. |
| templateDashboards | object | Reglas sobre cómo importar dashboards de template. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos dashboards de template; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los dashboards de template existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los dashboards de template que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
| template_groups | object | Reglas sobre cómo importar grupos de template. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos grupos de template; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los grupos de template existentes se actualizarán; valor predeterminado: false. |
| templateLinkage | object | Reglas sobre cómo importar enlaces de template. Parámetros admitidos: createMissing - (boolean) si se establece en true, los templates que no estén enlazados al host o template que se está importando, pero que estén presentes en los datos importados, se enlazarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los templates que estén enlazados al host o template que se está importando, pero que no estén presentes en los datos importados, se desvincularán sin eliminar las entidades (items, triggers, etc.) heredadas de los templates desvinculados; valor predeterminado: false. |
| templates | object | Reglas sobre cómo importar templates. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos templates; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los templates existentes se actualizarán; valor predeterminado: false. |
| triggers | object | Reglas sobre cómo importar triggers. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos triggers; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los triggers existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los triggers que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
| valueMaps | object | Reglas sobre cómo importar mapas de valores de host o template. Parámetros admitidos: createMissing - (boolean) si se establece en true, se crearán nuevos mapas de valores; valor predeterminado: false;updateExisting - (boolean) si se establece en true, los mapas de valores existentes se actualizarán; valor predeterminado: false;deleteMissing - (boolean) si se establece en true, los mapas de valores que no estén presentes en los datos importados se eliminarán de la base de datos; valor predeterminado: false. |
Valores de retorno
(boolean) Devuelve true si la importación se ha realizado correctamente.
Ejemplos
Importando una plantilla
Importa la configuración de la plantilla contenida en la cadena XML. Si faltan métricas o disparadores en la cadena XML, se eliminarán de la base de datos y todo lo demás permanecerá sin cambios.
{
"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><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 {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
}
Respuesta:
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
Fuente
CConfiguration::import() en ui/include/classes/api/services/CConfiguration.php.