datenpunktprototyp.create
Beschreibung
object itemprototype.create(object/array itemPrototypes)
Diese Methode ermöglicht das Erstellen neuer Datenpunkt-Prototypen.
Diese Methode ist nur für die Benutzertypen Admin und Super admin verfügbar. Die Berechtigungen zum Aufrufen der Methode können in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Parameter
(object/array) Zu erstellender Datenpunkt-Prototyp.
Zusätzlich zu den Standard-Eigenschaften von Datenpunkt-Prototypen akzeptiert die Methode die folgenden Parameter.
| Parameter | Type | Beschreibung |
|---|---|---|
| ruleid | ID | ID der LLD-Regel, zu der der Datenpunkt gehört. Parameterverhalten: - erforderlich |
| preprocessing | array | Optionen für die Vorverarbeitung von Datenpunkt-Prototypen. |
| tags | array | Tags von Datenpunkt-Prototypen. |
Rückgabewerte
(object) Gibt ein Objekt zurück, das die IDs der erstellten Item-Prototypen
unter der Eigenschaft itemids enthält. Die Reihenfolge der zurückgegebenen IDs
entspricht der Reihenfolge der übergebenen Item-Prototypen.
Beispiele
Erstellen eines Datenpunktprototyps
Erstellen Sie einen Datenpunktprototyp, um den freien Festplattenspeicher auf einem erkannten Dateisystem zu überwachen. Erkannte Datenpunkte sollten numerische Zabbix-Agent-Datenpunkte sein, die alle 30 Sekunden aktualisiert werden.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Freier Festplattenspeicher auf {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"27666"
]
},
"id": 1
}
Erstellen eines Datenpunktprototyps mit Vorverarbeitung
Erstellen Sie einen Datenpunkt, der als zweiten Schritt „Änderung pro Sekunde“ und einen benutzerdefinierten Multiplikator verwendet.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Eingehender Netzwerkverkehr auf {#IFNAME}",
"key_": "net.if.in[{#IFNAME}]",
"hostid": "10001",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"delay": "60s",
"units": "bps",
"interfaceid": "1155",
"preprocessing": [
{
"type": 10,
"params": "",
"error_handler": 0,
"error_handler_params": ""
},
{
"type": 1,
"params": "8",
"error_handler": 2,
"error_handler_params": "10"
}
]
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Erstellen eines abhängigen Datenpunktprototyps
Erstellen Sie einen abhängigen Datenpunktprototyp für den Master-Datenpunktprototyp mit der ID 44211. Es sind nur Abhängigkeiten auf demselben Host (Vorlage/Discovery-Regel) zulässig, daher sollten Master- und abhängiger Datenpunkt dieselbe hostid und ruleid haben.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"hostid": "10001",
"ruleid": "27665",
"name": "Abhängiger Test-Datenpunktprototyp",
"key_": "dependent.prototype",
"type": 18,
"master_itemid": "44211",
"value_type": 3
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44212"
]
},
"id": 1
}
HTTP-Agent-Datenpunktprototyp erstellen
Erstellen Sie einen Datenpunktprototyp mit URL unter Verwendung eines Benutzermakros, Abfragefeldern und benutzerdefinierten Headern.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"type": "19",
"hostid": "10254",
"ruleid": "28256",
"interfaceid": "2",
"name": "api item prototype example",
"key_": "api_http_item",
"value_type": 3,
"url": "{$URL_PROTOTYPE}",
"query_fields": [
{
"name": "min",
"value": "10"
},
{
"name": "max",
"value" "100"
}
],
"headers": [
{
"name": "X-Source",
"value": "api"
}
],
"delay": "35"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28305"
]
},
"id": 1
}
Skript-Datenpunktprototyp erstellen
Erstellen Sie eine einfache Datenerfassung mit einem Skript-Datenpunktprototyp.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Script example",
"key_": "custom.script.itemprototype",
"hostid": "12345",
"type": 21,
"value_type": 4,
"params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
"parameters": [
{
"name": "host",
"value": "{HOST.CONN}"
}
],
"timeout": "6s",
"delay": "30s"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Quelle
CItemPrototype::create() in ui/include/classes/api/services/CItemPrototype.php.