array configuration.importcompare(object parameters)
Este método permite comparar un archivo de importación con los elementos actuales del sistema y muestra qué se cambiará si se importa este archivo.
Este método está disponible para usuarios de cualquier tipo. Los permisos para llamar al método pueden ser revocados en la configuración de roles de usuario. Consulte Roles de usuario para más información.
(object)
Parámetros que contienen los posibles datos a importar y reglas sobre cómo deben manejarse los datos.
Parámetro | Tipo | Descripción |
---|---|---|
format | string | Formato de la cadena serializada. Valores posibles: yaml - YAML;xml - XML;json - JSON.Comportamiento del parámetro: - obligatorio |
source | string | Cadena serializada que contiene los datos de configuración. Comportamiento del parámetro: - obligatorio |
rules | object | Reglas sobre cómo deben compararse los objetos nuevos y existentes. El parámetro rules se describe en detalle en la tabla a continuación.Comportamiento del parámetro: - obligatorio |
Si no se proporcionan reglas, no habrá nada que actualizar y el resultado estará vacío.
La comparación solo se realizará para grupos de equipos y plantillas. Los disparadores y gráficos solo se compararán para las plantillas importadas, cualquier otro se considerará como "nuevo".
El objeto rules
admite los siguientes parámetros.
Parámetro | Tipo | Descripción |
---|---|---|
discoveryRules | object | Reglas sobre cómo importar reglas LLD. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevas reglas LLD; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán las reglas LLD existentes; por defecto: 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; por defecto: false . |
graphs | object | Reglas sobre cómo importar gráficos. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos gráficos; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los gráficos existentes; por defecto: 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; por defecto: false . |
host_groups | object | Reglas sobre cómo importar grupos de equipos. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos grupos de equipos; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los grupos de equipos existentes; por defecto: false . |
template_groups | object | Reglas sobre cómo importar grupos de plantillas. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos grupos de plantillas; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los grupos de plantillas existentes; por defecto: false . |
hosts | object | Reglas sobre cómo importar equipos. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos equipos; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los equipos existentes; por defecto: false .Este parámetro no tendrá efecto en la salida. Solo se permite por coherencia con configuration.import . |
httptests | object | Reglas sobre cómo importar escenarios web. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos escenarios web; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los escenarios web existentes; por defecto: 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; por defecto: false . |
images | object | Reglas sobre cómo importar imágenes. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevas imágenes; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán las imágenes existentes; por defecto: false .Este parámetro no tendrá efecto en la salida. Solo se permite por coherencia con configuration.import . |
items | object | Reglas sobre cómo importar métricas. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevas métricas; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán las métricas existentes; por defecto: 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; por defecto: false . |
maps | object | Reglas sobre cómo importar mapas. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos mapas; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los mapas existentes; por defecto: false .Este parámetro no tendrá efecto en la salida. Solo se permite por coherencia con configuration.import . |
mediaTypes | object | Reglas sobre cómo importar tipos de medios. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos tipos de medios; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los tipos de medios existentes; por defecto: false .Este parámetro no tendrá efecto en la salida. Solo se permite por coherencia con configuration.import . |
templateLinkage | object | Reglas sobre cómo importar enlaces de plantillas. Parámetros soportados: createMissing - (boolean) si se establece en true , las plantillas que no estén vinculadas al equipo o plantilla que se está importando, pero estén presentes en los datos importados, se vincularán; por defecto: false ;deleteMissing - (boolean) si se establece en true , las plantillas que estén vinculadas al equipo o plantilla que se está importando, pero no estén presentes en los datos importados, se desvincularán sin eliminar las entidades (métricas, disparadores, etc.) heredadas de las plantillas desvinculadas; por defecto: false . |
templates | object | Reglas sobre cómo importar plantillas. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevas plantillas; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán las plantillas existentes; por defecto: false . |
templateDashboards | object | Reglas sobre cómo importar paneles de plantillas. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos paneles de plantillas; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los paneles de plantillas existentes; por defecto: false ;deleteMissing - (boolean) si se establece en true , los paneles de plantillas que no estén presentes en los datos importados se eliminarán de la base de datos; por defecto: false . |
triggers | object | Reglas sobre cómo importar disparadores. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos disparadores; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los disparadores existentes; por defecto: false ;deleteMissing - (boolean) si se establece en true , los disparadores que no estén presentes en los datos importados se eliminarán de la base de datos; por defecto: false . |
valueMaps | object | Reglas sobre cómo importar mapas de valores de equipos o plantillas. Parámetros soportados: createMissing - (boolean) si se establece en true , se crearán nuevos mapas de valores; por defecto: false ;updateExisting - (boolean) si se establece en true , se actualizarán los mapas de valores existentes; por defecto: 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; por defecto: false . |
(array)
Devuelve un array con los cambios en la configuración que se realizarán.
Compara la plantilla contenida en la cadena XML con los elementos actuales del sistema, y muestra qué se cambiará si se importa esta plantilla.
{
"jsonrpc": "2.0",
"method": "configuration.importcompare",
"params": {
"format": "xml",
"rules": {
"discoveryRules": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"graphs": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"host_groups": {
"createMissing": true,
"updateExisting": true
},
"template_groups": {
"createMissing": true,
"updateExisting": true
},
"httptests": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"items": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"templateLinkage": {
"createMissing": true,
"deleteMissing": true
},
"templates": {
"createMissing": true,
"updateExisting": true
},
"templateDashboards": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"triggers": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
},
"valueMaps": {
"createMissing": true,
"updateExisting": true,
"deleteMissing": true
}
},
"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><delay>3m</delay></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>648006da5971424ead0c47ddbbf1ea2e</uuid><name>CPU utilization</name><key>system.cpu.util</key><value_type>FLOAT</value_type><units>%</units><triggers><trigger><uuid>736225012c534ec480c2a66a91322ce0</uuid><expression>avg(/New template/system.cpu.util,3m)>70</expression><name>CPU utilization 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": {
"templates": {
"updated": [
{
"before": {
"uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
"template": "New template",
"name": "New template",
"groups": [
{
"name": "Templates"
}
]
},
"after": {
"uuid": "5aef0444a82a4d8cb7a95dc4c0c85330",
"template": "New template",
"name": "New template",
"groups": [
{
"name": "Templates"
}
]
},
"items": {
"added": [
{
"after": {
"uuid": "648006da5971424ead0c47ddbbf1ea2e",
"name": "CPU utilization",
"key": "system.cpu.util",
"value_type": "FLOAT",
"units": "%"
},
"triggers": {
"added": [
{
"after": {
"uuid": "736225012c534ec480c2a66a91322ce0",
"expression": "avg(/New template/system.cpu.util,3m)>70",
"name": "CPU utilization too high on 'New host' for 3 minutes",
"priority": "WARNING"
}
}
]
}
}
],
"removed": [
{
"before": {
"uuid": "6805d4c39a624a8bab2cc8ab63df1ab3",
"name": "CPU load",
"key": "system.cpu.load",
"value_type": "FLOAT"
},
"triggers": {
"removed": [
{
"before": {
"uuid": "ab4c2526c2bc42e48a633082255ebcb3",
"expression": "avg(/New template/system.cpu.load,3m)>2",
"name": "CPU load too high on 'New host' for 3 minutes",
"priority": "WARNING"
}
}
]
}
}
],
"updated": [
{
"before": {
"uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
"name": "Zabbix agent ping",
"key": "agent.ping"
},
"after": {
"uuid": "7f1e6f1e48aa4a128e5b6a958a5d11c3",
"name": "Zabbix agent ping",
"key": "agent.ping",
"delay": "3m"
}
}
]
}
}
]
}
},
"id": 1
}
CConfiguration::importcompare() en ui/include/classes/api/services/CConfiguration.php.