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 Roles de usuario para obtener más información.

Parámetros

(objeto) Parámetros que contienen los datos a importar y reglas sobre cómo se deben manejar los datos.

Parámetro Tipo Descripción
format cadena Formato de la cadena serializada.

Valores posibles:
yaml - YAML;
xml - XML;
json - JSON.

Comportamiento de parámetros:
- obligatorio
source cadena Cadena serializada que contiene los datos de configuración.

Comportamiento del parámetro:
- requerido
rules objeto Reglas sobre cómo se deben importar objetos nuevos y existentes.

El parámetro reglas se describe en detalle en la siguiente tabla.

Comportamiento del parámetro:
- obligatorio

Si no se proporcionan reglas, la configuración no se actualizará.

El objeto rules admite los siguientes parámetros.

Parámetro Tipo Descripción
discoveryRules object Reglas sobre cómo importar reglas LLD.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevas reglas LLD; predeterminado: false;
updateExisting - (boolean) si se establece en true, las reglas LLD existentes se actualizarán; predeterminado: false;
deleteMissing - (boolean) si se establece en true, las reglas LLD que no estén presentes en los datos importados se eliminarán de la base de datos; predeterminado: false.
graphs objeto Reglas sobre cómo importar gráficos.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevos gráficos; predeterminado: false;
updateExisting - (boolean) si se establece en true, los gráficos existentes se actualizarán; 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; predeterminado: false.
host_groups objeto Reglas sobre cómo importar grupos de hosts.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevos grupos de equipos; predeterminado: false;
updateExisting - (boolean) si se establece en true, los grupos de equipos existentes se actualizarán; predeterminado: false.
template_groups objeto Reglas sobre cómo importar grupos de plantillas.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevos grupos de plantillas; predeterminado: false;
updateExisting - (boolean) si se establece en true, los grupos de plantillas existentes se actualizarán; predeterminado: false.
hosts objeto Reglas sobre cómo importar equipos.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevos equipos; predeterminado: false;
updateExisting - (boolean) si se establece en true, los equipos existentes se actualizarán; 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; predeterminado: false;
updateExisting - (boolean) si se establece en true, los escenarios web existentes se actualizarán; 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; predeterminado: false.
images objeto Reglas sobre cómo importar imágenes.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevas imágenes; predeterminado: false;
updateExisting - (boolean) si se establece en true, las imágenes existentes se actualizarán; predeterminado: false.
items objeto Reglas sobre cómo importar métricas.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevas métricas; predeterminado: false;
updateExisting - (boolean) si se establece en true, las métricas existentes se actualizarán; predeterminado: false;
deleteMissing - (boolean) si se establece en true, las métricas que no estén presentes en los datos importados se eliminarán de la base de datos; 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; predeterminado: false;
updateExisting - (boolean) si se establece en true, los mapas existentes se actualizarán; 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; predeterminado: false;
updateExisting - (boolean) si se establece en true, los tipos de medios existentes se actualizarán; predeterminado: false.
templateLinkage object Reglas sobre cómo importar enlaces de plantillas.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, plantillas que no están vinculadas al host o La plantilla que se importa, pero que está presente en los datos importados, se vinculará; predeterminado: false;
deleteMissing - (boolean) si se establece en true, las plantillas que están vinculadas al host o la plantilla que se está importando, pero que no están presentes en los datos importados, se desvincularán sin eliminar entidades (elementos, activadores, etc.) heredadas de las plantillas desvinculadas; predeterminado: false.
templates object Reglas sobre cómo importar plantillas.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevas plantillas; predeterminado: false;
updateExisting - (boolean) si se establece en true, las plantillas existentes se actualizarán; predeterminado: false.
templateDashboards object Reglas sobre cómo importar plantillas de tableros.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevas plantillas de tablero; predeterminado: false;
updateExisting - (boolean) si se establece en true, las plantillas de tablero existentes se actualizarán; predeterminado: false;
deleteMissing - (boolean) si se establece en true, las plantillas de tablero que no estén presentes en los datos importados se eliminarán de la base de datos; predeterminado: false.
triggers object Reglas sobre cómo importar iniciadores.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevos iniciadores; predeterminado: false;
updateExisting - (boolean) si se establece en true, los iniciadores existentes se actualizarán; predeterminado: false;
deleteMissing - (boolean) si se establece en true, los iniciadores que no estén presentes en los datos importados se eliminarán de la base de datos; predeterminado: false.
valueMaps object Reglas sobre cómo importar mapas de valores de equipo o plantilla.

Parámetros admitidos:
createMissing - (boolean) si se establece en true, se crearán nuevos mapas de valores ; predeterminado: false;
updateExisting - (boolean) si se establece en true, los mapas de valores existentes se actualizarán; 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; predeterminado: false.

Valores de retorno

(booleano) Devuelve true si la importación se realizó correctamente.

Ejemplos

Importando una plantilla

Importe la configuración de la plantilla contenida en la cadena XML. Si falta algún elemento o activador en la cadena XML, se eliminará de la base de datos y todo lo demás permanecerá sin cambios.

Solicitud:

{
       "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.4</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 '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"
       },
       "id": 1
       }

Respuesta:

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

Fuente

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