1

I used the REST-API to collect the statistics of a Virtual Disk using oVirt REST API and I got the following response,

https://1.1.1.1/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996/statistics/

Response to this API,

{
  "statistic": [{
    "kind": "gauge",
    "type": "decimal",
    "unit": "bytes_per_second",
    "values": {
      "value": [{
        "datum": 0
      }]
    },
    "disk": {
      "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996",
      "id": "b14da816-37e3-46d7-8617-2e42e52db996"
    },
    "name": "data.current.read",
    "description": "Read data rate",
    "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996/statistics/33b9212b-f9cb-3fd0-b364-248fb61e1272",
    "id": "33b9212b-f9cb-3fd0-b364-248fb61e1272"
  }, {
    "kind": "gauge",
    "type": "decimal",
    "unit": "bytes_per_second",
    "values": {
      "value": [{
        "datum": 0
      }]
    },
    "disk": {
      "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996",
      "id": "b14da816-37e3-46d7-8617-2e42e52db996"
    },
    "name": "data.current.write",
    "description": "Write data rate",
    "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996/statistics/2f23addd-4ebd-3d82-a449-c28778bc33eb",
    "id": "2f23addd-4ebd-3d82-a449-c28778bc33eb"
  }, {
    "kind": "gauge",
    "type": "decimal",
    "unit": "seconds",
    "values": {
      "value": [{
        "datum": 0
      }]
    },
    "disk": {
      "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996",
      "id": "b14da816-37e3-46d7-8617-2e42e52db996"
    },
    "name": "disk.read.latency",
    "description": "Read latency",
    "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996/statistics/3a7b3f72-d035-3bb9-b196-e86a4eb34993",
    "id": "3a7b3f72-d035-3bb9-b196-e86a4eb34993"
  }, {
    "kind": "gauge",
    "type": "decimal",
    "unit": "seconds",
    "values": {
      "value": [{
        "datum": 0
      }]
    },
    "disk": {
      "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996",
      "id": "b14da816-37e3-46d7-8617-2e42e52db996"
    },
    "name": "disk.write.latency",
    "description": "Write latency",
    "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996/statistics/b1e75c7b-cea4-37d2-8459-f7d68efc69a3",
    "id": "b1e75c7b-cea4-37d2-8459-f7d68efc69a3"
  }, {
    "kind": "gauge",
    "type": "decimal",
    "unit": "seconds",
    "values": {
      "value": [{
        "datum": 0
      }]
    },
    "disk": {
      "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996",
      "id": "b14da816-37e3-46d7-8617-2e42e52db996"
    },
    "name": "disk.flush.latency",
    "description": "Flush latency",
    "href": "/ovirt-engine/api/disks/b14da816-37e3-46d7-8617-2e42e52db996/statistics/9c17ad7b-9ef1-3e8d-ad0a-ff8bee3925f0",
    "id": "9c17ad7b-9ef1-3e8d-ad0a-ff8bee3925f0"
  }]
}

So As per my understanding, It is able to retrieve 5 statistics (i.e) Read and Write Bandwidth, Read, Write and Flush Latency.

My question is, Is it possible to get the READ / WRITE IOPS of virtual disk / VM?

Thanks,
Harry

Harry
  • 191
  • 1
  • 2
  • 10

1 Answers1

0

https://bugzilla.redhat.com/show_bug.cgi?id=876697 seems to answer this question. It states that, for ovirt-engine-metrics version 3.0.7:

the collectd metrics per vm per disk from virt plugin metrics, is sufficient for this RFE.

collectd.virt.disk_ops.read collectd.virt.disk_ops.write

These metrics should allow the user to quickly / easily identify the VMs that utilized high I/O as requested in this RFE.

Disk name is saved as collectd.type_instance. VM name is saved as collectd.plugin_instance.

As for being able to aggregate storage IOPS per VM, it is not possible at this stage, since the disk name is not the drive name - it's what libvirt guesses, therefore it can't be aggregated across vms. User can log to the vm in order to be check the drive name.

AND

Aggregation part will be solved in separate BZ. Verified in ovirt-engine-metrics-1.1.3.3-1.el7ev.noarch

rolfedh
  • 101
  • 2