Overview
OPMONis is communicating over network with the systems to be controlled. For the different actions following protocols are used:
System Type | Aktion
Request Status |
Action Shutdown | Action Power On | Action Check Status |
Windows | Ping | WMI | WOL | Ping |
Linux | Ping | SSH | WOL | Ping |
ESXi Host | Ping | vSphere Web Services | WOL | Ping |
ESXi Client (VM) | vSphere Web Services | vSphere Web Services | vSphere Web Services | vSpere Web Services |
Free ESXi Host | Ping | SSH | WOL | Ping |
Free ESXi Client (VM) | SSH | SSH | SSH | SSH |
XenServer Host | Ping | Xen API | WOL | Ping |
XenServer Client (VM) | Xen API | Xen API | Xen API | Xen API |
Hyper-V Host | Ping | WMI | WOL | Ping |
Hyper-V Client (VM) | WMI | WMI | WMI | WMI |
The protocols in detail
Protocol “Ping”
The “Ping” protocol is used by OPMONis to request the status of a system. For this the Ping protocol is sending an “Echo-Request” package to the network address of the system and awaits the receiving of the “Echo-Reply”. A missing “Echo-Reply” or a dedicated error message in an “Echo-Reply” will be interpreted as if the system is offline.
In case of a missing “Echo-Reply” the request will be repeated up to three times, with a delay of a maximum of 5 seconds in order to avoid short-dated errors in the network.
Protocol “Wake on Lan” (WoL)
The “Wake on Lan” protocol is used by OPMONis to power on an offline system through network. For this a “magic packet” is sent directly to the network address of the target system. The network card of the target system is defined by the MAC address.
Unfortunately, the target system will not send a confirmation of receiving or a successful processing of the “WoL” order. That is why OPMONis will send several “magic packets” during the action “Request Status”.
Protocol “WMI”
The “WMI” protocol (Windows Management Instrumentation) is used by OPMONis to shut down Windows systems via network. For this OPMONis will execute a shutdown command on the System (Win32_OperationSystem) via WMI. Windows is requested to shut down the system even if an application is not reacting to the shutdown trigger by setting the flag “ForcedShutdown”
Protocol “SSH” for Linux
The “SSH” (Secure Shell) protocol is used by OPMONis to shut down a Linux system via network. For this a shell command is executed on the Linux system. As a standard following command line is executed:
sudo --reset-timestamp --shell --stdin --background sh -c \"sleep 1 && shutdown -P +0\" <<< {Password}
This shell command in detail:
- sudo
starting a command as „root“ user with the password of the actual user - Parameter reset-timestamp
deleting a possibly cached password from an earlier „sudo“ command, forcing a password request - Parameter shell
starting a shell conform to the user configuration on the Linux system. - Parameter stdin
reading the password from standard input (making input redirect possible) - Parameter background
starting for the following command in a new process and allowing the execution in the background. - Befehl sh -c “sleep 1 && shutdown -P +0”
starting a new shell, waiting for one second and triggering immediate shutdown - <<< {Password}
entering the password by input redirect to the sudo command
Protocol “SSH” for free ESXi Host
The “SSH” (Secure Shell) protocol is used by OPMONis to manage virtual machines running on a free ESXi host via network.
OPMONis uses the command “vim-cmd vmsvc/getallvms” to query registered virtual machines. By using the “vim-cmd vmsvc/power” commands OPMONis is triggering the shutdown and startup of virtual machines and queries the current power state.
Protocol “vShpere Web Services”
The “vSpere Web Services” protocol is used by OPMONis to control an ESXi Host and the virtual machines that are running there. The “vSpere Web Services” is allowing access to the “vSpere Management APIs” via network.
With this management API it is possible to control the virtual machines as well as the ESXi host systems (Power On, Shutdown, Shutdown guest systems).
Protocol “Xen API”
The Citrix XenServer Management API is provided by citrix and used a network connection to control a Xen Host and virtual machines running on a Xen Host.