configuration.importcompare

Opis

array configuration.importcompare(object parameters)

Ta metoda umożliwia porównanie pliku importu z bieżącymi elementami systemu i pokazuje, co zostanie zmienione, jeśli ten plik importu zostanie zaimportowany.

noteclassic Metoda ta jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywoływania tej metody można cofnąć w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników. :::

Parametry

(object) Parametry zawierające możliwe dane do zaimportowania oraz reguły określające sposób ich przetwarzania.

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 porównywania nowych i istniejących obiektów.

Użytkownicy typu Admin i User mogą porównywać nowe obiekty tylko z istniejącymi, dla których mają uprawnienia read-only lub read-write permission.

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

Zachowanie parametru:
- required

Jeśli nie zostaną podane żadne reguły, nie będzie nic do zaktualizowania, a wynik będzie pusty.

Porównanie będzie wykonywane tylko dla grup hostów i szablonów. Wyzwalacze i wykresy będą porównywane tylko dla importowanych szablonów, wszystkie pozostałe zostaną uznane za "new".

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

Parameter Type Description
discoveryRules object Reguły określające sposób 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 określające sposób 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 określające sposób 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 określające sposób 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 określające sposób 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.

Ten parametr nie wpływa na wynik. Jest dozwolony wyłącznie ze względów spójności z configuration.import.
httptests object Reguły określające sposób importu scenariuszy webowych.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe scenariusze webowe; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące scenariusze webowe zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, scenariusze webowe nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
images object Reguły określające sposób 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.

Ten parametr nie wpływa na wynik. Jest dozwolony wyłącznie ze względów spójności z configuration.import.
items object Reguły określające sposób 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 określające sposób 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.

Ten parametr nie wpływa na wynik. Jest dozwolony wyłącznie ze względów spójności z configuration.import.
mediaTypes object Reguły określające sposób 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.

Ten parametr nie wpływa na wynik. Jest dozwolony wyłącznie ze względów spójności z configuration.import.
templateLinkage object Reguły określające sposób 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, które są powiązane z importowanym hostem lub szablonem, ale nie są obecne w importowanych danych, zostaną odłączone bez usuwania encji (pozycji, wyzwalaczy itp.) odziedziczonych z odłączonych szablonów; domyślnie: false.
templates object Reguły określające sposób 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 określające sposób importu pulpitów szablonów.

Obsługiwane parametry:
createMissing - (boolean) jeśli ustawione na true, zostaną utworzone nowe pulpity szablonów; domyślnie: false;
updateExisting - (boolean) jeśli ustawione na true, istniejące pulpity szablonów zostaną zaktualizowane; domyślnie: false;
deleteMissing - (boolean) jeśli ustawione na true, pulpity szablonów nieobecne w importowanych danych zostaną usunięte z bazy danych; domyślnie: false.
triggers object Reguły określające sposób 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 określające sposób 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

(array) Zwraca tablicę ze zmianamy w konfiguracji, które zostaną wprowadzone.

Przykłady

Porównanie importu szablonu

Porównaj szablon zawarty w ciągu XML z bieżącymi elementami systemu i pokaż, co zostanie zmienione, jeśli ten szablon zostanie zaimportowany.

Żądanie:

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

Odpowiedź:

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

Źródło

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