Skip to content

Commit 55f0703

Browse files
authored
plugins: Host is counted twice if it has multiple host tags in Prometheus exporter (#4383)
* Hosts are counted twice if it has multiple host tags in Prometheus exporter * Import HostVO and inject HostDao
1 parent cdcc914 commit 55f0703

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

plugins/integrations/prometheus/src/main/java/org/apache/cloudstack/metrics/PrometheusExporterImpl.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import com.cloud.api.query.dao.HostJoinDao;
3333
import com.cloud.api.query.dao.StoragePoolJoinDao;
3434
import com.cloud.api.query.vo.DomainJoinVO;
35-
import com.cloud.api.query.vo.HostJoinVO;
3635
import com.cloud.api.query.vo.StoragePoolJoinVO;
3736
import com.cloud.capacity.Capacity;
3837
import com.cloud.capacity.CapacityManager;
@@ -45,7 +44,9 @@
4544
import com.cloud.dc.dao.DataCenterDao;
4645
import com.cloud.dc.dao.DataCenterIpAddressDao;
4746
import com.cloud.host.Host;
47+
import com.cloud.host.HostVO;
4848
import com.cloud.host.Status;
49+
import com.cloud.host.dao.HostDao;
4950
import com.cloud.network.dao.IPAddressDao;
5051
import com.cloud.storage.ImageStore;
5152
import com.cloud.storage.StorageStats;
@@ -73,6 +74,8 @@ public class PrometheusExporterImpl extends ManagerBase implements PrometheusExp
7374
@Inject
7475
private DataCenterDao dcDao;
7576
@Inject
77+
private HostDao hostDao;
78+
@Inject
7679
private HostJoinDao hostJoinDao;
7780
@Inject
7881
private VMInstanceDao vmDao;
@@ -101,8 +104,8 @@ private void addHostMetrics(final List<Item> metricsList, final long dcId, final
101104
int total = 0;
102105
int up = 0;
103106
int down = 0;
104-
for (final HostJoinVO host : hostJoinDao.listAll()) {
105-
if (host == null || host.getType() != Host.Type.Routing || host.getZoneId() != dcId) {
107+
for (final HostVO host : hostDao.listAll()) {
108+
if (host == null || host.getType() != Host.Type.Routing || host.getDataCenterId() != dcId) {
106109
continue;
107110
}
108111
total++;

0 commit comments

Comments
 (0)