datenpunkt.create
Beschreibung
object item.create(object/array items)
Mit dieser Methode können neue Datenpunkte erstellt werden.
Web-Datenpunkte können nicht über die Zabbix API erstellt werden.
Diese Methode ist nur für Benutzertypen Admin und Super admin verfügbar. Die Berechtigung zum Aufrufen der Methode kann in den Einstellungen der Benutzerrolle entzogen werden. Weitere Informationen finden Sie unter Benutzerrollen.
Parameter
(object/array) Zu erstellende Datenpunkte.
Zusätzlich zu den Standard-Datenpunkt-Eigenschaften akzeptiert die Methode die folgenden Parameter.
| Parameter | Type | Beschreibung |
|---|---|---|
| preprocessing | array | Optionen für die Datenpunkt-Vorverarbeitung. |
| tags | array | Datenpunkt-Tags. |
Rückgabewerte
(object) Gibt ein Objekt zurück, das die IDs der erstellten Datenpunkte in der Eigenschaft itemids enthält.
Die Reihenfolge der zurückgegebenen IDs entspricht der Reihenfolge der übergebenen Datenpunkte.
Beispiele
Erstellen eines Datenpunkts
Erstellen Sie einen numerischen Zabbix-Agent-Datenpunkt mit 2 Datenpunkt-Tags, um den freien Festplattenspeicher auf dem Host mit der ID „30074“ zu überwachen.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Free disk space on /home/joe/",
"key_": "vfs.fs.size[/home/joe/,free]",
"hostid": "30074",
"type": 0,
"value_type": 3,
"interfaceid": "30084",
"tags": [
{
"tag": "component",
"value": "storage"
},
{
"tag": "equipment",
"value": "workstation"
}
],
"delay": "30s"
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24758"
]
},
"id": 1
}
Erstellen eines Host-Inventar-Datenpunkts
Erstellen Sie einen Zabbix-Agent-Datenpunkt, um das Inventarfeld „OS“ des Hosts zu befüllen.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "uname",
"key_": "system.uname",
"hostid": "30021",
"type": 0,
"interfaceid": "30007",
"value_type": 1,
"delay": "10s",
"inventory_link": 5
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24759"
]
},
"id": 1
}
Erstellen eines Datenpunkts mit Vorverarbeitung
Erstellen Sie einen Datenpunkt mit benutzerdefiniertem Multiplikator.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Device uptime",
"key_": "sysUpTime",
"hostid": "10084",
"type": 20,
"snmp_oid": "SNMPv2-MIB::sysUpTime.0",
"value_type": 1,
"delay": "60s",
"interfaceid": "83",
"preprocessing": [
{
"type": 1,
"params": "0.01",
"error_handler": 1,
"error_handler_params": ""
}
]
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44210"
]
},
"id": 1
}
Erstellen eines abhängigen Datenpunkts
Erstellen Sie einen abhängigen Datenpunkt für den Master-Datenpunkt mit der ID 24759. Es sind nur Abhängigkeiten auf demselben Host zulässig, daher sollten der Master-Datenpunkt und der abhängige Datenpunkt dieselbe hostid haben.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"hostid": "30074",
"name": "Dependent test item",
"key_": "dependent.item",
"type": 18,
"master_itemid": "24759",
"value_type": 2
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
HTTP-Agent-Datenpunkt erstellen
Erstellen Sie einen Datenpunkt mit der Anfragemethode POST und Vorverarbeitung der JSON-Antwort.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"url":"http://127.0.0.1/http.php",
"query_fields": [
{
"name": "mode",
"value": "json"
},
{
"name": "min",
"value": "10"
},
{
"name": "max",
"value": "100"
}
],
"interfaceid": "1",
"type": 19,
"hostid": "10254",
"delay": "5s",
"key_": "json",
"name": "HTTP agent example JSON",
"value_type": 0,
"output_format": 1,
"preprocessing": [
{
"type": 12,
"params": "$.random",
"error_handler": 0,
"error_handler_params": ""
}
]
},
"id": 1
}
Antwort:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Skript-Datenpunkt erstellen
Erstellen Sie eine einfache Datenerfassung mit einem Skript-Datenpunkt.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Skriptbeispiel",
"key_": "custom.script.item",
"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
CItem::create() in ui/include/classes/api/services/CItem.php.