Start a Conversation

Unsolved

This post is more than 5 years old

3219

November 3rd, 2016 14:00

Performance metrics from the REST API.... how ?

Hello community,

I am trying to pull performance metrics from the VPLEX REST API. Virtual Volume performance(throughput,bytes,utilization, etc.), Director performance ,engine, etc.

So far, I've been successful at scripting out GET requests towards the API, but it cannot figure out where to get performance metrics from the api .

The following endpoint (/vplex/monitoring/directors/director-1-1-A/monitors/director-1-1-A_PERPETUAL_vplex_sys_perf_mon_v19") presents an attribute "statistics" that has the following value output.

How do I pull any of these metrics? I see no key/value correlations to any of these.

Help please

{

                        "name": "statistics",

                        "value": [

                            "directory.ops-local",

                            "rp-spl-node.write-avg-lat",

                            "director.be-ops-ws",

                            "director.be-ops",

                            "director.fe-ops",

                            "ramf.exp-op",

                            "ip-com-port.send-drops",

                            "director.fe-ops-act",

                            "com-cluster-io.min-lat",

                            "directory.ops-rem",

                            "fe-director.ws16-ops",

                            "directory.dir-total",

                            "fe-director.caw-avg-lat",

                            "fe-prt.write-avg-lat",

                            "director.be-unitattns",

                            "director.fe-ops-write",

                            "fe-director.write-avg-lat",

                            "fe-director.ws16-avg-lat",

                            "director.be-qfulls",

                            "ip-com-port.max-latency",

                            "director.per-cpu-busy",

                            "ip-com-port.send-bytes",

                            "director.busy",

                            "director.fe-ops-q",

                            "director.dr1-rbld-sent",

                            "ramf.imp-op",

                            "be-prt.read",

                            "director.be-busies",

                            "ip-com-port.recv-pckts",

                            "ip-com-port.send-pckts",

                            "rp-spl-node.write-active",

                            "fe-director.xcopy-ops",

                            "ramf.cur-op",

                            "director.dr1-rbld-recv",

                            "director.be-resets",

                            "director.udt-pckt-retrans",

                            "ramf.exp-rd",

                            "ip-com-port.ops-queued",

                            "director.fe-ops-read",

                            "ramf.exp-wr",

                            "cache.dirty",

                            "fe-director.aborts",

                            "cache.rhit",

                            "fe-director.caw-ops",

                            "com-cluster-io.max-lat",

                            "cache.miss",

                            "rp-spl-node.write",

                            "directory.chk-total",

                            "director.udt-send-bytes",

                            "ramf.imp-rd",

                            "ip-com-port.ops-active",

                            "rp-spl-node.write-ops",

                            "storage-volume.read-avg-lat",

                            "fe-prt.ops",

                            "director.be-aborts",

                            "director.udt-send-pckts",

                            "fe-prt.read",

                            "fe-director.xcopy-avg-lat",

                            "director.fe-write",

                            "ip-com-port.recv-bytes",

                            "ip-com-port.recv-drops",

                            "director.be-read",

                            "director.udt-recv-bytes",

                            "director.be-timeouts",

                            "fe-prt.read-avg-lat",

                            "ip-com-port.bytes-active",

                            "ip-com-port.pckt-retrans",

                            "director.fe-read",

                            "com-cluster-io.avg-lat",

                            "director.udt-conn-drop",

                            "directory.ch-remote",

                            "director.be-write",

                            "fe-director.read-avg-lat",

                            "storage-volume.write-same-avg-lat",

                            "director.udt-recv-pckts",

                            "ip-com-port.min-latency",

                            "ip-com-port.bytes-queued",

                            "be-prt.write",

                            "director.be-ws",

                            "director.async-write",

                            "ramf.imp-wr",

                            "storage-volume.write-avg-lat",

                            "director.be-ops-write",

                            "cache.subpg",

                            "ip-com-port.avg-latency",

                            "directory.dr-remote",

                            "director.udt-send-drops",

                            "director.udt-recv-drops",

                            "fe-prt.write",

                            "director.heap-used",

                            "director.be-ops-read"

                        ]

                    },

13 Posts

November 7th, 2016 09:00

Does nobody have any input on these key value pairs under statistics ?

November 7th, 2016 14:00

Hi krutoy64 , how are you planning to use these metrics ?? Have you tried vplex performance monitor ? I am curious to know your use case. I've done similar data collection in past using vplexcli method and done a bit of plotting using dbplot.

13 Posts

November 7th, 2016 15:00

I am writing a script to pull out any necessary metrics to reflect both health and performance of the system. I do not plan on using vplex performance monitor.

As it stands, I have access to only the REST API (credentials work for vplexCLI but it doesn't seem possible to script an SSH login as the it's interactive from the management server).

I was looking at trying to send a POST command to get 'cluster+summary' and all the other available commands, but it cannot get it properly working.

I was hoping there was a way of pulling something like '/vplex/monitoring/directors/director-1-1-A/monitors/director-1-1-A_PERPETUAL_vplex_sys_perf_mon_v19/statistics/fe-prt.write-avg-lat' and parse that data myself.

Ayrton*Senna if you have any feedback/suggestions, that would be incredibly helpful

November 9th, 2016 09:00

Understood, you can use ssh and expect method and pull out necessary outputs.You need to setup ssh key between your machine and vplex mgmt server. If you are not familiar, Support folks can help you on that. Read this post, How script Vplexcli

If you want more details, share your mail info. I can explain in greater detail.

13 Posts

November 29th, 2016 11:00

Thank you Ayrton*Senna

Ended up getting everything via VplexCLI.

A bit sad that performance metrics aren't redly available via the REST API.

21 Posts

July 3rd, 2017 09:00

I opened a post similar to your question- I was able to setup monitors and sinks for the data I needed. Now I'm wondering if there is a way to pull the stats being written to the sink through the rest api. The csv that is created currently is pretty useful though, and I've considered cronning a scp job to pull that file every minute, delete and convert the data to json then write to a influxdb store that will be queried by Grafana. But pulling the data then deleting it seems kind of dirty, so a native REST call would be awesome.

How did you resolve the issue?

No Events found!

Top