configuration.import
Descrizione
boolean configuration.import(object parameters)
Questo metodo consente di importare i dati di configurazione da una stringa serializzata.
Questo metodo è disponibile per gli utenti di qualsiasi tipo. Le autorizzazioni per chiamare il metodo possono essere revocate nelle impostazioni del ruolo utente. Per ulteriori informazioni, vedere Ruoli utente.
Parametri
(object) Parametri contenenti i dati da importare e le regole su come i dati devono essere gestiti.
| Parameter | Type | Description |
|---|---|---|
| format | string | Formato della stringa serializzata. Valori possibili: yaml - YAML;xml - XML;json - JSON.Comportamento del parametro: - required |
| source | string | Stringa serializzata contenente i dati di configurazione. Comportamento del parametro: - required |
| rules | object | Regole su come gli oggetti nuovi ed esistenti devono essere importati. Gli utenti di tipo Admin possono importare solo gli oggetti per i quali hanno il permesso read-write permission, così come le mappe. Ad esempio, un host e le sue entità (items, triggers, graph, ecc.) possono essere importati solo se il gruppo utente dell'utente ha il permesso sul gruppo host a cui l'host importato apparterrà. Le immagini e i tipi di media non possono essere importati dagli utenti di tipo Admin. Il parametro rules è descritto in dettaglio nella tabella seguente.Comportamento del parametro: - required |
Se non vengono fornite regole, la configurazione non verrà aggiornata.
L'oggetto rules supporta i seguenti parametri.
| Parameter | Type | Description |
|---|---|---|
| discoveryRules | object | Regole su come importare le regole LLD. Parametri supportati: createMissing - (boolean) se impostato su true, verranno create nuove regole LLD; default: false;updateExisting - (boolean) se impostato su true, le regole LLD esistenti verranno aggiornate; default: false;deleteMissing - (boolean) se impostato su true, le regole LLD non presenti nei dati importati verranno eliminate dal database; default: false. |
| graphs | object | Regole su come importare i graph. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi graph; default: false;updateExisting - (boolean) se impostato su true, i graph esistenti verranno aggiornati; default: false;deleteMissing - (boolean) se impostato su true, i graph non presenti nei dati importati verranno eliminati dal database; default: false. |
| host_groups | object | Regole su come importare i gruppi host. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi gruppi host; default: false;updateExisting - (boolean) se impostato su true, i gruppi host esistenti verranno aggiornati; default: false. |
| template_groups | object | Regole su come importare i gruppi template. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi gruppi template; default: false;updateExisting - (boolean) se impostato su true, i gruppi template esistenti verranno aggiornati; default: false. |
| hosts | object | Regole su come importare gli host. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi host; default: false;updateExisting - (boolean) se impostato su true, gli host esistenti verranno aggiornati; default: false. |
| httptests | object | Regole su come importare gli scenari web. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi scenari web; default: false;updateExisting - (boolean) se impostato su true, gli scenari web esistenti verranno aggiornati; default: false;deleteMissing - (boolean) se impostato su true, gli scenari web non presenti nei dati importati verranno eliminati dal database; default: false. |
| images | object | Regole su come importare le immagini. Parametri supportati: createMissing - (boolean) se impostato su true, verranno create nuove immagini; default: false;updateExisting - (boolean) se impostato su true, le immagini esistenti verranno aggiornate; default: false. |
| items | object | Regole su come importare gli item. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi item; default: false;updateExisting - (boolean) se impostato su true, gli item esistenti verranno aggiornati; default: false;deleteMissing - (boolean) se impostato su true, gli item non presenti nei dati importati verranno eliminati dal database; default: false. |
| maps | object | Regole su come importare le mappe. Parametri supportati: createMissing - (boolean) se impostato su true, verranno create nuove mappe; default: false;updateExisting - (boolean) se impostato su true, le mappe esistenti verranno aggiornate; default: false. |
| mediaTypes | object | Regole su come importare i tipi di media. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi tipi di media; default: false;updateExisting - (boolean) se impostato su true, i tipi di media esistenti verranno aggiornati; default: false. |
| templateLinkage | object | Regole su come importare i collegamenti dei template. Parametri supportati: createMissing - (boolean) se impostato su true, i template che non sono collegati all'host o al template in fase di importazione, ma che sono presenti nei dati importati, verranno collegati; default: false;deleteMissing - (boolean) se impostato su true, i template collegati all'host o al template in fase di importazione, ma non presenti nei dati importati, verranno scollegati senza rimuovere le entità (items, triggers, ecc.) ereditate dai template scollegati; default: false. |
| templates | object | Regole su come importare i template. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi template; default: false;updateExisting - (boolean) se impostato su true, i template esistenti verranno aggiornati; default: false. |
| templateDashboards | object | Regole su come importare i dashboard dei template. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi dashboard dei template; default: false;updateExisting - (boolean) se impostato su true, i dashboard dei template esistenti verranno aggiornati; default: false;deleteMissing - (boolean) se impostato su true, i dashboard dei template non presenti nei dati importati verranno eliminati dal database; default: false. |
| triggers | object | Regole su come importare i trigger. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi trigger; default: false;updateExisting - (boolean) se impostato su true, i trigger esistenti verranno aggiornati; default: false;deleteMissing - (boolean) se impostato su true, i trigger non presenti nei dati importati verranno eliminati dal database; default: false. |
| valueMaps | object | Regole su come importare i value map di host o template. Parametri supportati: createMissing - (boolean) se impostato su true, verranno creati nuovi value map; default: false;updateExisting - (boolean) se impostato su true, i value map esistenti verranno aggiornati; default: false;deleteMissing - (boolean) se impostato su true, i value map non presenti nei dati importati verranno eliminati dal database; default: false. |
Valori restituiti
(boolean) Restituisce true se l'importazione ha avuto successo.
Esempi
Importazione di un template
Importa la configurazione del template contenuta nella stringa XML. Se alcuni item o trigger nella stringa XML sono mancanti, verranno eliminati dal database, mentre tutto il resto rimarrà invariato.
{
"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>7.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 {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
}
Response:
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
Sorgente
CConfiguration::import() in ui/include/classes/api/services/CConfiguration.php.