configuration.importcompare
Apraksts
array configuration.importcompare(object parameters)
Šī metode ļauj salīdzināt importēšanas failu ar pašreizējiem sistēmas elementiem un parāda, kas tiks mainīts, ja šis importēšanas fails tiks importēts.
Šī metode ir pieejama jebkura tipa lietotājiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāju lomas.
Parametri
(object) Parametri, kas satur iespējamos importējamos datus un noteikumus, kā šie dati jāapstrādā.
| Parametrs | Type | Apraksts |
|---|---|---|
| format | string | Serializētās virknes formāts. Iespējamās vērtības: yaml - YAML;xml - XML;json - JSON.Parametra darbība: - required |
| source | string | Serializēta virkne, kas satur konfigurācijas datus. Parametra darbība: - required |
| rules | object | Noteikumi, kā jāsalīdzina jauni un esoši objekti. Admin un User tipa lietotāji var salīdzināt jaunus objektus tikai ar esošajiem objektiem, kuriem viņiem ir read-only vai read-write atļauja. Parametrs rules ir detalizēti aprakstīts zemāk esošajā tabulā.Parametra darbība: - required |
Ja nav norādīti nekādi noteikumi, nebūs nekā, ko atjaunināt, un rezultāts būs tukšs.
Salīdzināšana tiks veikta tikai hostu grupām un veidnēm. Trigeri un grafiki tiks salīdzināti tikai importētajām veidnēm, visi pārējie tiks uzskatīti par "jauniem".
Objekts rules atbalsta šādus parametrus.
| Parametrs | Type | Apraksts |
|---|---|---|
| discoveryRules | object | Noteikumi, kā importēt LLD noteikumus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni LLD noteikumi; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie LLD noteikumi tiks atjaunināti; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, LLD noteikumi, kas nav iekļauti importētajos datos, tiks dzēsti no datubāzes; noklusējums: false. |
| graphs | object | Noteikumi, kā importēt grafikus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni grafiki; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie grafiki tiks atjaunināti; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, grafiki, kas nav iekļauti importētajos datos, tiks dzēsti no datubāzes; noklusējums: false. |
| host_groups | object | Noteikumi, kā importēt hostu grupas. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidotas jaunas hostu grupas; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošās hostu grupas tiks atjauninātas; noklusējums: false. |
| template_groups | object | Noteikumi, kā importēt veidņu grupas. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidotas jaunas veidņu grupas; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošās veidņu grupas tiks atjauninātas; noklusējums: false. |
| hosts | object | Noteikumi, kā importēt hostus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni hosti; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie hosti tiks atjaunināti; noklusējums: false.Šis parametrs neietekmēs izvadi. Tas ir atļauts tikai saskaņotības nodrošināšanai ar configuration.import. |
| httptests | object | Noteikumi, kā importēt tīmekļa scenārijus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni tīmekļa scenāriji; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie tīmekļa scenāriji tiks atjaunināti; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, tīmekļa scenāriji, kas nav iekļauti importētajos datos, tiks dzēsti no datubāzes; noklusējums: false. |
| images | object | Noteikumi, kā importēt attēlus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni attēli; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie attēli tiks atjaunināti; noklusējums: false.Šis parametrs neietekmēs izvadi. Tas ir atļauts tikai saskaņotības nodrošināšanai ar configuration.import. |
| items | object | Noteikumi, kā importēt vienumus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni vienumi; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie vienumi tiks atjaunināti; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, vienumi, kas nav iekļauti importētajos datos, tiks dzēsti no datubāzes; noklusējums: false. |
| maps | object | Noteikumi, kā importēt kartes. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidotas jaunas kartes; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošās kartes tiks atjauninātas; noklusējums: false.Šis parametrs neietekmēs izvadi. Tas ir atļauts tikai saskaņotības nodrošināšanai ar configuration.import. |
| mediaTypes | object | Noteikumi, kā importēt mediju tipus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni mediju tipi; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie mediju tipi tiks atjaunināti; noklusējums: false.Šis parametrs neietekmēs izvadi. Tas ir atļauts tikai saskaņotības nodrošināšanai ar configuration.import. |
| templateLinkage | object | Noteikumi, kā importēt veidņu saites. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, veidnes, kas nav piesaistītas importējamajam hostam vai veidnei, bet ir iekļautas importētajos datos, tiks piesaistītas; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, veidnes, kas ir piesaistītas importējamajam hostam vai veidnei, bet nav iekļautas importētajos datos, tiks atsaistītas, nenoņemot entītijas (vienumus, trigerus utt.), kas mantotas no atsaistītajām veidnēm; noklusējums: false. |
| templates | object | Noteikumi, kā importēt veidnes. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidotas jaunas veidnes; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošās veidnes tiks atjauninātas; noklusējums: false. |
| templateDashboards | object | Noteikumi, kā importēt veidņu paneļus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni veidņu paneļi; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie veidņu paneļi tiks atjaunināti; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, veidņu paneļi, kas nav iekļauti importētajos datos, tiks dzēsti no datubāzes; noklusējums: false. |
| triggers | object | Noteikumi, kā importēt trigerus. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni trigeri; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošie trigeri tiks atjaunināti; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, trigeri, kas nav iekļauti importētajos datos, tiks dzēsti no datubāzes; noklusējums: false. |
| valueMaps | object | Noteikumi, kā importēt hosta vai veidnes vērtību kartes. Atbalstītie parametri: createMissing - (boolean) ja iestatīts uz true, tiks izveidotas jaunas vērtību kartes; noklusējums: false;updateExisting - (boolean) ja iestatīts uz true, esošās vērtību kartes tiks atjauninātas; noklusējums: false;deleteMissing - (boolean) ja iestatīts uz true, vērtību kartes, kas nav iekļautas importētajos datos, tiks dzēstas no datubāzes; noklusējums: false. |
Atgrieztās vērtības
(array) Atgriež masīvu ar izmaiņām konfigurācijā, kas tiks veiktas.
Piemēri
Veidnes importēšanas salīdzināšana
Salīdziniet XML virknē ietverto veidni ar pašreizējiem sistēmas elementiem un parādiet, kas tiks mainīts, ja šī veidne tiks importēta.
{
"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
}
Atbilde:
{
"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
}
Avots
CConfiguration::importcompare() failā ui/include/classes/api/services/CConfiguration.php.