Skip navigation
5142 Views 6 Replies Latest reply: Mar 8, 2011 2:28 PM by Rob Fisher RSS
Marvin Sorensen Newbie 2 posts since
Jan 23, 2011
Currently Being Moderated

Jan 23, 2011 3:10 PM

ESXTOP zenpack - Custom datasource

I'm trying to use zenoss + esxtop zenpack to gather information from my esxi hosts. I have the zenpack running and have added a host that shows up successfully. I have added in the credentials for the box, and can see some of the data showing up for the host, as well as VM's imported into the components section.

 

What I'm trying to gather is Physical Disk Adapter information. I copied the command template from one of the other data sources as reference to modify for my needs. I've looked at the check_esxtop script on the zenoss server to gather the information for the switches, but it doesn't appear to be working. I ran this command to make sure it was working:

 

${here/ZenPackManager/packs/ZenPacks.zenoss.EsxTop/path}/libexec/check_esxtop -u "${dev/zCommandUsername}" -p ${dev/zCommandPassword} -s ${dev/manageIp} -a

 

This spits out all of the info from resxtop, which is great. I've seen other posts asking how to narrow down the data to only what they are looking for with no answers. Either they have figured it out, and didn't respond back to their own post, or nobody has the answer. I'm not generally someone who needs to be spoon fed the answer, but I also don't see any documentation or pointers for using this tool. I'm good if I can RTFM, but I don't see as there is any.

 

This is what I have tried to do: (** NOTE ** Above command is the same except for the BOLD switches to save space)

 

Command:

 

--showdatasources

 

Results:

 

Memory Physical Cpu Load Physical Cpu Numa Node Power Group Cpu Vcpu Group Memory Physical Disk Physical Disk Adapter Physical Disk SCSI Device Physical Disk Path Physical Disk Partition Physical Disk Per-Device-Per-World Network Port Interrupt Vector PCPU Power State

 

So these are all of the datasources to choose from. Great! Getting somewhere. Until I specify the datasource as per the command below.

 

Command:

 

-d "Physical Disk Adapter"

 

Results:

 

The datasource Physical Disk Adapter requires a component in ".*%s\([0-9]*:%s\)\\(.*)"

 

So now it's looking for components within the datasource, again this is good news. I just need to specify the component that matches the regular expression above. Now I'm no master, not even novice, of regular expressions. But, I have been able to specify what I think is a component but I don't get any data back. I'm using data from the original '-a' switch to drill down to the data I want.

 

Command:

 

-d "Physical Disk Adapter" -c "(vmhba34)"

 

Results:

 

-d "Physical Disk Adapter" -c "(vmhba34)" against *IP*
DONE in 20 seconds

 

No error, but no data. Trying other components yield the same results.

 

 

Command:
-d "Physical Disk Adapter" -c "Commands"
Results:
-d "Physical Disk Adapter" -c "Commands" against *IP*
DONE in 19 seconds
Any pointers in the right directions would be great. What I'm looking for specifically is the DAVG(the data that is shown running esxtop on the esxi host directly) for the vmhba34 adapter. I'm thinking based on reading this KBhttp://communities.vmware.com/docs/DOC-9279 that I'm looking for this info for the driver level :
(vmhba34)_Average Driver Millisec_Command
                                                   Read
                                                   Write
  • Rob Fisher Rank: White Belt 11 posts since
    Mar 7, 2011
    Currently Being Moderated
    1. Mar 8, 2011 11:10 AM (in response to Marvin Sorensen)
    Re: ESXTOP zenpack - Custom datasource

    I want to do the same thing, but with the Network switches and probably will work towards iSCSI adapters as well.  Were you able to get an answer or figure something out?

  • Rob Fisher Rank: White Belt 11 posts since
    Mar 7, 2011
    Currently Being Moderated
    2. Mar 8, 2011 1:30 PM (in response to Rob Fisher)
    Re: ESXTOP zenpack - Custom datasource

    I found if you run:

     

    /opt/zenoss/ZenPacks/Ze*EsxTop*/Z*/z*/E*/libexec/check_esxtop --server=x.x.x.x --user=******** --password=******** -x -d "Network Port" -c "vSwitch3_33554435_vmnic11"

     

    It outputs the command it will use in resxtop:

     

    resxtop --server x.x.x.x --username "******" -n 1 -b "-a" 1> "/tmp/.140.32.248.22.cache"

     

    So, I think the results that we're not seeing when we run the command without the -x are being dumped into the cache file, and just not being displayed on the screen?

     

    I looked at the cache file, and it was a huge dump of esxtop data.

     

  • Rob Fisher Rank: White Belt 11 posts since
    Mar 7, 2011
    Currently Being Moderated
    4. Mar 8, 2011 12:24 PM (in response to Rob Fisher)
    Re: ESXTOP zenpack - Custom datasource

    Ok, I think I'm getting somewhere with this...

     

    First run:

     

    /opt/zenoss/ZenPacks/Ze*EsxTop*/Z*/z*/E*/libexec/check_esxtop --server=x.x.x.x --user=**** --password=***** -a | grep "Network Port"

     

    This will show all of the options for "Network Port"

     

    You should get something like this.

     

     

    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Link Up        0
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Link Speed (Mb_s)      0
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Full Duplex    0
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Packets Transmitted_sec        0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_MBits Transmitted_sec  0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Packets Received_sec   0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_MBits Received_sec     0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)__ Outbound Packets Dropped     0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)__ Received Packets Dropped     0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Actions Posted_sec     0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Multicast Packets Transmitted_sec      0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Multicast Packets Received_sec 0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Broadcast Packets Transmitted_sec      0.00
    x.x.x.x_Network Port(vSwitch0_16777217_Management)_Broadcast Packets Received_sec 0.00

     

    Now go over to the Zenoss WebUI.  Select the host, and select "EsxTopHost..." under the Monitoring Templates.

     

    I think this is where you just enter the data points based on the output... so the Name would be Network Port(vSwitch0_16777217_Management), and the Data Point would be MBits Transmitted_sec.  Then you would add those to a new Graph.  I'm working on this part now to see if I can get it to work.  I think this is close though.

  • Rob Fisher Rank: White Belt 11 posts since
    Mar 7, 2011
    Currently Being Moderated
    5. Mar 8, 2011 1:28 PM (in response to Rob Fisher)
    Re: ESXTOP zenpack - Custom datasource

    I was able to add Machine MBytes to the Memory graph, but so far.. my custom Network Port graph isn't working....

  • Rob Fisher Rank: White Belt 11 posts since
    Mar 7, 2011
    Currently Being Moderated
    6. Mar 8, 2011 2:28 PM (in response to Rob Fisher)
    Re: ESXTOP zenpack - Custom datasource

    hmmm... this is a lot of work to get this to work, and I don't think it's ever going to be quite how I'd like it.  I think it might be time to try another product.  Maybe Veeam Monitor.  There's too much customization needed to make this work.

More Like This

  • Retrieving data ...

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points