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

Correlating multiple disk entities within host entity using Metrics API

snikolic
Participant

Hi,

I have a set of python scripts used for extract of timeseries metrics using Metrics API v2. Reason is to repetitively extract detailed statistics for long term capacity planning - to avoid the issue that eventually, when the data is needed for planning - dynatrace would have long summarised it in hourly or daily averages. Yep - capacity planners do like to have access to piles of data (different discussion).

Staying on topic... I am unable to figure out how to correlate multiple attached entities to host entity. For example in human readable form host is usually a hostName not entitiyId that looks like 'HOST-XXXXXXXXX'. That host usually has multiple disks attached, each with its own metrics:

so:

HOST-1234567 (myhost.com): DISK-12345 (C:\), DISK-12346 (F:\)

I am unable to create the relationship that allows me to extract disk utilisation data for:

myhost.com/disk-c:
myhost.com/disk-f:

My process is to - find a host from the list of all host entities by matching hostName from the resulting list of hosts entities.

I can then use this entity to extract CPU/MEMORY time series data - that is fine

BUT, I can't find the way of extracting DISK utilisation for a particular disk. Interestingly, the Metrics v2 API returns this:

 

"metrics": {
        "builtin:host.disk.used": {
            "series": [
                {
                    "dimensions": [
                        "HOST-9483C7D89472AF43",
                        "DISK-51D7D5BE9D2A1FE2"
                    ],
                    "values": [
                        {
                            "timestamp": 1568095200000,
                            "value": 5.170616996598518E10
                        },
ETC...

 

I can't, for the life of me, find what the "DISK-51D7D5BE9D2A1FE2" actually is - is it a C:\ or F:\ drive? There seem to be no way of correlating these or even finding out the 'human readable' description/name of the entity/device. The devices are not listed in the host entity detailed information.

Anyone can point me in the direction of how the configuration (host:disk[X] or host:cpu[x] or host:netinterface[X]) works? Docs? Tutorials? Any API architects? Any E-R diagrams of how the structure is supposed to look like? Any Dynatrace API libraries usable by python that allow something like 'getDiskByHostName(host)' lol ?

Thanks for reading this...

 

 

3 REPLIES 3

For now the only way I've found is checking dynatrace page source on disk dashboard:

debugid is what you need... You're right I don't see and API endpoint that is able to resolve it.

Sebastian


Thanks @sebastian k., good point. It is a bit of a workaround, as I need to fish out the disk entity Id's manually and add them to my configuration list, but solution is good enough for now, until the API matures.



Happy to hear that I've helped 🙂