cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issues after Dashboard upgrade from Classic to Grail

ishaq4u
Newcomer

actually after i did upgrade from classic to Grail, found these issues

timeseries { availability = sum(dt.host.availability, default: 0, filter: { (availability.state == "up") AND ( in(dt.entity.host, classicEntitySelector("type(host),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName.equals(\"***\"))"))) }), availability.0 = sum(dt.host.availability) }, by: { dt.entity.host }, nonempty: true, union: true
| fieldsAdd availability = availability[] / availability.0[] * 100
| sort availability asc
| fieldsAdd availability = arraySum(availability)
| fieldsRemove availability.0
| join [ timeseries uptime = avg(dt.host.uptime, filter: { in(dt.entity.host, classicEntitySelector("type(host),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName.equals(\"****\"))")) }), by: { dt.entity.host }
| fieldsAdd uptime = arrayAvg(uptime) ], on: { dt.entity.host }, fields: { uptime, dt.entity.host, timeframe, interval }, kind: outer
| limit 20

 

shows this error, The field dt.entity.host overrides an existing field, please suggest?

1 REPLY 1

Hi there,

This is happening because the join command is attempting to add a new field called 'dt.entity.host' as part of the 'fields:' parameter when that field already exists. You should be able to resolve this by simply removing 'dt.entity.host' from the 'fields' parameter.

The new query would looks something like this:

timeseries { availability = sum(dt.host.availability, default: 0, filter: { (availability.state == "up") AND ( in(dt.entity.host, classicEntitySelector("type(host),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName.equals(\"***\"))"))) }), availability.0 = sum(dt.host.availability) }, by: { dt.entity.host }, nonempty: true, union: true
| fieldsAdd availability = availability[] / availability.0[] * 100
| sort availability asc
| fieldsAdd availability = arraySum(availability)
| fieldsRemove availability.0
| join [ timeseries uptime = avg(dt.host.uptime, filter: { in(dt.entity.host, classicEntitySelector("type(host),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName.equals(\"****\"))")) }), by: { dt.entity.host }
| fieldsAdd uptime = arrayAvg(uptime) ], on: { dt.entity.host }, fields: { uptime, timeframe, interval }, kind: outer
| limit 20

If this occurred during an automated conversion, you may also wish to submit a support case for investigation as a potential bug.

Featured Posts