Use backend queries for item id mode

This commit is contained in:
Alexander Zobnin
2021-06-01 13:01:54 +03:00
parent 6e6797653e
commit c81a6ae8c3
8 changed files with 106 additions and 30 deletions

View File

@@ -274,6 +274,29 @@ func (ds *Zabbix) GetAllItems(ctx context.Context, hostids []string, appids []st
return items, err
}
func (ds *Zabbix) GetItemsByIDs(ctx context.Context, itemids []string) ([]*Item, error) {
params := ZabbixAPIParams{
"itemids": itemids,
"output": []string{"itemid", "name", "key_", "value_type", "hostid", "status", "state", "units", "valuemapid", "delay"},
"webitems": true,
"selectHosts": []string{"hostid", "name"},
}
result, err := ds.Request(ctx, &ZabbixAPIRequest{Method: "item.get", Params: params})
if err != nil {
return nil, err
}
var items []*Item
err = convertTo(result, &items)
if err != nil {
return nil, err
}
items = expandItems(items)
return items, err
}
func (ds *Zabbix) GetAllApps(ctx context.Context, hostids []string) ([]Application, error) {
params := ZabbixAPIParams{
"output": "extend",