Oct 27, 2010 11:05 PM
ESX/ESXi esxtop zenpack - listing more than just VMs
-
Like (0)
I'm trying to get the ESX/ESXi esxtop working, and I'm very excited about it's potential!
-I upgraded from 3.0.2 to 3.0.3 today
-ZenPacks.zenoss.EsxTop = 1.0.2
-ZenPacks.zenoss.ZenossVirtualHostMonitor = 2.3.6
-openssl = 0.9.8e-12.el5_4.6
-ESXi 4.1 host is in /Server/Virtual Machine Host/EsxTop
I followed all the steps. Instead of just seeing the guest VMs under components/virtual machines/ I see about 105 extra things. They appear to be processes and devices on the ESXi host.The last test command from the setup steps shows the same thing (see below). It seems as if maybe the --showvms switch isn't working for me?
Thanks,
Matthew
[zenoss@nshplmon1 libexec]$ $ZENHOME/ZenPacks/Ze*EsxTop*/Z*/z*/E*/libexec/check_esxtop --server=NSHPVMW1.unix --user=root --password=********** --showvms
minfree
vmvisor
fastslab
asyncTokenSlab
asyncTokenFrameSlab
netPageSlab
ScsiCmd
ScsiDeviceCommandFrame
ScsiMidlayerFrameSlab
ScsiFragmentFrameSlab
ScsiSplitInfoSlab
sgArray7
I also have this problem with 3.0.3 and ESXi 4.0
The resxtop command doesn't actually supply us with a list of VMs, so the check_esxtop command guesses them given the process listing (as you've already surmised). At the moment the list of names to ignore is in the check_esxtop script itself, and will need to be modified.
Edit the ZenPack's libexec/check_esxtop command and add the strings to exclude to the VmPrinter class. Specifically, the 'notVms' array or the 'notVmsRegexes' regular array.
Seeing as how there are two reports of this already, I'm opened an enhancement ticket to make this a little more flexible.
http://dev.zenoss.com/trac/ticket/7461 Allow more flexibility in determing VMs
kells
Got. FYI, here are the 2 lists of process and devices I'm working with
so far. First column is notVms and second column is notVmsRegexes
aam bnx2i_vmnic0
aam.vgz ash.9956
AAMconfig busybox.4447
ash cimslp.6265576
asyncTokenFrameSlab dcui.9957
asyncTokenSlab ftAgent.26725
busybox ftbackbone.26713
cimslp ftbb.26711
dcui ftPerl.26849
dropbearmulti ftPerl.26859
emulex ftProcMon.27326
fastslab ftRuleManager.26787
hostd ftStateMon.26756
hostdstats hostd.5167
init init.4232
lbt net-lbt.5152
likewise nssquery.26908
lsi_storage ntpd.5001
main openwsmand.5361
MAINSYS scsiCommandSlab164
netPageSlab sensord.5130
ntpd sfcb-ProviderMa.2958475
nursery sgArray11
orphan sh.5049
plugins slpd.5190
pvscsiSlab storageRM.5108
pycim vmkeventd.4430
qlgc vmklogger.4451
ScsiCmd vmware-usbarbitrato.5492
ScsiDeviceCommandFrame vprobed.5059
ScsiFragmentFrameSlab vpxa.5405
ScsiMidlayerFrameSlab
ScsiSplitInfoSlab
sfcb
sfcb_xml
sh
shell
slp
slpd
smx
smx-interop
tmp
updatestg
visorfs
vmklogger
vmmData
vmvisor
vmware_aux
vmware_base
vmware_int
vmware_raw
vpxa
vpxa.vgz
VSCSIAsyncIODoneFrame
vscsiData
vscsiSG
wsman
That didn't turn out to be too hard. Here are the strings I added (below). This took care of it for me.
'bnx2i_vmnic[0-9]+',
'ash\.[0-9]+',
'busybox\.[0-9]+',
'cimslp\.[0-9]+',
'dcui\.[0-9]+',
'ftAgent\.[0-9]+',
'ftbackbone\.[0-9]+',
'ftbb\.[0-9]+',
'ftPerl\.[0-9]+',
'ftProcMon\.[0-9]+',
'ftRuleManager\.[0-9]+',
'ftStateMon\.[0-9]+',
'hostd\.[0-9]+',
'init\.[0-9]+',
'net-lbt\.[0-9]+',
'nssquery\.[0-9]+',
'ntpd\.[0-9]+',
'openwsmand\.[0-9]+',
'scsiCommandSlab[0-9]+',
'sensord\.[0-9]+',
'sfcb-ProviderMa\.[0-9]+',
'sgArray[0-9]+',
'sh\.[0-9]+',
'slpd\.[0-9]+',
'storageRM\.[0-9]+',
'vmkeventd\.[0-9]+',
'vmklogger\.[0-9]+',
'vmware-usbarbitrato\.[0-9]+',
'vprobed\.[0-9]+',
'vpxa\.[0-9]+',
'aam',
'aam.vgz',
'AAMconfig',
'ash',
'asyncTokenFrameSlab',
'asyncTokenSlab',
'busybox',
'cimslp',
'dcui',
'dropbearmulti',
'emulex',
'fastslab',
'hostd',
'hostdstats',
'init',
'lbt',
'likewise',
'lsi_storage',
'main',
'MAINSYS',
'minfree',
'netPageSlab',
'ntpd',
'nursery',
'orphan',
'plugins',
'pvscsiSlab',
'pycim',
'qlgc',
'ScsiCmd',
'ScsiDeviceCommandFrame',
'ScsiFragmentFrameSlab',
'ScsiMidlayerFrameSlab',
'ScsiSplitInfoSlab',
'sfcb',
'sfcb_xml',
'sh',
'shell',
'slp',
'slpd',
'smx',
'smx-interop',
'tmp',
'updatestg',
'visorfs',
'vmklogger',
'vmmData',
'vmvisor',
'vmware_aux',
'vmware_base',
'vmware_int',
'vmware_raw',
'vpxa',
'vpxa.vgz',
'VSCSIAsyncIODoneFrame',
'vscsiData',
'vscsiSG',
'wsman',
That didn't turn out to be too hard. Here are the strings I added
(below). This took care of it for me.
'bnx2i_vmnic[0-9]+',
'ash\.[0-9]+',
'busybox\.[0-9]+',
'cimslp\.[0-9]+',
'dcui\.[0-9]+',
'ftAgent\.[0-9]+',
'ftbackbone\.[0-9]+',
'ftbb\.[0-9]+',
'ftPerl\.[0-9]+',
'ftProcMon\.[0-9]+',
'ftRuleManager\.[0-9]+',
'ftStateMon\.[0-9]+',
'hostd\.[0-9]+',
'init\.[0-9]+',
'net-lbt\.[0-9]+',
'nssquery\.[0-9]+',
'ntpd\.[0-9]+',
'openwsmand\.[0-9]+',
'scsiCommandSlab[0-9]+',
'sensord\.[0-9]+',
'sfcb-ProviderMa\.[0-9]+',
'sgArray[0-9]+',
'sh\.[0-9]+',
'slpd\.[0-9]+',
'storageRM\.[0-9]+',
'vmkeventd\.[0-9]+',
'vmklogger\.[0-9]+',
'vmware-usbarbitrato\.[0-9]+',
'vprobed\.[0-9]+',
'vpxa\.[0-9]+',
'aam',
'aam.vgz',
'AAMconfig',
'ash',
'asyncTokenFrameSlab',
'asyncTokenSlab',
'busybox',
'cimslp',
'dcui',
'dropbearmulti',
'emulex',
'fastslab',
'hostd',
'hostdstats',
'init',
'lbt',
'likewise',
'lsi_storage',
'main',
'MAINSYS',
'minfree',
'netPageSlab',
'ntpd',
'nursery',
'orphan',
'plugins',
'pvscsiSlab',
'pycim',
'qlgc',
'ScsiCmd',
'ScsiDeviceCommandFrame',
'ScsiFragmentFrameSlab',
'ScsiMidlayerFrameSlab',
'ScsiSplitInfoSlab',
'sfcb',
'sfcb_xml',
'sh',
'shell',
'slp',
'slpd',
'smx',
'smx-interop',
'tmp',
'updatestg',
'visorfs',
'vmklogger',
'vmmData',
'vmvisor',
'vmware_aux',
'vmware_base',
'vmware_int',
'vmware_raw',
'vpxa',
'vpxa.vgz',
'VSCSIAsyncIODoneFrame',
'vscsiData',
'vscsiSG',
'wsman',
I am not seeing a virtual machines tab under components. I verified that esxtop is configured correctly, device is in /.../EsxTop device class with correct zCommandUsername and password and SNMP community. When I run a verbose remodel of the ESX host on the command line I see the list of VMs printed via call to check_esxtop (and the CPU and Memory stats as well) but there is no component container for VMs in the web interface. I see the esxtop memory and cpu stats in the graphs but that is all.
Any ideas?
Chock
Regex did the trick. But unfortunately, there is no component showing up on my device page. When i model the device with debug, it seems to work ok but it says: "No change in configuration detected"
When you run
zenmodeler run -v10 -d deviceName
do you see any warning or error messages? Any tracebacks? Are there any messages in the zenhub.log file that may indicate other issues?
Also, when you say that there are graphs for the hosts, are the graphs populated with actual data or are they empty?
kells
As I mentioned when I do a zenmodel I see that esxtop lists the VMs just
fine. The graphs for esxtop (cpu and mem) are showing the data so the
zencommand collection is working fine.
I hadn't thought of looking at zenhub.log. Indeed it does indicate a
problem:
2010-10-29 08:18:45,307 WARNING zen.ApplyDataMap: no
relationship:guestDevices found on:my-esx-target (
ZenPacks.zenoss.ZenossVirtualHostMonitor.VirtualMachineHost)
Not sure what I should do about this.
Chock
If there's a relations problem then it's probably best to re-install the ZenossVirtualHostMonitor zenpack and then do a
zenoss restart
kells
I had done that already. I just deleted device, re-added, remodeled and
now I see the Virtual Machines in the components!
Thanks for the suggestion.
Nope, no tracebacks. The check_esxtop seem to work fine as it lists all my devices.
The EsxTop monitoring template is graphing the host ok. I just don't see my VMs in components
Same problem that I had. Do you get the relations error in zenhub.log
that I mentioned earlier in this thread?
Try to reinstall the VirtualHostMonitor zenpack (I didn't remove it, just
reinstalled it), delete the ESX device and re-add it. Configure
zCommandUsername and zCommandPassword, remodel.
See if that works.
Any way to maybe use an include method for getting vm's? For instance if all our vm's are using fqdn names then only show processes with *.google.com instead of trying to guess/predict all future process names.
I would think both include and exclude options would be needed for maximum flexibility, but for those that have a standard naming convention might be able to use that to filter the vm list.
Robert
Follow Us On Twitter »
|
Latest from the Zenoss Blog » | Community | Products | Services Resources | Customers Partners | About Us | ||
Copyright © 2005-2011 Zenoss, Inc.
|
||||||||