configuration.import

Apraksts

boolean configuration.import(object parameters)

Šī metode ļauj importēt konfigurācijas datus no serializētas virknes.

Šī metode ir pieejama jebkura tipa lietotājiem. Tiesības izsaukt šo metodi var atsaukt lietotāja lomas iestatījumos. Plašāku informāciju skatiet sadaļā Lietotāja lomas.

Parametri

(object) Parametri, kas satur importējamus datus un noteikumus, kā šie dati jāapstrādā.

Parameter Type Description
format string Serializētās virknes formāts.

Iespējamās vērtības:
yaml - YAML;
xml - XML;
json - JSON.

Parametra uzvedība:
- required
source string Serializēta virkne, kas satur konfigurācijas datus.

Parametra uzvedība:
- required
rules object Noteikumi, kā importēt jaunus un esošus objektus.

Tipa Admin lietotāji var importēt tikai tos objektus, kuriem viņiem ir read-write atļauja, kā arī kartes. Piemēram, hostu un tā entītijas (vienumus, trigerus, grafikus u. c.) var importēt tikai tad, ja lietotāja lietotāju grupai ir atļauja hostu grupai, kurai piederēs importētais hosts. Attēlus un mediju tipus tipa Admin lietotāji nevar importēt.

rules parametrs ir detalizēti aprakstīts tabulā zemāk.

Parametra uzvedība:
- required
returnMissingObjects boolean Noteikumi, vai atbildes objektā jāiekļauj informācija par trūkstošajiem objektiem; noklusējums: false.

Ja noteikumi nav norādīti, konfigurācija netiks atjaunināta.

rules objekts atbalsta šādus parametrus.

Parameter Type Description
dashboards object Noteikumi, kā importēt paneļus.

Atbalstītie parametri:
createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni paneļi; noklusējums: false;
updateExisting - (boolean) ja iestatīts uz true un sistēmā ir konkrēts importējams panelis, tas tiks pilnībā atjaunināts. Lapas un sīkrīki tiks pilnībā pārrakstīti ar jaunajiem; noklusējums: false.
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 importētajos datos, tiks dzēsti no datubāzes; noklusējums: false.
global_regexes object Noteikumi, kā importēt globālās regulārās izteiksmes.

Atbalstītie parametri:
createMissing - (boolean) ja iestatīts uz true, tiks izveidotas jaunas globālās regulārās izteiksmes; noklusējums: false;
updateExisting - (boolean) ja iestatīts uz true, esošās globālās regulārās izteiksmes tiks atjauninātas, to apakšizteiksmes pilnībā pārrakstot; 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 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.
hosts object Noteikumi, kā importēt hostus.

Atbalstītie parametri:
createMissing - (boolean) ja iestatīts uz true, tiks izveidoti jauni hosts; noklusējums: false;
updateExisting - (boolean) ja iestatīts uz true, esošie hosts tiks atjaunināti; noklusējums: false.
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 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.
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 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.
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.
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 importētajos datos, tiks dzēsti no datubāzes; 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.
templateLinkage object Noteikumi, kā importēt veidņu saites.

Atbalstītie parametri:
createMissing - (boolean) ja iestatīts uz true, veidnes, kas nav saistītas ar importējamo hostu vai veidni, bet ir importētajos datos, tiks saistītas; noklusējums: false;
deleteMissing - (boolean) ja iestatīts uz true, veidnes, kas ir saistītas ar importējamo hostu vai veidni, bet nav importētajos datos, tiks atsaistītas, nenoņemot no atsaistītajām veidnēm mantotās entītijas (vienumus, trigerus u. c.); 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.
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 importētajos datos, tiks dzēsti no datubāzes; noklusējums: false.
valueMaps object Noteikumi, kā importēt hostu vai veidņu 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 importētajos datos, tiks dzēstas no datubāzes; noklusējums: false.

Atgrieztās vērtības

(boolean) Atgriež true, ja importēšana ir bijusi veiksmīga.

Piemēri

Veidnes importēšana

Importējiet veidnes konfigurāciju, kas ietverta XML virknē. Ja XML virknē trūkst kādu vienumu vai trigeru, tie tiks dzēsti no datubāzes, bet viss pārējais paliks nemainīts.

Pieprasījums:

{
    "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>&lt;dt&gt;Server uptime: (.*)&lt;\/dt&gt;</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)&gt;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
}

Atbilde:

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

Avots

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