configuration.import

Opis

boolean configuration.import(object parameters)

Ta metoda umożliwia import danych konfiguracyjnych z serializowanego ciągu znaków.

Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywołania tej metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.

Parametry

(object) Parametry zawierające dane do importu oraz reguły określające, jak dane powinny zostać obsłużone.

Parameter Type Description
format string Format serializowanego ciągu.

Możliwe wartości:
yaml - YAML;
xml - XML;
json - JSON.

Zachowanie parametru:
- required
source string Serializowany ciąg zawierający dane konfiguracyjne.

Zachowanie parametru:
- required
rules object Reguły określające sposób importu nowych i istniejących obiektów.

Użytkownicy typu Admin mogą importować tylko te obiekty, dla których mają uprawnienie read-write permission, a także mapy. Na przykład host i jego elementy (pozycje, wyzwalacze, wykresy itd.) mogą zostać zaimportowane tylko wtedy, gdy grupa użytkowników, do której należy użytkownik, ma uprawnienia do grupy hostów, do której będzie należał importowany host. Użytkownicy typu Admin nie mogą importować obrazów ani typów mediów.

Parametr rules został szczegółowo opisany w tabeli poniżej.

Zachowanie parametru:
- required

Jeśli nie zostaną podane żadne reguły, konfiguracja nie zostanie zaktualizowana.

Obiekt rules obsługuje następujące parametry.

Parameter Type Description
discoveryRules object Reguły importu reguł LLD.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe reguły LLD; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące reguły LLD zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, reguły LLD nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
graphs object Reguły importu wykresów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe wykresy; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące wykresy zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, wykresy nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
host_groups object Reguły importu grup hostów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe grupy hostów; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące grupy hostów zostaną zaktualizowane; domyślnie: false.
template_groups object Reguły importu grup szablonów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe grupy szablonów; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące grupy szablonów zostaną zaktualizowane; domyślnie: false.
hosts object Reguły importu hostów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe hosty; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące hosty zostaną zaktualizowane; domyślnie: false.
httptests object Reguły importu scenariuszy web.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe scenariusze web; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące scenariusze web zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, scenariusze web nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
images object Reguły importu obrazów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe obrazy; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące obrazy zostaną zaktualizowane; domyślnie: false.
items object Reguły importu pozycji.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe pozycje; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące pozycje zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, pozycje nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
maps object Reguły importu map.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe mapy; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące mapy zostaną zaktualizowane; domyślnie: false.
mediaTypes object Reguły importu typów mediów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe typy mediów; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące typy mediów zostaną zaktualizowane; domyślnie: false.
templateLinkage object Reguły importu powiązań szablonów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, szablony, które nie są powiązane z importowanym hostem lub szablonem, ale są obecne w importowanych danych, zostaną powiązane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, szablony powiązane z importowanym hostem lub szablonem, ale nieobecne w importowanych danych, zostaną odłączone bez usuwania elementów (pozycji, wyzwalaczy itd.) odziedziczonych po odłączonych szablonach; domyślnie: false.
templates object Reguły importu szablonów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe szablony; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące szablony zostaną zaktualizowane; domyślnie: false.
templateDashboards object Reguły importu dashboardów szablonów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe dashboardy szablonów; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące dashboardy szablonów zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, dashboardy szablonów nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
triggers object Reguły importu wyzwalaczy.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe wyzwalacze; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące wyzwalacze zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, wyzwalacze nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
valueMaps object Reguły importu map wartości hosta lub szablonu.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe mapy wartości; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące mapy wartości zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, mapy wartości nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.

Zwracane wartości

(boolean) Zwraca true jeżeli importowanie się powiodło.

Przykłady

Importowanie szablonu

Zaimportuj konfigurację szablonu zawartą w ciągu XML. Jeśli w ciągu XML brakuje jakichkolwiek pozycji lub wyzwalaczy, zostaną one usunięte z bazy danych, a wszystko inne pozostanie bez zmian.

Żądanie:

{
    "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>&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
}

Odpowiedź:

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

Źródło

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