본문 바로가기

Monitoring Tools/Grafana

[Grafana] 서로 다른 Datasource(zabbix) 의 그래프 합치기(sum)

반응형

환경

 - Grafana v9.4.7

 - Datasource : zabbix

 

 

zabbix1의 Datasource와 zabbix2의 Datasource 를 하나의 Dashboard에 표출하고 두개의 그래프를 하나로 합치는(sum) 그래프를 만들고자 한다.

 

서로 다른 Datasource를 하나의 Dashboard에 표출 하고자 할때 --Mixed-- Datasource를 사용한다.

 

 

그러면 각각의 Query별로 Datasource를 다르게 사용하여 그래프를 표출 할 수 있다.

 

 

 

 

서로 다른 Datasource의 그래프를 합치기 위해서는 Transform의 Add field from calculation을 사용한다.

 

 

 

Mode - Binary operation 을 사용하여 값을 연산할수 있다.

Operation에 합칠 Datasource 를 선택하고 +로 연산하면 된다.

 

 

하지만 그래프가 합쳐지지 않는 경우가 있는데 이는 Datasource의 값을 찍는 시간값이 달라 연산이 되지 않는 경우이다.

Transform - Add field from calculation - debug로 확인해볼수 있다.

 

왼쪽 : 각각의 Datasource, 오른쪽 : 합친 Datasource

 

zabbix1 Datasource 의 값은 0:824, 1:852, 2:848 ...

zabbix2 Datasource 의 값은 0:765, 1:765, 2:754 ...

하지만 0,1,2..번 각각의 Datasource 시간값이 달라 undefined 되며 합친 그래프가  표출 되지 않는다.

 

 

 

이럴 경우 각각의 Datasource에 aggregate function을 사용하여 Datasource Query Interval 만큼의 시간을 평균 값으로 aggregateby 해준다.

 

Query Option 에 interval을 2분으로 설정한다. (수집하는 datasource 실제 interval에 따라 변경할수 있다.)

 

 

 

aggregateby 를 2분 평균으로 설정한다. 이때 alias 값도 변경되므로 replacealias를 사용하여 적절하게 변경해준다.

 

zabbix1
zabbix2

 

 

다시 Transform 에서 변경된 Alias를 선택하여 sum 해준다.

 

 

 

Replace all fields 를 선택하면 모든 Datasource를 합친 Datasource로 대체하여 사용한다는 의미로 그래프에 합친 Datasource만 표출되게 된다.

 

 

 

참고

 

한 그래프에 합친 Datasource를 여러개 사용해야 할 경우 Replace all fields 옵션을 사용 할 수 없고 합치기 전 Datasource  그래프를 표출되지 않게 해야할 경우가 있다.

 

이때는 Overrides 를 사용하여 합치기 전 Datasource 그래프를 표출되지 않게 설정한다.

 

반응형