It happened after upgrading Zabbix server to ver 2.0.3:
I'm creating some item...
{
"jsonrpc": "2.0",
"auth": "<auth>",
"method": "item.create",
"params": {
"name": "TestItem",
"key_": "web.page.regexp[ws-app.internal,services/app/monitoring/check/TestItem?disaster=(0;1),80,<Severity>.+</Severity>,100]",
"hostid": "600100000000124",
"type": "0",
"value_type": "4",
"interfaceid": "600100000000372",
"applications": [
"600100000000598"
],
"delay": "60",
"history": "7",
"formula": 1
},
"id": 2
}
...with success:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"100100000023420"
]
},
"id": 2
}
Then I'm trying to create a trigger for it:
{
"jsonrpc": "2.0",
"auth": "<auth>",
"method": "trigger.create",
"params": {
"expression": "{us1-mvs1v5:web.page.regexp[ws-app.internal,services/app/monitoring/check/TestItem?disaster=(0;1),80,<Severity>.+</Severity>,100].str(<Severity>Disaster</Severity>)}=1",
"description": "This is disaster."
},
"id": 2
}
...and get failure:
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params.",
"data": "Incorrect item key \"web.page.regexp[ws-app.internal,services/app/monitoring/check/TestItem?disaster=(0;1),80,<Severity>.+</Severity>,100]\" provided for trigger expression on \"us1-mvs1v5\"."
},
"id": 2
}
It says that item key is incorrect but it seems not to be true. I already have item with similar key (created via UI):
web.page.regexp[ws-app.internal,services/app/monitoring/check/TestItem?disaster=(0;999999),80,<Severity>.+</Severity>,100]
..and I CAN add triggers to this existing item.
Also note that I can find item with "incorrect" key by its key:
{
"jsonrpc": "2.0",
"auth": "<auth>",
"method": "item.get",
"params": {
"hostids": "600100000000124",
"filter": {
"key_": "web.page.regexp[ws-app.internal,services/app/monitoring/check/TestItem?disaster=(0;1),80,<Severity>.+</Severity>,100]"
}
},
"id": 2
}
...with success:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "100100000023420",
"hostid": "600100000000124"
}
],
"id": 2
}
the host seems to be correct:
{
"jsonrpc": "2.0",
"auth": "321e4491f657342f6b2afc1a875c4787",
"method": "host.get",
"params": {
"output": "extend",
"filter": {
"host": "us1-mvs1v5"
}
},
"id": 2
}
{
"jsonrpc": "2.0",
"result": [
{
"maintenances": [],
"hostid": "600100000000124",
"proxy_hostid": "0",
"host": "us1-mvs1v5",
"status": "0",
"disable_until": "0",
"error": "",
"available": "1",
"errors_from": "0",
"lastaccess": "0",
"ipmi_authtype": "-1",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"ipmi_disable_until": "0",
"ipmi_available": "0",
"snmp_disable_until": "0",
"snmp_available": "0",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"ipmi_errors_from": "0",
"snmp_errors_from": "0",
"ipmi_error": "",
"snmp_error": "",
"jmx_disable_until": "0",
"jmx_available": "0",
"jmx_errors_from": "0",
"jmx_error": "",
"name": "us1-mvs1v5"
}
],
"id": 2
}
Here is a comment from https://www.zabbix.com/forum/showthread.php?t=39007
Pavels:
Judging by the ID of the item you've created, it belongs to a different node then the host. You shouldn't be able to create such items at all. It probably has something to do your node configuration.