6 Replies Latest reply on May 12, 2017 4:26 AM by dariusd

    vprobes start issue (windows)

    stemasmais Lurker

      Goodmorning

       

      I'm using VMware workstation pro 12 on windows 10 and I'm trying to extract some information from the hypervisor with the vprobe script.

      I've added the vprobe.allow = "TRUE" on the following files

       

      C:\ProgramData\VMware\VMware Workstation\config.ini

      C:\ProgramData\VMware\VMware Workstation\settings.ini

      C:\Users\smais\AppData\Roaming\VMware`config.ini

      C:\Users\smais\Documents\Virtual Machines\ubuntu\Ubuntu 64-bit.vmx 

       

      The cpnfig.ini is the following file:

       

      installerDefaults.simplifiedUI = "no"

      authd.client.port = "902"

      authd.proxy.nfc = "vmware-hostd:ha-nfc"

      installerDefaults.autoSoftwareUpdateEnabled = "yes"

      installerDefaults.autoSoftwareUpdateEnabled.epoch = "14622"

      installerDefaults.componentDownloadEnabled = "yes"

      installerDefaults.dataCollectionEnabled = "yes"

      installerDefaults.dataCollectionEnabled.epoch = "14622"

      vprobe.allow = "TRUE"

       

      When I run vmrun with some vprobe command (vprobeListProbes, vprobeLoad, ect) I have the same result every time: Error: Unrecognized command

      vmrun is working because I can manage the vm without problems.

         

      What can I do?

        • 1. Re: vprobes start issue (windows)
          dariusd Virtuoso
          VMware EmployeesUser Moderators

          Workstation 12 no longer uses "vmrun" for vprobes control.  There should be a separate "vmware-vprobe" program for the purpose.  I don't have a Windows installation handy to check, but I'd expect it's just a vmware-vprobe.exe inside the VMware Workstation folder in Program Files.  On a Linux host, there's /usr/bin/vmware-vprobe .

           

          The same capabilities should be available through the new vmware-vprobe program, albeit with slightly different command-line syntax.

           

          Please let us know if that meets your needs!

           

          Cheers,

          --

          Darius

          • 2. Re: vprobes start issue (windows)
            dariusd Virtuoso
            User ModeratorsVMware Employees

            ... aaaaaaand I was bitten by my assumption.

             

            It looks like we no longer support vprobes on Windows hosts as of Workstation 12.  It's now only supported through the vmware-vprobe program on Linux hosts and on VMware Fusion and on the ESX hypervisor... looks like it's everything but Windows hosts.  Sorry for the misleading advice and the bad news.

             

            Thanks,

            --

            Darius

            • 3. Re: vprobes start issue (windows)
              stemasmais Lurker

              Thanks!

              To solve this problem I've installed the ESXi 6.5 but the host console still doesn't recognize the vmrun command or the vprobe commands...

              • 4. Re: vprobes start issue (windows)
                dariusd Virtuoso
                User ModeratorsVMware Employees

                The ESXi 6.5 shell simply has a vprobe command, with much the same capabilities.  Its help text says that it's called vmware-vprobe, but it looks like the help text is wrong...

                 

                Cheers,

                --

                Darius

                • 5. Re: vprobes start issue (windows)
                  stemasmais Lurker

                  It's like you said! The vprobe command it's the way to execute the vp scripts but when I create a simple vp script like this below

                   

                  (vprobe VMM1Hz

                       (printf "testing\n"))

                   

                  I obtain this error

                   

                  vprobe test.vp

                  vmware-vprobe: Failed to load script in vmkernel: cannot enable probe "VMM1Hz" Not found

                   

                   

                  and this error

                  vprobe -c test.vp -m /vmfs/volumes/<volume number>/linux/linux.vmx

                  vmware-vprobe: Compile error: Syntax error: <cmdline>: line 1, token '.'

                   

                  but the file is the same!

                   

                  The config is ok, I think, because I've set the vprobe.allow in /etc/vmware/config and the vprobe.enable in /vmfs/volumes/<volume number>/linux/linux.vmx

                  • 6. Re: vprobes start issue (windows)
                    dariusd Virtuoso
                    User ModeratorsVMware Employees

                    vprobe test.vp

                    vmware-vprobe: Failed to load script in vmkernel: cannot enable probe "VMM1Hz" Not found

                    Looks like vp scripts are no longer preferred and Emmet (.emt) is the way to do things.  At least, my super quick experiment here has been much more productive with emmett than with vp.

                     

                    Try creating test.emt with the following contents:

                     

                       VMM:VMM1Hz printf("testing\n");

                     

                    then run:

                     

                       vprobe -m /vmfs/volumes/<volume>/linux/linux.vmx test.emt

                     

                    and it should be up and running.  The -m option accepts either a full path to the .vmx file or the VMID of the vm, as shown by the vim-cmd vmsvc/getallvms command at the ESXi shell.

                     

                    and this error

                    vprobe -c test.vp -m /vmfs/volumes/<volume number>/linux/linux.vmx

                    vmware-vprobe: Compile error: Syntax error: <cmdline>: line 1, token '.'

                    You don't want the -c option here... that tells the vprobe utility to use the next argument as the literal text of an Emmett script to run.  In your case, you end up trying to run a script consisting of the literal text test.vp (not the contents of the file with that name), hence the error reported at the '.' token (which doesn't even exist within the file test.vp... but does exist in the text "test.vp").

                     

                    For instance, you can run a "hello world" Emmett script against VMID 1 like this:

                     

                       vprobe -m 1 -c 'VMM:VMM1Hz printf("Hi there\n");'

                     

                    Cheers,

                    --

                    Darius